@musodojo/music-theory-data 20.0.0 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/package.json +1 -1
- package/src/data/labels/note-labels.ts +112 -14
- package/src/utils/midi-note-sequences.ts +4 -1
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -482,7 +482,6 @@ export const intervalQualityToIntegerMap: ReadonlyMap<
|
|
|
482
482
|
][],
|
|
483
483
|
);
|
|
484
484
|
|
|
485
|
-
//TODO: add beyond an octave
|
|
486
485
|
const _intervalToIntervalQualityMap = {
|
|
487
486
|
"𝄫1": "dd1",
|
|
488
487
|
"♭1": "d1",
|
|
@@ -491,14 +490,14 @@ const _intervalToIntervalQualityMap = {
|
|
|
491
490
|
"♯1": "A1",
|
|
492
491
|
"𝄪1": "AA1",
|
|
493
492
|
|
|
494
|
-
"𝄫2": "
|
|
493
|
+
"𝄫2": "d2",
|
|
495
494
|
"♭2": "m2",
|
|
496
495
|
"2": "M2",
|
|
497
496
|
"♮2": "M2",
|
|
498
497
|
"♯2": "A2",
|
|
499
498
|
"𝄪2": "AA2",
|
|
500
499
|
|
|
501
|
-
"𝄫3": "
|
|
500
|
+
"𝄫3": "d3",
|
|
502
501
|
"♭3": "m3",
|
|
503
502
|
"3": "M3",
|
|
504
503
|
"♮3": "M3",
|
|
@@ -519,19 +518,75 @@ const _intervalToIntervalQualityMap = {
|
|
|
519
518
|
"♯5": "A5",
|
|
520
519
|
"𝄪5": "AA5",
|
|
521
520
|
|
|
522
|
-
"𝄫6": "
|
|
521
|
+
"𝄫6": "d6",
|
|
523
522
|
"♭6": "m6",
|
|
524
523
|
"6": "M6",
|
|
525
524
|
"♮6": "M6",
|
|
526
525
|
"♯6": "A6",
|
|
527
526
|
"𝄪6": "AA6",
|
|
528
527
|
|
|
529
|
-
"𝄫7": "
|
|
528
|
+
"𝄫7": "d7",
|
|
530
529
|
"♭7": "m7",
|
|
531
530
|
"7": "M7",
|
|
532
531
|
"♮7": "M7",
|
|
533
532
|
"♯7": "A7",
|
|
534
533
|
"𝄪7": "AA7",
|
|
534
|
+
|
|
535
|
+
"𝄫8": "dd8",
|
|
536
|
+
"♭8": "d8",
|
|
537
|
+
"8": "P8",
|
|
538
|
+
"♮8": "P8",
|
|
539
|
+
"♯8": "A8",
|
|
540
|
+
"𝄪8": "AA8",
|
|
541
|
+
|
|
542
|
+
"𝄫9": "d9",
|
|
543
|
+
"♭9": "m9",
|
|
544
|
+
"9": "M9",
|
|
545
|
+
"♮9": "M9",
|
|
546
|
+
"♯9": "A9",
|
|
547
|
+
"𝄪9": "AA9",
|
|
548
|
+
|
|
549
|
+
"𝄫10": "d10",
|
|
550
|
+
"♭10": "m10",
|
|
551
|
+
"10": "M10",
|
|
552
|
+
"♮10": "M10",
|
|
553
|
+
"♯10": "A10",
|
|
554
|
+
"𝄪10": "AA10",
|
|
555
|
+
|
|
556
|
+
"𝄫11": "dd11",
|
|
557
|
+
"♭11": "d11",
|
|
558
|
+
"11": "P11",
|
|
559
|
+
"♮11": "P11",
|
|
560
|
+
"♯11": "A11",
|
|
561
|
+
"𝄪11": "AA11",
|
|
562
|
+
|
|
563
|
+
"𝄫12": "dd12",
|
|
564
|
+
"♭12": "d12",
|
|
565
|
+
"12": "P12",
|
|
566
|
+
"♮12": "P12",
|
|
567
|
+
"♯12": "A12",
|
|
568
|
+
"𝄪12": "AA12",
|
|
569
|
+
|
|
570
|
+
"𝄫13": "d13",
|
|
571
|
+
"♭13": "m13",
|
|
572
|
+
"13": "M13",
|
|
573
|
+
"♮13": "M13",
|
|
574
|
+
"♯13": "A13",
|
|
575
|
+
"𝄪13": "AA13",
|
|
576
|
+
|
|
577
|
+
"𝄫14": "d14",
|
|
578
|
+
"♭14": "m14",
|
|
579
|
+
"14": "M14",
|
|
580
|
+
"♮14": "M14",
|
|
581
|
+
"♯14": "A14",
|
|
582
|
+
"𝄪14": "AA14",
|
|
583
|
+
|
|
584
|
+
"𝄫15": "dd15",
|
|
585
|
+
"♭15": "d15",
|
|
586
|
+
"15": "P15",
|
|
587
|
+
"♮15": "P15",
|
|
588
|
+
"♯15": "A15",
|
|
589
|
+
"𝄪15": "AA15",
|
|
535
590
|
} as const;
|
|
536
591
|
|
|
537
592
|
export const intervalToIntervalQualityMap: ReadonlyMap<
|
|
@@ -544,7 +599,6 @@ export const intervalToIntervalQualityMap: ReadonlyMap<
|
|
|
544
599
|
][],
|
|
545
600
|
);
|
|
546
601
|
|
|
547
|
-
//TODO: add beyond an octave
|
|
548
602
|
const _intervalQualityToIntervalMap = {
|
|
549
603
|
"dd1": "𝄫1",
|
|
550
604
|
"d1": "♭1",
|
|
@@ -552,15 +606,13 @@ const _intervalQualityToIntervalMap = {
|
|
|
552
606
|
"A1": "♯1",
|
|
553
607
|
"AA1": "𝄪1",
|
|
554
608
|
|
|
555
|
-
"
|
|
556
|
-
"d2": "♭2",
|
|
609
|
+
"d2": "𝄫2",
|
|
557
610
|
"m2": "♭2",
|
|
558
611
|
"M2": "2",
|
|
559
612
|
"A2": "♯2",
|
|
560
613
|
"AA2": "𝄪2",
|
|
561
614
|
|
|
562
|
-
"
|
|
563
|
-
"d3": "♭3",
|
|
615
|
+
"d3": "𝄫3",
|
|
564
616
|
"m3": "♭3",
|
|
565
617
|
"M3": "3",
|
|
566
618
|
"A3": "♯3",
|
|
@@ -578,19 +630,65 @@ const _intervalQualityToIntervalMap = {
|
|
|
578
630
|
"A5": "♯5",
|
|
579
631
|
"AA5": "𝄪5",
|
|
580
632
|
|
|
581
|
-
"
|
|
582
|
-
"d6": "♭6",
|
|
633
|
+
"d6": "𝄫6",
|
|
583
634
|
"m6": "♭6",
|
|
584
635
|
"M6": "6",
|
|
585
636
|
"A6": "♯6",
|
|
586
637
|
"AA6": "𝄪6",
|
|
587
638
|
|
|
588
|
-
"
|
|
589
|
-
"d7": "♭7",
|
|
639
|
+
"d7": "𝄫7",
|
|
590
640
|
"m7": "♭7",
|
|
591
641
|
"M7": "7",
|
|
592
642
|
"A7": "♯7",
|
|
593
643
|
"AA7": "𝄪7",
|
|
644
|
+
|
|
645
|
+
"dd8": "𝄫8",
|
|
646
|
+
"d8": "♭8",
|
|
647
|
+
"P8": "8",
|
|
648
|
+
"A8": "♯8",
|
|
649
|
+
"AA8": "𝄪8",
|
|
650
|
+
|
|
651
|
+
"d9": "𝄫9",
|
|
652
|
+
"m9": "♭9",
|
|
653
|
+
"M9": "9",
|
|
654
|
+
"A9": "♯9",
|
|
655
|
+
"AA9": "𝄪9",
|
|
656
|
+
|
|
657
|
+
"d10": "𝄫10",
|
|
658
|
+
"m10": "♭10",
|
|
659
|
+
"M10": "10",
|
|
660
|
+
"A10": "♯10",
|
|
661
|
+
"AA10": "𝄪10",
|
|
662
|
+
|
|
663
|
+
"dd11": "𝄫11",
|
|
664
|
+
"d11": "♭11",
|
|
665
|
+
"P11": "11",
|
|
666
|
+
"A11": "♯11",
|
|
667
|
+
"AA11": "𝄪11",
|
|
668
|
+
|
|
669
|
+
"dd12": "𝄫12",
|
|
670
|
+
"d12": "♭12",
|
|
671
|
+
"P12": "12",
|
|
672
|
+
"A12": "♯12",
|
|
673
|
+
"AA12": "𝄪12",
|
|
674
|
+
|
|
675
|
+
"d13": "𝄫13",
|
|
676
|
+
"m13": "♭13",
|
|
677
|
+
"M13": "13",
|
|
678
|
+
"A13": "♯13",
|
|
679
|
+
"AA13": "𝄪13",
|
|
680
|
+
|
|
681
|
+
"d14": "𝄫14",
|
|
682
|
+
"m14": "♭14",
|
|
683
|
+
"M14": "14",
|
|
684
|
+
"A14": "♯14",
|
|
685
|
+
"AA14": "𝄪14",
|
|
686
|
+
|
|
687
|
+
"dd15": "𝄫15",
|
|
688
|
+
"d15": "♭15",
|
|
689
|
+
"P15": "15",
|
|
690
|
+
"A15": "♯15",
|
|
691
|
+
"AA15": "𝄪15",
|
|
594
692
|
} as const;
|
|
595
693
|
|
|
596
694
|
export const intervalQualityToIntervalMap: ReadonlyMap<
|
|
@@ -8,13 +8,13 @@ export type MidiNoteSequenceDirection =
|
|
|
8
8
|
| "ascending-descending"
|
|
9
9
|
| "descending-ascending";
|
|
10
10
|
|
|
11
|
-
// TODO: add property `restsAtEnd` to add null values to array end
|
|
12
11
|
export interface MidiNoteSequenceOptions {
|
|
13
12
|
rootNoteMidi: MidiNoteNumber;
|
|
14
13
|
intervals: Interval[];
|
|
15
14
|
direction: MidiNoteSequenceDirection;
|
|
16
15
|
startFromIndex?: number;
|
|
17
16
|
filterOutOctave?: boolean;
|
|
17
|
+
restsAtEnd?: number;
|
|
18
18
|
numNotes?: number;
|
|
19
19
|
numOctaves?: number;
|
|
20
20
|
extraNotes?: number;
|
|
@@ -109,6 +109,7 @@ export function getMidiNoteSequence(
|
|
|
109
109
|
filterOutOctave = true,
|
|
110
110
|
numNotes,
|
|
111
111
|
numOctaves = 1,
|
|
112
|
+
restsAtEnd = 0,
|
|
112
113
|
extraNotes = 0,
|
|
113
114
|
} = options;
|
|
114
115
|
|
|
@@ -164,5 +165,7 @@ export function getMidiNoteSequence(
|
|
|
164
165
|
}
|
|
165
166
|
}
|
|
166
167
|
|
|
168
|
+
if (restsAtEnd > 0) sequence.push(...Array(restsAtEnd).fill(null));
|
|
169
|
+
|
|
167
170
|
return sequence;
|
|
168
171
|
}
|