@musodojo/music-theory-data 16.1.1 → 17.0.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 CHANGED
@@ -6,6 +6,10 @@ more.**
6
6
  > **Note:** This library is currently under review for accuracy. Please verify
7
7
  > data before use in a critical application.
8
8
 
9
+ ## Discord
10
+
11
+ **[Join the Muso Dojo Community on Discord!](https://discord.gg/7nrnVmmH)**
12
+
9
13
  ## Verified Note Collections
10
14
 
11
15
  - ✅ Diatonic Modes
@@ -14,7 +18,7 @@ more.**
14
18
  - 🛠️ Minor Variants
15
19
  - 🛠️ Dominant Variants
16
20
  - ✅ Harmonic Minor Modes
17
- - 🛠️ Melodic Minor Modes
21
+ - Melodic Minor Modes
18
22
  - 🛠️ Diminished Variants
19
23
  - 🛠️ Augmented Variants
20
24
  - 🛠️ Other Note Collections
@@ -70,16 +74,19 @@ The code below shows how to access and print some of the data.
70
74
  import * as music_theory_data from "jsr:@musodojo/music-theory-data";
71
75
 
72
76
  // Get the notes of A Harmonic Minor
73
- const notes = music_theory_data.getNoteNamesFromRootAndCollectionKey(
77
+ const notes1 = music_theory_data.getNoteNamesFromRootAndCollectionKey(
74
78
  "A",
75
79
  "harmonicMinor",
76
80
  );
77
- console.log(notes);
81
+ console.log(notes1);
78
82
  // ["A", "B", "C", "D", "E", "F", "G♯", "A"]
79
83
 
80
84
  // Automatically knows whether to use flats or sharps
81
- notes = music_theory_data.getNoteNamesFromRootAndCollectionKey("F", "ionian");
82
- console.log(notes);
85
+ const notes2 = music_theory_data.getNoteNamesFromRootAndCollectionKey(
86
+ "F",
87
+ "ionian",
88
+ );
89
+ console.log(notes2);
83
90
  // ["F", "G", "A", "B♭", "C", "D", "E", "F"];
84
91
 
85
92
  // Get the full data structure for the Ionian mode (Major Scale)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@musodojo/music-theory-data",
3
- "version": "16.1.1",
3
+ "version": "17.0.0",
4
4
  "description": "The musician-friendly TypeScript library for modes, scales, chords, and more.",
5
5
  "keywords": [
6
6
  "music",
@@ -42,6 +42,7 @@ const halfDiminished7: ChordCollection = {
42
42
 
43
43
  const wholeHalfDiminished: ScaleCollection = {
44
44
  category: "scale",
45
+ rotation: 0,
45
46
  primaryName: "Whole Half Diminished",
46
47
  names: ["Whole Half Diminished"],
47
48
  intervals: ["1", "2", "♭3", "4", "♭5", "♭6", "6", "7", "8"],
@@ -54,6 +55,7 @@ const wholeHalfDiminished: ScaleCollection = {
54
55
 
55
56
  const halfWholeDiminished: ScaleCollection = {
56
57
  category: "scale",
58
+ rotation: 1,
57
59
  primaryName: "Half Whole Diminished",
58
60
  names: ["Half Whole Diminished", "Dominant Diminished"],
59
61
  intervals: ["1", "♭2", "♭3", "3", "♯4", "5", "6", "♭7", "8"],
@@ -114,8 +114,13 @@ const dorianSharp4: ScaleCollection = {
114
114
  ],
115
115
  intervals: ["1", "2", "♭3", "♯4", "5", "6", "♭7", "8"],
116
116
  integers: [0, 2, 3, 6, 7, 9, 10],
117
- type: ["harmonic minor mode", "minor", "scale", "heptatonic"],
118
- characteristics: ["exotic minor", "eastern european folk", "gypsy"],
117
+ type: ["harmonic minor mode", "minor", "scale", "mode", "heptatonic"],
118
+ characteristics: [
119
+ "exotic minor",
120
+ "eastern european folk",
121
+ "gypsy",
122
+ "fourth mode of harmonic minor",
123
+ ],
119
124
  pattern: [
120
125
  "whole",
121
126
  "half",
@@ -144,8 +149,9 @@ const phrygianDominant: ScaleCollection = {
144
149
  ],
145
150
  intervals: ["1", "♭2", "3", "4", "5", "♭6", "♭7", "8"],
146
151
  integers: [0, 1, 4, 5, 7, 8, 10],
147
- type: ["harmonic minor mode", "dominant", "scale", "heptatonic"],
152
+ type: ["harmonic minor mode", "dominant", "scale", "mode", "heptatonic"],
148
153
  characteristics: [
154
+ "fifth mode of harmonic minor",
149
155
  "very exotic",
150
156
  "spanish",
151
157
  "flamenco",
@@ -178,8 +184,14 @@ const lydianSharp2: ScaleCollection = {
178
184
  ],
179
185
  intervals: ["1", "♯2", "3", "♯4", "5", "6", "7", "8"],
180
186
  integers: [0, 3, 4, 6, 7, 9, 11],
181
- type: ["harmonic minor mode", "major", "scale", "heptatonic"],
182
- characteristics: ["very bright", "unusual", "double augmented", "exotic"],
187
+ type: ["harmonic minor mode", "major", "scale", "mode", "heptatonic"],
188
+ characteristics: [
189
+ "very bright",
190
+ "unusual",
191
+ "double augmented",
192
+ "exotic",
193
+ "sixth mode of harmonic minor",
194
+ ],
183
195
  pattern: [
184
196
  "augmented second",
185
197
  "half",
@@ -204,12 +216,13 @@ const superLocrianDoubleFlat7: ScaleCollection = {
204
216
  ],
205
217
  intervals: ["1", "♭2", "♭3", "♭4", "♭5", "♭6", "𝄫7", "8"],
206
218
  integers: [0, 1, 3, 4, 6, 8, 9],
207
- type: ["harmonic minor mode", "diminished", "scale", "heptatonic"],
219
+ type: ["harmonic minor mode", "diminished", "scale", "mode", "heptatonic"],
208
220
  characteristics: [
209
221
  "extremely tense",
210
222
  "highly dissonant",
211
223
  "altered",
212
224
  "theoretical",
225
+ "seventh mode of harmonic minor",
213
226
  ],
214
227
  pattern: [
215
228
  "half",
@@ -109,7 +109,7 @@ const lydianDominant: ScaleCollection = {
109
109
  "quirky",
110
110
  "bluesy",
111
111
  "jazzy",
112
- "a very common scale in jazz for non-resolving dominant chords",
112
+ "used in jazz for non-resolving dominant chords",
113
113
  "fourth mode of melodic minor",
114
114
  ],
115
115
  pattern: ["whole", "whole", "whole", "half", "whole", "half", "whole"],
@@ -181,7 +181,7 @@ const altered: ScaleCollection = {
181
181
  "Locrian ♭4",
182
182
  "Locrian Flat Fourth",
183
183
  ],
184
- intervals: ["1", "♭2", "♭3", "♭4", "♭5", "♭7", "8"],
184
+ intervals: ["1", "♭2", "♭3", "♭4", "♭5", "♭6", "♭7", "8"],
185
185
  integers: [0, 1, 3, 4, 6, 8, 10],
186
186
  type: ["melodic minor mode", "dominant", "mode", "scale", "heptatonic"],
187
187
  characteristics: [
@@ -49,6 +49,7 @@ const chromatic: ScaleCollection = {
49
49
 
50
50
  const wholeTone: ScaleCollection = {
51
51
  category: "scale",
52
+ rotation: 0,
52
53
  primaryName: "Whole Tone Scale",
53
54
  names: [
54
55
  "Whole Tone Scale",