@musodojo/music-theory-data 20.3.0 → 20.6.1
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/esm/_dnt.test_shims.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/almost_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/array_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/assert.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/assertion_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/fail.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/false.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/greater.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/greater_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/is_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/less.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/less_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/not_instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/not_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/not_strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/object_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/rejects.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/string_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/throws.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/unimplemented.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.18/unreachable.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/diff.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/styles.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.12/types.d.ts.map +1 -0
- package/esm/package.json +3 -0
- package/esm/src/data/chords/mod.d.ts +10 -0
- package/esm/src/data/chords/mod.d.ts.map +1 -0
- package/esm/src/data/chords/mod.js +72 -0
- package/esm/src/data/colors/mod.d.ts +51 -0
- package/esm/src/data/colors/mod.d.ts.map +1 -0
- package/esm/src/data/colors/mod.js +79 -0
- package/esm/src/data/labels/mod.d.ts +3 -0
- package/esm/src/data/labels/mod.d.ts.map +1 -0
- package/esm/src/data/labels/mod.js +2 -0
- package/esm/src/data/labels/note-label-collections.d.ts +62 -0
- package/esm/src/data/labels/note-label-collections.d.ts.map +1 -0
- package/esm/src/data/labels/note-label-collections.js +91 -0
- package/esm/src/data/labels/note-labels.d.ts +314 -0
- package/esm/src/data/labels/note-labels.d.ts.map +1 -0
- package/esm/src/data/labels/note-labels.js +502 -0
- package/esm/src/data/mod.d.ts +5 -0
- package/esm/src/data/mod.d.ts.map +1 -0
- package/esm/src/data/mod.js +4 -0
- package/esm/src/data/note-collections/augmented-variants.d.ts +8 -0
- package/esm/src/data/note-collections/augmented-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/augmented-variants.js +27 -0
- package/esm/src/data/note-collections/diatonic-modes.d.ts +14 -0
- package/esm/src/data/note-collections/diatonic-modes.d.ts.map +1 -0
- package/esm/src/data/note-collections/diatonic-modes.js +268 -0
- package/esm/src/data/note-collections/diminished-variants.d.ts +11 -0
- package/esm/src/data/note-collections/diminished-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/diminished-variants.js +72 -0
- package/esm/src/data/note-collections/dominant-variants.d.ts +11 -0
- package/esm/src/data/note-collections/dominant-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/dominant-variants.js +116 -0
- package/esm/src/data/note-collections/harmonic-minor-modes.d.ts +13 -0
- package/esm/src/data/note-collections/harmonic-minor-modes.d.ts.map +1 -0
- package/esm/src/data/note-collections/harmonic-minor-modes.js +246 -0
- package/esm/src/data/note-collections/major-variants.d.ts +12 -0
- package/esm/src/data/note-collections/major-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/major-variants.js +123 -0
- package/esm/src/data/note-collections/melodic-minor-modes.d.ts +13 -0
- package/esm/src/data/note-collections/melodic-minor-modes.d.ts.map +1 -0
- package/esm/src/data/note-collections/melodic-minor-modes.js +206 -0
- package/esm/src/data/note-collections/minor-variants.d.ts +13 -0
- package/esm/src/data/note-collections/minor-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/minor-variants.js +118 -0
- package/esm/src/data/note-collections/mod.d.ts +86 -0
- package/esm/src/data/note-collections/mod.d.ts.map +1 -0
- package/esm/src/data/note-collections/mod.js +86 -0
- package/esm/src/data/note-collections/other-collections.d.ts +10 -0
- package/esm/src/data/note-collections/other-collections.d.ts.map +1 -0
- package/esm/src/data/note-collections/other-collections.js +91 -0
- package/esm/src/data/note-collections/pentatonic-variants.d.ts +11 -0
- package/esm/src/data/note-collections/pentatonic-variants.d.ts.map +1 -0
- package/esm/src/data/note-collections/pentatonic-variants.js +86 -0
- package/esm/src/mod.d.ts +74 -0
- package/esm/src/mod.d.ts.map +1 -0
- package/{src/mod.ts → esm/src/mod.js} +2 -3
- package/esm/src/utils/chords.d.ts +14 -0
- package/esm/src/utils/chords.d.ts.map +1 -0
- package/esm/src/utils/chords.js +93 -0
- package/esm/src/utils/colors.d.ts +14 -0
- package/esm/src/utils/colors.d.ts.map +1 -0
- package/esm/src/utils/colors.js +47 -0
- package/esm/src/utils/intervals.d.ts +26 -0
- package/esm/src/utils/intervals.d.ts.map +1 -0
- package/esm/src/utils/intervals.js +61 -0
- package/esm/src/utils/midi-note-sequences.d.ts +23 -0
- package/esm/src/utils/midi-note-sequences.d.ts.map +1 -0
- package/esm/src/utils/midi-note-sequences.js +109 -0
- package/esm/src/utils/midi.d.ts +7 -0
- package/esm/src/utils/midi.d.ts.map +1 -0
- package/esm/src/utils/midi.js +26 -0
- package/esm/src/utils/mod.d.ts +9 -0
- package/esm/src/utils/mod.d.ts.map +1 -0
- package/esm/src/utils/mod.js +8 -0
- package/esm/src/utils/note-collections.d.ts +24 -0
- package/esm/src/utils/note-collections.d.ts.map +1 -0
- package/esm/src/utils/note-collections.js +132 -0
- package/esm/src/utils/note-names.d.ts +23 -0
- package/esm/src/utils/note-names.d.ts.map +1 -0
- package/esm/src/utils/note-names.js +127 -0
- package/esm/src/utils/rotate-array.d.ts +19 -0
- package/esm/src/utils/rotate-array.d.ts.map +1 -0
- package/{src/utils/rotate-array.ts → esm/src/utils/rotate-array.js} +10 -12
- package/esm/tests/get-chord-details.test.d.ts.map +1 -0
- package/esm/tests/get-note-names.test.d.ts.map +1 -0
- package/esm/tests/midi.test.d.ts.map +1 -0
- package/esm/tests/note-name-strings.test.d.ts.map +1 -0
- package/esm/tests/search-note-collections.test.d.ts.map +1 -0
- package/esm/tests/transform-intervals.test.d.ts.map +1 -0
- package/package.json +21 -6
- package/script/_dnt.test_shims.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/almost_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/array_includes.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/assert.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/assertion_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/exists.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/fail.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/false.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/greater.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/greater_or_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/is_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/less.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/less_or_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/not_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/not_instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/not_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/not_strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/object_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/rejects.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/string_includes.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/throws.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/unimplemented.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.18/unreachable.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/diff.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/format.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/styles.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.12/types.d.ts.map +1 -0
- package/script/package.json +3 -0
- package/script/src/data/chords/mod.d.ts +10 -0
- package/script/src/data/chords/mod.d.ts.map +1 -0
- package/script/src/data/chords/mod.js +75 -0
- package/script/src/data/colors/mod.d.ts +51 -0
- package/script/src/data/colors/mod.d.ts.map +1 -0
- package/script/src/data/colors/mod.js +82 -0
- package/script/src/data/labels/mod.d.ts +3 -0
- package/script/src/data/labels/mod.d.ts.map +1 -0
- package/script/src/data/labels/mod.js +18 -0
- package/script/src/data/labels/note-label-collections.d.ts +62 -0
- package/script/src/data/labels/note-label-collections.d.ts.map +1 -0
- package/script/src/data/labels/note-label-collections.js +94 -0
- package/script/src/data/labels/note-labels.d.ts +314 -0
- package/script/src/data/labels/note-labels.d.ts.map +1 -0
- package/script/src/data/labels/note-labels.js +505 -0
- package/script/src/data/mod.d.ts +5 -0
- package/script/src/data/mod.d.ts.map +1 -0
- package/script/src/data/mod.js +20 -0
- package/script/src/data/note-collections/augmented-variants.d.ts +8 -0
- package/script/src/data/note-collections/augmented-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/augmented-variants.js +30 -0
- package/script/src/data/note-collections/diatonic-modes.d.ts +14 -0
- package/script/src/data/note-collections/diatonic-modes.d.ts.map +1 -0
- package/script/src/data/note-collections/diatonic-modes.js +271 -0
- package/script/src/data/note-collections/diminished-variants.d.ts +11 -0
- package/script/src/data/note-collections/diminished-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/diminished-variants.js +75 -0
- package/script/src/data/note-collections/dominant-variants.d.ts +11 -0
- package/script/src/data/note-collections/dominant-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/dominant-variants.js +119 -0
- package/script/src/data/note-collections/harmonic-minor-modes.d.ts +13 -0
- package/script/src/data/note-collections/harmonic-minor-modes.d.ts.map +1 -0
- package/script/src/data/note-collections/harmonic-minor-modes.js +249 -0
- package/script/src/data/note-collections/major-variants.d.ts +12 -0
- package/script/src/data/note-collections/major-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/major-variants.js +126 -0
- package/script/src/data/note-collections/melodic-minor-modes.d.ts +13 -0
- package/script/src/data/note-collections/melodic-minor-modes.d.ts.map +1 -0
- package/script/src/data/note-collections/melodic-minor-modes.js +209 -0
- package/script/src/data/note-collections/minor-variants.d.ts +13 -0
- package/script/src/data/note-collections/minor-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/minor-variants.js +121 -0
- package/script/src/data/note-collections/mod.d.ts +86 -0
- package/script/src/data/note-collections/mod.d.ts.map +1 -0
- package/script/src/data/note-collections/mod.js +99 -0
- package/script/src/data/note-collections/other-collections.d.ts +10 -0
- package/script/src/data/note-collections/other-collections.d.ts.map +1 -0
- package/script/src/data/note-collections/other-collections.js +94 -0
- package/script/src/data/note-collections/pentatonic-variants.d.ts +11 -0
- package/script/src/data/note-collections/pentatonic-variants.d.ts.map +1 -0
- package/script/src/data/note-collections/pentatonic-variants.js +89 -0
- package/script/src/mod.d.ts +74 -0
- package/script/src/mod.d.ts.map +1 -0
- package/script/src/mod.js +88 -0
- package/script/src/utils/chords.d.ts +14 -0
- package/script/src/utils/chords.d.ts.map +1 -0
- package/script/src/utils/chords.js +102 -0
- package/script/src/utils/colors.d.ts +14 -0
- package/script/src/utils/colors.d.ts.map +1 -0
- package/script/src/utils/colors.js +51 -0
- package/script/src/utils/intervals.d.ts +26 -0
- package/script/src/utils/intervals.d.ts.map +1 -0
- package/script/src/utils/intervals.js +69 -0
- package/script/src/utils/midi-note-sequences.d.ts +23 -0
- package/script/src/utils/midi-note-sequences.d.ts.map +1 -0
- package/script/src/utils/midi-note-sequences.js +112 -0
- package/script/src/utils/midi.d.ts +7 -0
- package/script/src/utils/midi.d.ts.map +1 -0
- package/script/src/utils/midi.js +32 -0
- package/script/src/utils/mod.d.ts +9 -0
- package/script/src/utils/mod.d.ts.map +1 -0
- package/script/src/utils/mod.js +24 -0
- package/script/src/utils/note-collections.d.ts +24 -0
- package/script/src/utils/note-collections.d.ts.map +1 -0
- package/script/src/utils/note-collections.js +137 -0
- package/script/src/utils/note-names.d.ts +23 -0
- package/script/src/utils/note-names.d.ts.map +1 -0
- package/script/src/utils/note-names.js +134 -0
- package/script/src/utils/rotate-array.d.ts +19 -0
- package/script/src/utils/rotate-array.d.ts.map +1 -0
- package/script/src/utils/rotate-array.js +32 -0
- package/script/tests/get-chord-details.test.d.ts.map +1 -0
- package/script/tests/get-note-names.test.d.ts.map +1 -0
- package/script/tests/midi.test.d.ts.map +1 -0
- package/script/tests/note-name-strings.test.d.ts.map +1 -0
- package/script/tests/search-note-collections.test.d.ts.map +1 -0
- package/script/tests/transform-intervals.test.d.ts.map +1 -0
- package/src/data/chords/mod.ts +0 -86
- package/src/data/colors/mod.ts +0 -109
- package/src/data/labels/mod.ts +0 -2
- package/src/data/labels/note-label-collections.ts +0 -124
- package/src/data/labels/note-labels.ts +0 -702
- package/src/data/mod.ts +0 -4
- package/src/data/note-collections/augmented-variants.ts +0 -35
- package/src/data/note-collections/diatonic-modes.ts +0 -281
- package/src/data/note-collections/diminished-variants.ts +0 -87
- package/src/data/note-collections/dominant-variants.ts +0 -131
- package/src/data/note-collections/harmonic-minor-modes.ts +0 -261
- package/src/data/note-collections/major-variants.ts +0 -135
- package/src/data/note-collections/melodic-minor-modes.ts +0 -221
- package/src/data/note-collections/minor-variants.ts +0 -131
- package/src/data/note-collections/mod.ts +0 -108
- package/src/data/note-collections/other-collections.ts +0 -107
- package/src/data/note-collections/pentatonic-variants.ts +0 -99
- package/src/types/chords.d.ts +0 -48
- package/src/types/midi.d.ts +0 -131
- package/src/types/mod.d.ts +0 -3
- package/src/types/note-collections.d.ts +0 -86
- package/src/utils/chords.ts +0 -168
- package/src/utils/colors.ts +0 -57
- package/src/utils/intervals.ts +0 -111
- package/src/utils/midi-note-sequences.ts +0 -171
- package/src/utils/midi.ts +0 -51
- package/src/utils/mod.ts +0 -8
- package/src/utils/note-collections.ts +0 -188
- package/src/utils/note-names.ts +0 -182
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
const minor = {
|
|
2
|
+
category: "chord",
|
|
3
|
+
primaryName: "m",
|
|
4
|
+
names: ["m", "min", "Minor", "Minor Triad", "-"],
|
|
5
|
+
intervals: ["1", "♭3", "5"],
|
|
6
|
+
integers: [0, 3, 7],
|
|
7
|
+
type: ["minor", "chord", "arpeggio", "triad"],
|
|
8
|
+
characteristics: [
|
|
9
|
+
"sad",
|
|
10
|
+
"melancholic",
|
|
11
|
+
"dark",
|
|
12
|
+
"the most basic minor chord",
|
|
13
|
+
],
|
|
14
|
+
pattern: ["minor third", "major third"],
|
|
15
|
+
patternShort: ["m3", "M3"],
|
|
16
|
+
};
|
|
17
|
+
const minor6 = {
|
|
18
|
+
category: "chord",
|
|
19
|
+
primaryName: "m6",
|
|
20
|
+
names: ["m6", "min6", "Minor 6th", "Minor Sixth"],
|
|
21
|
+
intervals: ["1", "♭3", "5", "6"],
|
|
22
|
+
integers: [0, 3, 7, 9],
|
|
23
|
+
type: ["minor", "chord", "arpeggio", "tetrad"],
|
|
24
|
+
characteristics: [
|
|
25
|
+
"jazzy",
|
|
26
|
+
"soulful",
|
|
27
|
+
"less dissonant than m7",
|
|
28
|
+
"dorian feel",
|
|
29
|
+
],
|
|
30
|
+
pattern: ["minor third", "major third", "major second"],
|
|
31
|
+
patternShort: ["m3", "M3", "M2"],
|
|
32
|
+
};
|
|
33
|
+
const minor7 = {
|
|
34
|
+
category: "chord",
|
|
35
|
+
primaryName: "m7",
|
|
36
|
+
names: ["m7", "min7", "Minor 7th", "Minor Seventh", "-7"],
|
|
37
|
+
intervals: ["1", "♭3", "5", "♭7"],
|
|
38
|
+
integers: [0, 3, 7, 10],
|
|
39
|
+
type: ["minor", "chord", "arpeggio", "tetrad"],
|
|
40
|
+
characteristics: ["smooth", "jazzy", "versatile"],
|
|
41
|
+
pattern: ["minor third", "major third", "minor third"],
|
|
42
|
+
patternShort: ["m3", "M3", "m3"],
|
|
43
|
+
};
|
|
44
|
+
const minorMajor7 = {
|
|
45
|
+
category: "chord",
|
|
46
|
+
primaryName: "m(M7)",
|
|
47
|
+
names: [
|
|
48
|
+
"m(M7)",
|
|
49
|
+
"min(M7)",
|
|
50
|
+
"Minor (Major 7th)",
|
|
51
|
+
"Minor Major Seventh",
|
|
52
|
+
"mM7",
|
|
53
|
+
"-M7",
|
|
54
|
+
"-(maj7)",
|
|
55
|
+
],
|
|
56
|
+
intervals: ["1", "♭3", "5", "7"],
|
|
57
|
+
integers: [0, 3, 7, 11],
|
|
58
|
+
type: ["minor", "chord", "arpeggio", "tetrad"],
|
|
59
|
+
characteristics: [
|
|
60
|
+
"smooth",
|
|
61
|
+
"jazzy",
|
|
62
|
+
],
|
|
63
|
+
pattern: ["minor third", "major third", "major third"],
|
|
64
|
+
patternShort: ["m3", "M3", "M3"],
|
|
65
|
+
};
|
|
66
|
+
const minor9 = {
|
|
67
|
+
category: "chord",
|
|
68
|
+
primaryName: "m9",
|
|
69
|
+
names: ["m9", "min9", "Minor 9th", "Minor Ninth", "-9"],
|
|
70
|
+
intervals: ["1", "♭3", "5", "♭7", "9"],
|
|
71
|
+
integers: [0, 3, 7, 10, 14],
|
|
72
|
+
type: ["minor", "chord", "arpeggio", "pentad"],
|
|
73
|
+
characteristics: ["rich", "lush", "sophisticated", "common in jazz"],
|
|
74
|
+
pattern: ["minor third", "major third", "minor third", "major third"],
|
|
75
|
+
patternShort: ["m3", "M3", "m3", "M3"],
|
|
76
|
+
};
|
|
77
|
+
const minorAdd9 = {
|
|
78
|
+
category: "chord",
|
|
79
|
+
primaryName: "m(add9)",
|
|
80
|
+
names: ["m(add9)", "min(add9)", "Minor add 9"],
|
|
81
|
+
intervals: ["1", "♭3", "5", "9"],
|
|
82
|
+
integers: [0, 3, 7, 14],
|
|
83
|
+
type: ["minor", "chord", "arpeggio", "tetrad"],
|
|
84
|
+
characteristics: [
|
|
85
|
+
"open",
|
|
86
|
+
"modern",
|
|
87
|
+
"adds color without the 7th",
|
|
88
|
+
"pop and rock music",
|
|
89
|
+
],
|
|
90
|
+
pattern: ["minor third", "major third", "perfect fifth"],
|
|
91
|
+
patternShort: ["m3", "M3", "P5"],
|
|
92
|
+
};
|
|
93
|
+
const minor6Add9 = {
|
|
94
|
+
category: "chord",
|
|
95
|
+
primaryName: "m6/9",
|
|
96
|
+
names: ["m6/9", "min6/9", "Minor 6/9", "-6/9"],
|
|
97
|
+
intervals: ["1", "♭3", "5", "6", "9"],
|
|
98
|
+
integers: [0, 3, 7, 9, 14],
|
|
99
|
+
type: ["minor", "chord", "arpeggio", "pentad"],
|
|
100
|
+
characteristics: [
|
|
101
|
+
"rich",
|
|
102
|
+
"jazzy",
|
|
103
|
+
"dorian flavor",
|
|
104
|
+
"sophisticated minor sound",
|
|
105
|
+
],
|
|
106
|
+
pattern: ["minor third", "major third", "major second", "perfect fourth"],
|
|
107
|
+
patternShort: ["m3", "M3", "M2", "P4"],
|
|
108
|
+
};
|
|
109
|
+
export const _minorVariants = {
|
|
110
|
+
minor,
|
|
111
|
+
minor6,
|
|
112
|
+
minor7,
|
|
113
|
+
minorMajor7,
|
|
114
|
+
minor9,
|
|
115
|
+
minorAdd9,
|
|
116
|
+
minor6Add9,
|
|
117
|
+
};
|
|
118
|
+
export const minorVariants = _minorVariants;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export { diatonicModes } from "./diatonic-modes.js";
|
|
2
|
+
export { pentatonicVariants } from "./pentatonic-variants.js";
|
|
3
|
+
export { majorVariants } from "./major-variants.js";
|
|
4
|
+
export { minorVariants } from "./minor-variants.js";
|
|
5
|
+
export { dominantVariants } from "./dominant-variants.js";
|
|
6
|
+
export { harmonicMinorModes } from "./harmonic-minor-modes.js";
|
|
7
|
+
export { melodicMinorModes } from "./melodic-minor-modes.js";
|
|
8
|
+
export { diminishedVariants } from "./diminished-variants.js";
|
|
9
|
+
export { augmentedVariants } from "./augmented-variants.js";
|
|
10
|
+
export { otherNoteCollections } from "./other-collections.js";
|
|
11
|
+
export declare const noteCollections: {
|
|
12
|
+
readonly chromatic: import("../../mod.js").NoteCollection;
|
|
13
|
+
readonly rootAndFifth: import("../../mod.js").NoteCollection;
|
|
14
|
+
readonly bluesPentatonic: import("../../mod.js").NoteCollection;
|
|
15
|
+
readonly wholeTone: import("../../mod.js").NoteCollection;
|
|
16
|
+
readonly augmentedTriad: import("../../mod.js").ChordCollection;
|
|
17
|
+
readonly augmented7: import("../../mod.js").ChordCollection;
|
|
18
|
+
readonly wholeHalfDiminished: import("../../mod.js").NoteCollection;
|
|
19
|
+
readonly diminishedTriad: import("../../mod.js").NoteCollection;
|
|
20
|
+
readonly diminished7: import("../../mod.js").NoteCollection;
|
|
21
|
+
readonly halfDiminished7: import("../../mod.js").NoteCollection;
|
|
22
|
+
readonly halfWholeDiminished: import("../../mod.js").NoteCollection;
|
|
23
|
+
readonly altered: import("../../mod.js").ModalScaleCollection;
|
|
24
|
+
readonly melodicMinor: import("../../mod.js").ModalScaleCollection;
|
|
25
|
+
readonly dorianFlat2: import("../../mod.js").ModalScaleCollection;
|
|
26
|
+
readonly lydianAugmented: import("../../mod.js").ModalScaleCollection;
|
|
27
|
+
readonly lydianDominant: import("../../mod.js").ModalScaleCollection;
|
|
28
|
+
readonly mixolydianFlat6: import("../../mod.js").ModalScaleCollection;
|
|
29
|
+
readonly aeolianFlat5: import("../../mod.js").ModalScaleCollection;
|
|
30
|
+
readonly harmonicMinor: import("../../mod.js").ModalScaleCollection;
|
|
31
|
+
readonly locrianNatural6: import("../../mod.js").ModalScaleCollection;
|
|
32
|
+
readonly ionianSharp5: import("../../mod.js").ModalScaleCollection;
|
|
33
|
+
readonly dorianSharp4: import("../../mod.js").ModalScaleCollection;
|
|
34
|
+
readonly phrygianDominant: import("../../mod.js").ModalScaleCollection;
|
|
35
|
+
readonly lydianSharp2: import("../../mod.js").ModalScaleCollection;
|
|
36
|
+
readonly superLocrianDoubleFlat7: import("../../mod.js").ModalScaleCollection;
|
|
37
|
+
readonly dominant7: import("../../mod.js").NoteCollection;
|
|
38
|
+
readonly dominant9: import("../../mod.js").NoteCollection;
|
|
39
|
+
readonly dominant11: import("../../mod.js").NoteCollection;
|
|
40
|
+
readonly dominant13: import("../../mod.js").NoteCollection;
|
|
41
|
+
readonly dominantPentatonic: import("../../mod.js").NoteCollection;
|
|
42
|
+
readonly minor: import("../../mod.js").ChordCollection;
|
|
43
|
+
readonly minor6: import("../../mod.js").ChordCollection;
|
|
44
|
+
readonly minor7: import("../../mod.js").ChordCollection;
|
|
45
|
+
readonly minorMajor7: import("../../mod.js").ChordCollection;
|
|
46
|
+
readonly minor9: import("../../mod.js").ChordCollection;
|
|
47
|
+
readonly minorAdd9: import("../../mod.js").ChordCollection;
|
|
48
|
+
readonly minor6Add9: import("../../mod.js").ChordCollection;
|
|
49
|
+
readonly major: import("../../mod.js").ChordCollection;
|
|
50
|
+
readonly major6: import("../../mod.js").ChordCollection;
|
|
51
|
+
readonly major7: import("../../mod.js").ChordCollection;
|
|
52
|
+
readonly major9: import("../../mod.js").ChordCollection;
|
|
53
|
+
readonly majorAdd9: import("../../mod.js").ChordCollection;
|
|
54
|
+
readonly major6Add9: import("../../mod.js").ChordCollection;
|
|
55
|
+
readonly majorPentatonic: import("../../mod.js").ModalScaleCollection;
|
|
56
|
+
readonly suspendedPentatonic: import("../../mod.js").ModalScaleCollection;
|
|
57
|
+
readonly bluesMinorPentatonic: import("../../mod.js").ModalScaleCollection;
|
|
58
|
+
readonly bluesMajorPentatonic: import("../../mod.js").ModalScaleCollection;
|
|
59
|
+
readonly minorPentatonic: import("../../mod.js").ModalScaleCollection;
|
|
60
|
+
readonly ionian: import("../../mod.js").ModalScaleCollection;
|
|
61
|
+
readonly dorian: import("../../mod.js").ModalScaleCollection;
|
|
62
|
+
readonly phrygian: import("../../mod.js").ModalScaleCollection;
|
|
63
|
+
readonly lydian: import("../../mod.js").ModalScaleCollection;
|
|
64
|
+
readonly mixolydian: import("../../mod.js").ModalScaleCollection;
|
|
65
|
+
readonly aeolian: import("../../mod.js").ModalScaleCollection;
|
|
66
|
+
readonly locrian: import("../../mod.js").ModalScaleCollection;
|
|
67
|
+
};
|
|
68
|
+
export type NoteCollectionKey = keyof typeof noteCollections;
|
|
69
|
+
export declare const groupedNoteCollections: {
|
|
70
|
+
readonly diatonicModes: Record<"ionian" | "dorian" | "phrygian" | "lydian" | "mixolydian" | "aeolian" | "locrian", import("../../mod.js").ModalScaleCollection>;
|
|
71
|
+
readonly pentatonicVariants: Record<"majorPentatonic" | "suspendedPentatonic" | "bluesMinorPentatonic" | "bluesMajorPentatonic" | "minorPentatonic", import("../../mod.js").ModalScaleCollection>;
|
|
72
|
+
readonly majorVariants: Record<"major" | "major6" | "major7" | "major9" | "majorAdd9" | "major6Add9", import("../../mod.js").ChordCollection>;
|
|
73
|
+
readonly minorVariants: Record<"minor" | "minor6" | "minor7" | "minorMajor7" | "minor9" | "minorAdd9" | "minor6Add9", import("../../mod.js").ChordCollection>;
|
|
74
|
+
readonly dominantVariants: Record<"dominant7" | "dominant9" | "dominant11" | "dominant13" | "dominantPentatonic", import("../../mod.js").NoteCollection>;
|
|
75
|
+
readonly harmonicMinorModes: Record<"harmonicMinor" | "locrianNatural6" | "ionianSharp5" | "dorianSharp4" | "phrygianDominant" | "lydianSharp2" | "superLocrianDoubleFlat7", import("../../mod.js").ModalScaleCollection>;
|
|
76
|
+
readonly melodicMinorModes: Record<"altered" | "melodicMinor" | "dorianFlat2" | "lydianAugmented" | "lydianDominant" | "mixolydianFlat6" | "aeolianFlat5", import("../../mod.js").ModalScaleCollection>;
|
|
77
|
+
readonly diminishedVariants: Record<"wholeHalfDiminished" | "diminishedTriad" | "diminished7" | "halfDiminished7" | "halfWholeDiminished", import("../../mod.js").NoteCollection>;
|
|
78
|
+
readonly augmentedVariants: Record<"augmentedTriad" | "augmented7", import("../../mod.js").ChordCollection>;
|
|
79
|
+
readonly otherNoteCollections: Record<"chromatic" | "rootAndFifth" | "bluesPentatonic" | "wholeTone", import("../../mod.js").NoteCollection>;
|
|
80
|
+
};
|
|
81
|
+
export type NoteCollectionGroupKey = keyof typeof groupedNoteCollections;
|
|
82
|
+
export declare const noteCollectionGroupsMetadata: Record<NoteCollectionGroupKey, {
|
|
83
|
+
displayName: string;
|
|
84
|
+
description: string;
|
|
85
|
+
}>;
|
|
86
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/note-collections/mod.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWlB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,eAAe,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAWzB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAEzE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,sBAAsB,EACtB;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAkDO,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { diatonicModes } from "./diatonic-modes.js";
|
|
2
|
+
import { pentatonicVariants } from "./pentatonic-variants.js";
|
|
3
|
+
import { majorVariants } from "./major-variants.js";
|
|
4
|
+
import { minorVariants } from "./minor-variants.js";
|
|
5
|
+
import { dominantVariants } from "./dominant-variants.js";
|
|
6
|
+
import { harmonicMinorModes } from "./harmonic-minor-modes.js";
|
|
7
|
+
import { melodicMinorModes } from "./melodic-minor-modes.js";
|
|
8
|
+
import { diminishedVariants } from "./diminished-variants.js";
|
|
9
|
+
import { augmentedVariants } from "./augmented-variants.js";
|
|
10
|
+
import { otherNoteCollections } from "./other-collections.js";
|
|
11
|
+
export { diatonicModes } from "./diatonic-modes.js";
|
|
12
|
+
export { pentatonicVariants } from "./pentatonic-variants.js";
|
|
13
|
+
export { majorVariants } from "./major-variants.js";
|
|
14
|
+
export { minorVariants } from "./minor-variants.js";
|
|
15
|
+
export { dominantVariants } from "./dominant-variants.js";
|
|
16
|
+
export { harmonicMinorModes } from "./harmonic-minor-modes.js";
|
|
17
|
+
export { melodicMinorModes } from "./melodic-minor-modes.js";
|
|
18
|
+
export { diminishedVariants } from "./diminished-variants.js";
|
|
19
|
+
export { augmentedVariants } from "./augmented-variants.js";
|
|
20
|
+
export { otherNoteCollections } from "./other-collections.js";
|
|
21
|
+
export const noteCollections = {
|
|
22
|
+
...diatonicModes,
|
|
23
|
+
...pentatonicVariants,
|
|
24
|
+
...majorVariants,
|
|
25
|
+
...minorVariants,
|
|
26
|
+
...dominantVariants,
|
|
27
|
+
...harmonicMinorModes,
|
|
28
|
+
...melodicMinorModes,
|
|
29
|
+
...diminishedVariants,
|
|
30
|
+
...augmentedVariants,
|
|
31
|
+
...otherNoteCollections,
|
|
32
|
+
};
|
|
33
|
+
export const groupedNoteCollections = {
|
|
34
|
+
diatonicModes,
|
|
35
|
+
pentatonicVariants,
|
|
36
|
+
majorVariants,
|
|
37
|
+
minorVariants,
|
|
38
|
+
dominantVariants,
|
|
39
|
+
harmonicMinorModes,
|
|
40
|
+
melodicMinorModes,
|
|
41
|
+
diminishedVariants,
|
|
42
|
+
augmentedVariants,
|
|
43
|
+
otherNoteCollections,
|
|
44
|
+
};
|
|
45
|
+
export const noteCollectionGroupsMetadata = {
|
|
46
|
+
diatonicModes: {
|
|
47
|
+
displayName: "Diatonic Modes",
|
|
48
|
+
description: "Traditional seven-note scales derived from the major scale, each starting on a different scale degree.",
|
|
49
|
+
},
|
|
50
|
+
pentatonicVariants: {
|
|
51
|
+
displayName: "Pentatonic Variants",
|
|
52
|
+
description: "Five-note scales used widely in folk, blues, and rock music.",
|
|
53
|
+
},
|
|
54
|
+
majorVariants: {
|
|
55
|
+
displayName: "Major Variants",
|
|
56
|
+
description: "Chord structures based on the major triad, including sixth and major seventh harmonies.",
|
|
57
|
+
},
|
|
58
|
+
minorVariants: {
|
|
59
|
+
displayName: "Minor Variants",
|
|
60
|
+
description: "Chord structures based on the minor triad, including sixth and seventh harmonies.",
|
|
61
|
+
},
|
|
62
|
+
dominantVariants: {
|
|
63
|
+
displayName: "Dominant Variants",
|
|
64
|
+
description: "Chord structures based on the dominant seventh chord, including extended harmonies (9ths, 11ths, 13ths).",
|
|
65
|
+
},
|
|
66
|
+
harmonicMinorModes: {
|
|
67
|
+
displayName: "Harmonic Minor Modes",
|
|
68
|
+
description: "Seven-note scales derived from the harmonic minor scale, each starting on a different scale degree.",
|
|
69
|
+
},
|
|
70
|
+
melodicMinorModes: {
|
|
71
|
+
displayName: "Melodic Minor Modes",
|
|
72
|
+
description: "Seven-note scales derived from the melodic minor scale, each starting on a different scale degree.",
|
|
73
|
+
},
|
|
74
|
+
diminishedVariants: {
|
|
75
|
+
displayName: "Diminished",
|
|
76
|
+
description: "Tense and dissonant chords and scales built on minor thirds.",
|
|
77
|
+
},
|
|
78
|
+
augmentedVariants: {
|
|
79
|
+
displayName: "Augmented",
|
|
80
|
+
description: "Unstable and dreamy chords and scales, including classical augmented sixth chords.",
|
|
81
|
+
},
|
|
82
|
+
otherNoteCollections: {
|
|
83
|
+
displayName: "Other",
|
|
84
|
+
description: "Other note collections that don't fall into a specific category.",
|
|
85
|
+
},
|
|
86
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChordCollection, NonModalScaleCollection, NoteCollection } from "../../types/note-collections";
|
|
2
|
+
export declare const _otherNoteCollections: {
|
|
3
|
+
readonly rootAndFifth: ChordCollection;
|
|
4
|
+
readonly bluesPentatonic: NonModalScaleCollection;
|
|
5
|
+
readonly chromatic: NonModalScaleCollection;
|
|
6
|
+
readonly wholeTone: NonModalScaleCollection;
|
|
7
|
+
};
|
|
8
|
+
export type OtherNoteCollectionKey = keyof typeof _otherNoteCollections;
|
|
9
|
+
export declare const otherNoteCollections: Record<OtherNoteCollectionKey, NoteCollection>;
|
|
10
|
+
//# sourceMappingURL=other-collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"other-collections.d.ts","sourceRoot":"","sources":["../../../../src/src/data/note-collections/other-collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,cAAc,EACf,MAAM,8BAA8B,CAAC;AA0FtC,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAExE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,sBAAsB,EACtB,cAAc,CACS,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const rootAndFifth = {
|
|
2
|
+
category: "chord",
|
|
3
|
+
primaryName: "Root and Fifth",
|
|
4
|
+
names: ["Root and Fifth", "Power Chord"],
|
|
5
|
+
intervals: ["1", "5"],
|
|
6
|
+
integers: [0, 7],
|
|
7
|
+
type: ["chord", "power chord"],
|
|
8
|
+
characteristics: ["rock", "blues", "metal"],
|
|
9
|
+
pattern: ["perfect fifth"],
|
|
10
|
+
patternShort: ["P5"],
|
|
11
|
+
};
|
|
12
|
+
const bluesPentatonic = {
|
|
13
|
+
category: "scale",
|
|
14
|
+
primaryName: "Blues Pentatonic",
|
|
15
|
+
names: ["Blues Pentatonic"],
|
|
16
|
+
intervals: ["1", "♭3", "4", "♭5", "5", "♭7", "8"],
|
|
17
|
+
integers: [0, 3, 5, 6, 7, 10],
|
|
18
|
+
type: ["blues", "pentatonic", "scale", "gapped scale"],
|
|
19
|
+
characteristics: ["bluesy", "rock"],
|
|
20
|
+
pattern: ["minor third", "whole", "half", "half", "minor third", "whole"],
|
|
21
|
+
patternShort: ["m3", "W", "H", "H", "m3", "W"],
|
|
22
|
+
};
|
|
23
|
+
const chromatic = {
|
|
24
|
+
category: "scale",
|
|
25
|
+
primaryName: "Chromatic",
|
|
26
|
+
names: ["Chromatic", "Twelve-Tone Scale"],
|
|
27
|
+
intervals: [
|
|
28
|
+
"1",
|
|
29
|
+
"♭2",
|
|
30
|
+
"2",
|
|
31
|
+
"♭3",
|
|
32
|
+
"3",
|
|
33
|
+
"4",
|
|
34
|
+
"♭5",
|
|
35
|
+
"5",
|
|
36
|
+
"♭6",
|
|
37
|
+
"6",
|
|
38
|
+
"♭7",
|
|
39
|
+
"7",
|
|
40
|
+
"8",
|
|
41
|
+
],
|
|
42
|
+
integers: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
|
|
43
|
+
type: ["chromatic", "scale", "non-diatonic", "dodecaphonic"],
|
|
44
|
+
characteristics: [
|
|
45
|
+
"atonal",
|
|
46
|
+
"dissonant",
|
|
47
|
+
"no tonal center",
|
|
48
|
+
"contains all 12 pitches",
|
|
49
|
+
"used for passing tones and creating tension",
|
|
50
|
+
],
|
|
51
|
+
pattern: [
|
|
52
|
+
"half",
|
|
53
|
+
"half",
|
|
54
|
+
"half",
|
|
55
|
+
"half",
|
|
56
|
+
"half",
|
|
57
|
+
"half",
|
|
58
|
+
"half",
|
|
59
|
+
"half",
|
|
60
|
+
"half",
|
|
61
|
+
"half",
|
|
62
|
+
"half",
|
|
63
|
+
],
|
|
64
|
+
patternShort: ["H", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H"],
|
|
65
|
+
};
|
|
66
|
+
const wholeTone = {
|
|
67
|
+
category: "scale",
|
|
68
|
+
primaryName: "Whole Tone Scale",
|
|
69
|
+
names: ["Whole Tone Scale"],
|
|
70
|
+
intervals: ["1", "2", "3", "♯4", "♯5", "♯6", "8"],
|
|
71
|
+
integers: [0, 2, 4, 6, 8, 10],
|
|
72
|
+
type: ["whole tone", "scale", "symmetrical", "hexatonic"],
|
|
73
|
+
characteristics: [
|
|
74
|
+
"six pitches in an octave",
|
|
75
|
+
"no tonal center",
|
|
76
|
+
"no leading tone and because all tones are the same distance apart",
|
|
77
|
+
"used in impressionistic music",
|
|
78
|
+
"creates a dreamy or ethereal sound",
|
|
79
|
+
"often used in film scores",
|
|
80
|
+
"associated with composers like Debussy and Ravel",
|
|
81
|
+
],
|
|
82
|
+
pattern: ["whole", "whole", "whole", "whole", "whole", "whole"],
|
|
83
|
+
patternShort: ["W", "W", "W", "W", "W", "W"],
|
|
84
|
+
};
|
|
85
|
+
export const _otherNoteCollections = {
|
|
86
|
+
rootAndFifth,
|
|
87
|
+
bluesPentatonic,
|
|
88
|
+
chromatic,
|
|
89
|
+
wholeTone,
|
|
90
|
+
};
|
|
91
|
+
export const otherNoteCollections = _otherNoteCollections;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ModalScaleCollection } from "../../types/note-collections";
|
|
2
|
+
export declare const _pentatonicVariants: {
|
|
3
|
+
readonly majorPentatonic: ModalScaleCollection;
|
|
4
|
+
readonly suspendedPentatonic: ModalScaleCollection;
|
|
5
|
+
readonly bluesMinorPentatonic: ModalScaleCollection;
|
|
6
|
+
readonly bluesMajorPentatonic: ModalScaleCollection;
|
|
7
|
+
readonly minorPentatonic: ModalScaleCollection;
|
|
8
|
+
};
|
|
9
|
+
export type PentatonicVariantKey = keyof typeof _pentatonicVariants;
|
|
10
|
+
export declare const pentatonicVariants: Record<PentatonicVariantKey, ModalScaleCollection>;
|
|
11
|
+
//# sourceMappingURL=pentatonic-variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pentatonic-variants.d.ts","sourceRoot":"","sources":["../../../../src/src/data/note-collections/pentatonic-variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAqFzE,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEpE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,oBAAoB,EACpB,oBAAoB,CACC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const majorPentatonic = {
|
|
2
|
+
category: "scale",
|
|
3
|
+
rotation: 0,
|
|
4
|
+
parentScale: "majorPentatonic",
|
|
5
|
+
primaryName: "Major Pentatonic",
|
|
6
|
+
names: ["Major Pentatonic"],
|
|
7
|
+
intervals: ["1", "2", "3", "5", "6", "8"],
|
|
8
|
+
integers: [0, 2, 4, 7, 9],
|
|
9
|
+
type: ["major", "pentatonic", "scale", "gapped scale"],
|
|
10
|
+
characteristics: [
|
|
11
|
+
"open",
|
|
12
|
+
"positive",
|
|
13
|
+
"simple",
|
|
14
|
+
"found in many cultures",
|
|
15
|
+
"folk music",
|
|
16
|
+
"country music",
|
|
17
|
+
],
|
|
18
|
+
pattern: ["whole", "whole", "minor third", "whole", "minor third"],
|
|
19
|
+
patternShort: ["W", "W", "m3", "W", "m3"],
|
|
20
|
+
};
|
|
21
|
+
const suspendedPentatonic = {
|
|
22
|
+
category: "scale",
|
|
23
|
+
rotation: 1,
|
|
24
|
+
parentScale: "majorPentatonic",
|
|
25
|
+
primaryName: "Suspended Pentatonic",
|
|
26
|
+
names: ["Suspended Pentatonic", "Egyptian Pentatonic"],
|
|
27
|
+
intervals: ["1", "2", "4", "5", "♭7", "8"],
|
|
28
|
+
integers: [0, 2, 5, 7, 10],
|
|
29
|
+
type: ["suspended", "pentatonic", "scale", "gapped scale"],
|
|
30
|
+
characteristics: ["open", "stable", "neutral", "neither major nor minor"],
|
|
31
|
+
pattern: ["whole", "minor third", "whole", "minor third", "whole"],
|
|
32
|
+
patternShort: ["W", "m3", "W", "m3", "W"],
|
|
33
|
+
};
|
|
34
|
+
const bluesMinorPentatonic = {
|
|
35
|
+
category: "scale",
|
|
36
|
+
rotation: 2,
|
|
37
|
+
parentScale: "majorPentatonic",
|
|
38
|
+
primaryName: "Blues Minor Pentatonic",
|
|
39
|
+
names: ["Blues Minor Pentatonic"],
|
|
40
|
+
intervals: ["1", "♭3", "4", "♭6", "♭7", "8"],
|
|
41
|
+
integers: [0, 3, 5, 8, 10],
|
|
42
|
+
type: ["minor", "pentatonic", "scale", "gapped scale", "blues"],
|
|
43
|
+
characteristics: ["bluesy", "tense"],
|
|
44
|
+
pattern: ["minor third", "whole", "minor third", "whole", "whole"],
|
|
45
|
+
patternShort: ["m3", "W", "m3", "W", "W"],
|
|
46
|
+
};
|
|
47
|
+
const bluesMajorPentatonic = {
|
|
48
|
+
category: "scale",
|
|
49
|
+
rotation: 3,
|
|
50
|
+
parentScale: "majorPentatonic",
|
|
51
|
+
primaryName: "Blues Major Pentatonic",
|
|
52
|
+
names: ["Blues Major Pentatonic"],
|
|
53
|
+
intervals: ["1", "2", "4", "5", "6", "8"],
|
|
54
|
+
integers: [0, 2, 5, 7, 9],
|
|
55
|
+
type: ["major", "pentatonic", "scale", "gapped scale", "blues"],
|
|
56
|
+
characteristics: ["bluesy", "country"],
|
|
57
|
+
pattern: ["whole", "minor third", "whole", "whole", "minor third"],
|
|
58
|
+
patternShort: ["W", "m3", "W", "W", "m3"],
|
|
59
|
+
};
|
|
60
|
+
const minorPentatonic = {
|
|
61
|
+
category: "scale",
|
|
62
|
+
rotation: 4,
|
|
63
|
+
parentScale: "majorPentatonic",
|
|
64
|
+
primaryName: "Minor Pentatonic",
|
|
65
|
+
names: ["Minor Pentatonic"],
|
|
66
|
+
intervals: ["1", "♭3", "4", "5", "♭7", "8"],
|
|
67
|
+
integers: [0, 3, 5, 7, 10],
|
|
68
|
+
type: ["minor", "pentatonic", "scale", "gapped scale"],
|
|
69
|
+
characteristics: [
|
|
70
|
+
"bluesy",
|
|
71
|
+
"rock",
|
|
72
|
+
"versatile",
|
|
73
|
+
"found in many cultures",
|
|
74
|
+
"relative of major pentatonic",
|
|
75
|
+
],
|
|
76
|
+
pattern: ["minor third", "whole", "whole", "minor third", "whole"],
|
|
77
|
+
patternShort: ["m3", "W", "W", "m3", "W"],
|
|
78
|
+
};
|
|
79
|
+
export const _pentatonicVariants = {
|
|
80
|
+
majorPentatonic,
|
|
81
|
+
suspendedPentatonic,
|
|
82
|
+
bluesMinorPentatonic,
|
|
83
|
+
bluesMajorPentatonic,
|
|
84
|
+
minorPentatonic,
|
|
85
|
+
};
|
|
86
|
+
export const pentatonicVariants = _pentatonicVariants;
|
package/esm/src/mod.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A comprehensive library of music theory data, including scales, chords, and notes.
|
|
3
|
+
*
|
|
4
|
+
* This package provides a collection of datasets and utility functions
|
|
5
|
+
* to work with fundamental concepts of music theory. It's designed to be
|
|
6
|
+
* a foundational block for music-related applications, educational tools,
|
|
7
|
+
* and creative coding projects.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Import the entire library
|
|
13
|
+
* import * as music_theory_data from "jsr:@musodojo/music-theory-data";
|
|
14
|
+
*
|
|
15
|
+
* // You can now access all the data and functions.
|
|
16
|
+
*
|
|
17
|
+
* // The details for the Ionian Diatonic Mode (Major Scale).
|
|
18
|
+
* console.log("ionian details: ", music_theory_data.noteCollections.ionian);
|
|
19
|
+
* // ionian details: {
|
|
20
|
+
* // category: "scale",
|
|
21
|
+
* // rotation: 0,
|
|
22
|
+
* // primaryName: "Major",
|
|
23
|
+
* // names: [
|
|
24
|
+
* // "Major",
|
|
25
|
+
* // "Ionian",
|
|
26
|
+
* // "Major Scale",
|
|
27
|
+
* // "Ionian Mode",
|
|
28
|
+
* // "Diatonic Major",
|
|
29
|
+
* // ],
|
|
30
|
+
* // intervals: ["1", "2", "3", "4", "5", "6", "7", "8"],
|
|
31
|
+
* // integers: [0, 2, 4, 5, 7, 9, 11],
|
|
32
|
+
* // type: [
|
|
33
|
+
* // "major",
|
|
34
|
+
* // "ionian",
|
|
35
|
+
* // "mode",
|
|
36
|
+
* // "scale",
|
|
37
|
+
* // "church mode",
|
|
38
|
+
* // "diatonic mode",
|
|
39
|
+
* // "heptatonic",
|
|
40
|
+
* // "first diatonic mode",
|
|
41
|
+
* // "do mode",
|
|
42
|
+
* // ],
|
|
43
|
+
* // characteristics: [
|
|
44
|
+
* // "bright",
|
|
45
|
+
* // "happy",
|
|
46
|
+
* // "stable",
|
|
47
|
+
* // "uplifting",
|
|
48
|
+
* // "consonant",
|
|
49
|
+
* // "western",
|
|
50
|
+
* // "foundational",
|
|
51
|
+
* // "simple",
|
|
52
|
+
* // "pop music",
|
|
53
|
+
* // "major tonality",
|
|
54
|
+
* // "commonly used western scale",
|
|
55
|
+
* // ],
|
|
56
|
+
* // pattern: ["whole", "whole", "half", "whole", "whole", "whole", "half"],
|
|
57
|
+
* // patternShort: ["W", "W", "H", "W", "W", "W", "H"],
|
|
58
|
+
* // }
|
|
59
|
+
*
|
|
60
|
+
* // Get the notes of a stored chord, or scale.
|
|
61
|
+
* console.log("A harmonic minor: ", music_theory_data.getNoteNamesFromRootAndCollectionKey("A", "harmonicMinor"))
|
|
62
|
+
* // A harmonic minor: ["A", "B", "C", "D", "E", "F", "G♯", "A"]
|
|
63
|
+
*
|
|
64
|
+
* // Log the array of all available Note Collection Keys
|
|
65
|
+
* console.log(Object.keys(music_theory_data.noteCollections));
|
|
66
|
+
*
|
|
67
|
+
* // Log the array of all available Grouped Note Collections Keys
|
|
68
|
+
* console.log(Object.keys(music_theory_data.groupedNoteCollections));
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export * from "./data/mod.js";
|
|
72
|
+
export type * from "./types/mod";
|
|
73
|
+
export * from "./utils/mod.js";
|
|
74
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,cAAc,eAAe,CAAC;AAC9B,mBAAmB,aAAa,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
@@ -68,6 +68,5 @@
|
|
|
68
68
|
* console.log(Object.keys(music_theory_data.groupedNoteCollections));
|
|
69
69
|
* ```
|
|
70
70
|
*/
|
|
71
|
-
export * from "./data/mod.
|
|
72
|
-
export
|
|
73
|
-
export * from "./utils/mod.ts";
|
|
71
|
+
export * from "./data/mod.js";
|
|
72
|
+
export * from "./utils/mod.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChordDetails, RomanSeventhChord, RomanTriad, SeventhChord, Triad } from "../types/chords";
|
|
2
|
+
import { type HarmonicMinorModeKey } from "../data/note-collections/harmonic-minor-modes.js";
|
|
3
|
+
import { type MelodicMinorModeKey } from "../data/note-collections/melodic-minor-modes.js";
|
|
4
|
+
import type { Interval } from "../data/labels/note-labels.js";
|
|
5
|
+
import { type DiatonicModeKey } from "../data/note-collections/diatonic-modes.js";
|
|
6
|
+
export declare function getRomanTriads(triads: Triad[]): RomanTriad[];
|
|
7
|
+
export declare function getRomanSeventhChords(sevenths: SeventhChord[]): RomanSeventhChord[];
|
|
8
|
+
export declare function getChordDetailsForMode(intervals: readonly Interval[], triads: readonly Triad[], sevenths: readonly SeventhChord[], romanTriads: readonly RomanTriad[], romanSeventhChords: readonly RomanSeventhChord[]): ChordDetails[];
|
|
9
|
+
export declare function getChordDetailsForDiatonicMode(diatonicModeKey: DiatonicModeKey): ChordDetails[];
|
|
10
|
+
export declare function getChordDetailsForHarmonicMinorMode(harmonicMinorModeKey: HarmonicMinorModeKey): ChordDetails[];
|
|
11
|
+
export declare function getChordDetailsForMelodicMinorMode(melodicMinorModeKey: MelodicMinorModeKey): ChordDetails[];
|
|
12
|
+
export type AnyModeKey = DiatonicModeKey | HarmonicMinorModeKey | MelodicMinorModeKey;
|
|
13
|
+
export declare function getChordDetailsForModeKey(modeKey: AnyModeKey): ChordDetails[];
|
|
14
|
+
//# sourceMappingURL=chords.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chords.d.ts","sourceRoot":"","sources":["../../../src/src/utils/chords.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,KAAK,EACN,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,4CAA4C,CAAC;AAEpD,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAgB5D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EAAE,GACvB,iBAAiB,EAAE,CA0BrB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,kBAAkB,EAAE,SAAS,iBAAiB,EAAE,GAC/C,YAAY,EAAE,CAUhB;AAED,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,eAAe,GAC/B,YAAY,EAAE,CAYhB;AAED,wBAAgB,mCAAmC,CACjD,oBAAoB,EAAE,oBAAoB,GACzC,YAAY,EAAE,CAehB;AAED,wBAAgB,kCAAkC,CAChD,mBAAmB,EAAE,mBAAmB,GACvC,YAAY,EAAE,CAYhB;AAED,MAAM,MAAM,UAAU,GAClB,eAAe,GACf,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,GAClB,YAAY,EAAE,CAWhB"}
|