@musodojo/music-theory-data 26.5.0 → 28.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 +94 -12
- package/esm/src/data/chord-progressions/mod.d.ts +19 -64
- package/esm/src/data/chord-progressions/mod.d.ts.map +1 -1
- package/esm/src/data/chord-progressions/mod.js +149 -65
- package/esm/src/data/chords/mod.d.ts +5 -0
- package/esm/src/data/chords/mod.d.ts.map +1 -1
- package/esm/src/data/chords/mod.js +20 -0
- package/esm/src/data/chromatic.d.ts +24 -0
- package/esm/src/data/chromatic.d.ts.map +1 -0
- package/esm/src/data/chromatic.js +15 -0
- package/esm/src/data/colors/mod.d.ts +37 -26
- package/esm/src/data/colors/mod.d.ts.map +1 -1
- package/esm/src/data/colors/mod.js +31 -5
- package/esm/src/data/labels/note-label-collections.d.ts +13 -25
- package/esm/src/data/labels/note-label-collections.d.ts.map +1 -1
- package/esm/src/data/labels/note-label-collections.js +10 -10
- package/esm/src/data/labels/note-labels.d.ts +2 -1
- package/esm/src/data/labels/note-labels.d.ts.map +1 -1
- package/esm/src/data/mod.d.ts +1 -0
- package/esm/src/data/mod.d.ts.map +1 -1
- package/esm/src/data/mod.js +1 -0
- package/esm/src/data/note-collections/augmented-variants.d.ts +1 -0
- package/esm/src/data/note-collections/augmented-variants.d.ts.map +1 -1
- package/esm/src/data/note-collections/augmented-variants.js +25 -0
- package/esm/src/data/note-collections/mod.d.ts +2 -1
- package/esm/src/data/note-collections/mod.d.ts.map +1 -1
- package/esm/src/mod.d.ts +1 -1
- package/esm/src/mod.js +1 -1
- package/esm/src/utils/chord-progressions.d.ts +14 -16
- package/esm/src/utils/chord-progressions.d.ts.map +1 -1
- package/esm/src/utils/chord-progressions.js +49 -105
- package/esm/src/utils/chords.d.ts +1 -1
- package/esm/src/utils/chords.d.ts.map +1 -1
- package/esm/src/utils/chords.js +14 -9
- package/esm/src/utils/chromatic.d.ts +6 -0
- package/esm/src/utils/chromatic.d.ts.map +1 -0
- package/esm/src/utils/chromatic.js +24 -0
- package/esm/src/utils/colors.d.ts +5 -0
- package/esm/src/utils/colors.d.ts.map +1 -1
- package/esm/src/utils/colors.js +67 -32
- package/esm/src/utils/conversion-registry.d.ts +1 -1
- package/esm/src/utils/conversion-registry.d.ts.map +1 -1
- package/esm/src/utils/intervals.d.ts +34 -7
- package/esm/src/utils/intervals.d.ts.map +1 -1
- package/esm/src/utils/intervals.js +5 -55
- package/esm/src/utils/mod.d.ts +2 -0
- package/esm/src/utils/mod.d.ts.map +1 -1
- package/esm/src/utils/mod.js +2 -0
- package/esm/src/utils/note-colors.d.ts +10 -0
- package/esm/src/utils/note-colors.d.ts.map +1 -0
- package/esm/src/utils/note-colors.js +13 -0
- package/esm/src/utils/note-names.d.ts +7 -1
- package/esm/src/utils/note-names.d.ts.map +1 -1
- package/esm/src/utils/note-names.js +6 -24
- package/esm/src/utils/qualities.d.ts +10 -1
- package/esm/src/utils/qualities.d.ts.map +1 -1
- package/esm/src/utils/qualities.js +10 -27
- package/esm/tests/colors.test.d.ts.map +1 -0
- package/package.json +1 -1
- package/script/src/data/chord-progressions/mod.d.ts +19 -64
- package/script/src/data/chord-progressions/mod.d.ts.map +1 -1
- package/script/src/data/chord-progressions/mod.js +150 -70
- package/script/src/data/chords/mod.d.ts +5 -0
- package/script/src/data/chords/mod.d.ts.map +1 -1
- package/script/src/data/chords/mod.js +22 -1
- package/script/src/data/chromatic.d.ts +24 -0
- package/script/src/data/chromatic.d.ts.map +1 -0
- package/script/src/data/chromatic.js +18 -0
- package/script/src/data/colors/mod.d.ts +37 -26
- package/script/src/data/colors/mod.d.ts.map +1 -1
- package/script/src/data/colors/mod.js +35 -6
- package/script/src/data/labels/note-label-collections.d.ts +13 -25
- package/script/src/data/labels/note-label-collections.d.ts.map +1 -1
- package/script/src/data/labels/note-label-collections.js +10 -10
- package/script/src/data/labels/note-labels.d.ts +2 -1
- package/script/src/data/labels/note-labels.d.ts.map +1 -1
- package/script/src/data/mod.d.ts +1 -0
- package/script/src/data/mod.d.ts.map +1 -1
- package/script/src/data/mod.js +1 -0
- package/script/src/data/note-collections/augmented-variants.d.ts +1 -0
- package/script/src/data/note-collections/augmented-variants.d.ts.map +1 -1
- package/script/src/data/note-collections/augmented-variants.js +25 -0
- package/script/src/data/note-collections/mod.d.ts +2 -1
- package/script/src/data/note-collections/mod.d.ts.map +1 -1
- package/script/src/mod.d.ts +1 -1
- package/script/src/mod.js +1 -1
- package/script/src/utils/chord-progressions.d.ts +14 -16
- package/script/src/utils/chord-progressions.d.ts.map +1 -1
- package/script/src/utils/chord-progressions.js +51 -108
- package/script/src/utils/chords.d.ts +1 -1
- package/script/src/utils/chords.d.ts.map +1 -1
- package/script/src/utils/chords.js +14 -9
- package/script/src/utils/chromatic.d.ts +6 -0
- package/script/src/utils/chromatic.d.ts.map +1 -0
- package/script/src/utils/chromatic.js +30 -0
- package/script/src/utils/colors.d.ts +5 -0
- package/script/src/utils/colors.d.ts.map +1 -1
- package/script/src/utils/colors.js +72 -32
- package/script/src/utils/conversion-registry.d.ts +1 -1
- package/script/src/utils/conversion-registry.d.ts.map +1 -1
- package/script/src/utils/intervals.d.ts +34 -7
- package/script/src/utils/intervals.d.ts.map +1 -1
- package/script/src/utils/intervals.js +5 -55
- package/script/src/utils/mod.d.ts +2 -0
- package/script/src/utils/mod.d.ts.map +1 -1
- package/script/src/utils/mod.js +2 -0
- package/script/src/utils/note-colors.d.ts +10 -0
- package/script/src/utils/note-colors.d.ts.map +1 -0
- package/script/src/utils/note-colors.js +18 -0
- package/script/src/utils/note-names.d.ts +7 -1
- package/script/src/utils/note-names.d.ts.map +1 -1
- package/script/src/utils/note-names.js +6 -24
- package/script/src/utils/qualities.d.ts +10 -1
- package/script/src/utils/qualities.d.ts.map +1 -1
- package/script/src/utils/qualities.js +10 -27
- package/script/tests/colors.test.d.ts.map +1 -0
- package/esm/src/data/chord-progressions/basic.d.ts +0 -10
- package/esm/src/data/chord-progressions/basic.d.ts.map +0 -1
- package/esm/src/data/chord-progressions/basic.js +0 -164
- package/esm/src/data/chord-progressions/blues.d.ts +0 -5
- package/esm/src/data/chord-progressions/blues.d.ts.map +0 -1
- package/esm/src/data/chord-progressions/blues.js +0 -30
- package/esm/src/data/chord-progressions/jazz.d.ts +0 -8
- package/esm/src/data/chord-progressions/jazz.d.ts.map +0 -1
- package/esm/src/data/chord-progressions/jazz.js +0 -143
- package/esm/src/data/chord-progressions/pop.d.ts +0 -6
- package/esm/src/data/chord-progressions/pop.d.ts.map +0 -1
- package/esm/src/data/chord-progressions/pop.js +0 -42
- package/script/src/data/chord-progressions/basic.d.ts +0 -10
- package/script/src/data/chord-progressions/basic.d.ts.map +0 -1
- package/script/src/data/chord-progressions/basic.js +0 -167
- package/script/src/data/chord-progressions/blues.d.ts +0 -5
- package/script/src/data/chord-progressions/blues.d.ts.map +0 -1
- package/script/src/data/chord-progressions/blues.js +0 -33
- package/script/src/data/chord-progressions/jazz.d.ts +0 -8
- package/script/src/data/chord-progressions/jazz.d.ts.map +0 -1
- package/script/src/data/chord-progressions/jazz.js +0 -146
- package/script/src/data/chord-progressions/pop.d.ts +0 -6
- package/script/src/data/chord-progressions/pop.d.ts.map +0 -1
- package/script/src/data/chord-progressions/pop.js +0 -45
package/README.md
CHANGED
|
@@ -26,12 +26,11 @@ Have a question, a suggestion, or want to report a bug? Get in touch!
|
|
|
26
26
|
- ✅ Augmented Variants
|
|
27
27
|
- ✅ Other Note Collections, including notes and dyads
|
|
28
28
|
|
|
29
|
-
## Available Chord
|
|
29
|
+
## Available Chord Progressions
|
|
30
30
|
|
|
31
|
-
- ✅
|
|
32
|
-
- ✅
|
|
33
|
-
- ✅
|
|
34
|
-
- ✅ Jazz Progressions
|
|
31
|
+
- ✅ 4-bar foundational loops
|
|
32
|
+
- ✅ 8-bar loops
|
|
33
|
+
- ✅ 12-bar blues
|
|
35
34
|
|
|
36
35
|
## Features
|
|
37
36
|
|
|
@@ -177,23 +176,106 @@ console.log(Object.keys(music_theory_data.noteCollections));
|
|
|
177
176
|
console.log(Object.keys(music_theory_data.groupedNoteCollections));
|
|
178
177
|
// ["diatonicModes", "pentatonicVariants", ...]
|
|
179
178
|
|
|
180
|
-
// Get a
|
|
181
|
-
const
|
|
179
|
+
// Get a chord progression
|
|
180
|
+
const oneSixFourFive = music_theory_data.chordProgressions.oneSixFourFive;
|
|
182
181
|
|
|
183
|
-
console.log(
|
|
184
|
-
// "
|
|
182
|
+
console.log(oneSixFourFive.primaryName);
|
|
183
|
+
// "I | vi | IV | V"
|
|
184
|
+
|
|
185
|
+
console.log(oneSixFourFive.chords);
|
|
186
|
+
// [
|
|
187
|
+
// { degree: "1", quality: "M", durationInBars: 1 },
|
|
188
|
+
// { degree: "6", quality: "m", durationInBars: 1 },
|
|
189
|
+
// { degree: "4", quality: "M", durationInBars: 1 },
|
|
190
|
+
// { degree: "5", quality: "M", durationInBars: 1 },
|
|
191
|
+
// ]
|
|
185
192
|
|
|
186
193
|
console.log(
|
|
187
|
-
music_theory_data.
|
|
194
|
+
music_theory_data.getChordProgressionChordNames(
|
|
195
|
+
"C",
|
|
196
|
+
"oneSixFourFive",
|
|
197
|
+
),
|
|
188
198
|
);
|
|
189
|
-
// ["
|
|
199
|
+
// ["CM", "Am", "FM", "GM"]
|
|
190
200
|
|
|
191
201
|
console.log(
|
|
192
|
-
music_theory_data.
|
|
202
|
+
music_theory_data.getChordProgressionUniqueChordNames(
|
|
203
|
+
"C",
|
|
204
|
+
"oneFourOneFiveSplitReturn",
|
|
205
|
+
),
|
|
193
206
|
);
|
|
194
207
|
// ["CM", "FM", "GM"]
|
|
208
|
+
|
|
209
|
+
console.log(
|
|
210
|
+
music_theory_data.getChordProgressionUniqueChordReferences(
|
|
211
|
+
"C",
|
|
212
|
+
"oneFourOneFiveSplitReturn",
|
|
213
|
+
),
|
|
214
|
+
);
|
|
215
|
+
// [
|
|
216
|
+
// { rootNote: "C", chordName: "CM", noteCollectionKey: "major" },
|
|
217
|
+
// { rootNote: "C", chordName: "FM", noteCollectionKey: "major" },
|
|
218
|
+
// { rootNote: "C", chordName: "GM", noteCollectionKey: "major" },
|
|
219
|
+
// ]
|
|
220
|
+
|
|
221
|
+
console.log(
|
|
222
|
+
music_theory_data.getChordProgressionTotalDurationInBars("twelveBarBlues"),
|
|
223
|
+
);
|
|
224
|
+
// 12
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Note Colors And Chromatic Indexes
|
|
228
|
+
|
|
229
|
+
Note color collections use 12 chromatic slots. In absolute mode, each index is a
|
|
230
|
+
pitch class where index `0` is C and index `7` is G. In relative mode, each
|
|
231
|
+
index is measured from a musical root where index `0` is the root and index `7`
|
|
232
|
+
is the fifth.
|
|
233
|
+
|
|
234
|
+
`noteLabelCollections.noteNamesFlat` is the default label set for absolute note
|
|
235
|
+
colors, and `noteLabelCollections.intervalsFlat` is the default label set for
|
|
236
|
+
relative note colors. `ChromaticIndex` is the shared `0`-to-`11` pitch-class
|
|
237
|
+
shape used by chromatic tuples, note labels, root-note integers, and filled
|
|
238
|
+
chromatic interval helpers. `ChromaticMode` is the shared `"absolute"` or
|
|
239
|
+
`"relative"` mode used by note colors and label collections.
|
|
240
|
+
|
|
241
|
+
Chromatic indexes must be integers. Helpers such as `normalizeChromaticIndex`
|
|
242
|
+
wrap negative or large semitone values into the `0`-to-`11` range, but reject
|
|
243
|
+
fractional or non-finite values.
|
|
244
|
+
|
|
245
|
+
```ts
|
|
246
|
+
import {
|
|
247
|
+
colorCollections,
|
|
248
|
+
getNoteColorIndex,
|
|
249
|
+
getNoteColorLabels,
|
|
250
|
+
} from "jsr:@musodojo/music-theory-data";
|
|
251
|
+
|
|
252
|
+
const absoluteIndex = getNoteColorIndex({
|
|
253
|
+
midi: 67,
|
|
254
|
+
mode: "absolute",
|
|
255
|
+
});
|
|
256
|
+
console.log(absoluteIndex);
|
|
257
|
+
// 7, the pitch class G
|
|
258
|
+
|
|
259
|
+
const relativeIndex = getNoteColorIndex({
|
|
260
|
+
midi: 69,
|
|
261
|
+
mode: "relative",
|
|
262
|
+
rootPitchClass: 2,
|
|
263
|
+
});
|
|
264
|
+
console.log(relativeIndex);
|
|
265
|
+
// 7, A as the fifth above D
|
|
266
|
+
|
|
267
|
+
console.log(getNoteColorLabels(colorCollections.musoDojoRootAndFifth));
|
|
268
|
+
// ["1", "♭2", "2", "♭3", "3", "4", "♭5", "5", "♭6", "6", "♭7", "7"]
|
|
195
269
|
```
|
|
196
270
|
|
|
271
|
+
Color values may be hex strings or `null`. A `null` value means there is
|
|
272
|
+
intentionally no semantic color for that pitch or degree; consuming apps should
|
|
273
|
+
choose their own visual fallback through theme or UI settings.
|
|
274
|
+
|
|
275
|
+
Regular note collection interval arrays remain variable length because chords,
|
|
276
|
+
dyads, arpeggios, and scales have different natural sizes. Helpers that opt into
|
|
277
|
+
`fillChromatic: true` return a fixed 12-slot chromatic tuple.
|
|
278
|
+
|
|
197
279
|
## API Documentation
|
|
198
280
|
|
|
199
281
|
For a full list of all available data, types, and utility functions, please see
|
|
@@ -1,66 +1,21 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
16
|
-
readonly
|
|
17
|
-
readonly oneFive: import("../../mod.js").ChordProgressionTemplate;
|
|
18
|
-
readonly oneFour: import("../../mod.js").ChordProgressionTemplate;
|
|
19
|
-
readonly oneOneFiveFive: import("../../mod.js").ChordProgressionTemplate;
|
|
20
|
-
readonly oneOneFiveFiveSeven: import("../../mod.js").ChordProgressionTemplate;
|
|
21
|
-
readonly oneFourOneFive: import("../../mod.js").ChordProgressionTemplate;
|
|
1
|
+
import type { ChordProgression } from "../../types/chord-progressions";
|
|
2
|
+
declare const _chordProgressions: {
|
|
3
|
+
readonly oneOneFiveFive: ChordProgression;
|
|
4
|
+
readonly oneOneFiveFiveDominant7: ChordProgression;
|
|
5
|
+
readonly oneOneFourFour: ChordProgression;
|
|
6
|
+
readonly oneOneFourFive: ChordProgression;
|
|
7
|
+
readonly oneFourOneFive: ChordProgression;
|
|
8
|
+
readonly oneSixFourFive: ChordProgression;
|
|
9
|
+
readonly oneFiveSixFour: ChordProgression;
|
|
10
|
+
readonly oneSixTwoFive: ChordProgression;
|
|
11
|
+
readonly sixTwoFiveOne: ChordProgression;
|
|
12
|
+
readonly majorTwoFiveOne: ChordProgression;
|
|
13
|
+
readonly minorTwoFiveOne: ChordProgression;
|
|
14
|
+
readonly oneFourOneFiveSplitReturn: ChordProgression;
|
|
15
|
+
readonly twelveBarBlues: ChordProgression;
|
|
16
|
+
readonly twelveBarBluesQuickChange: ChordProgression;
|
|
22
17
|
};
|
|
23
|
-
export type
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
export declare const chordProgressionStepNoteCollectionKeys: ChordProgressionStepNoteCollectionKeyMap;
|
|
27
|
-
export declare const groupedChordProgressionTemplates: {
|
|
28
|
-
readonly basicChordProgressionTemplates: {
|
|
29
|
-
readonly oneFourFive: import("../../mod.js").ChordProgressionTemplate;
|
|
30
|
-
readonly oneFive: import("../../mod.js").ChordProgressionTemplate;
|
|
31
|
-
readonly oneFour: import("../../mod.js").ChordProgressionTemplate;
|
|
32
|
-
readonly oneOneFiveFive: import("../../mod.js").ChordProgressionTemplate;
|
|
33
|
-
readonly oneOneFiveFiveSeven: import("../../mod.js").ChordProgressionTemplate;
|
|
34
|
-
readonly oneFourOneFive: import("../../mod.js").ChordProgressionTemplate;
|
|
35
|
-
};
|
|
36
|
-
readonly popChordProgressionTemplates: {
|
|
37
|
-
readonly dooWop: import("../../mod.js").ChordProgressionTemplate;
|
|
38
|
-
readonly axisProgression: import("../../mod.js").ChordProgressionTemplate;
|
|
39
|
-
};
|
|
40
|
-
readonly bluesChordProgressionTemplates: {
|
|
41
|
-
readonly twelveBarBlues: import("../../mod.js").ChordProgressionTemplate;
|
|
42
|
-
};
|
|
43
|
-
readonly jazzChordProgressionTemplates: {
|
|
44
|
-
readonly twoFiveOneMajor: import("../../mod.js").ChordProgressionTemplate;
|
|
45
|
-
readonly minorTwoFiveOne: import("../../mod.js").ChordProgressionTemplate;
|
|
46
|
-
readonly rhythmChanges: import("../../mod.js").ChordProgressionTemplate;
|
|
47
|
-
readonly jazzBluesBasic: import("../../mod.js").ChordProgressionTemplate;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
export type ChordProgressionTemplateGroupKey = keyof typeof groupedChordProgressionTemplates;
|
|
51
|
-
/** Human-readable DisplayName and Description metadata for top-level chord progression groups. */
|
|
52
|
-
export declare const chordProgressionTemplateGroupsMetadata: Record<ChordProgressionTemplateGroupKey, {
|
|
53
|
-
displayName: string;
|
|
54
|
-
description: string;
|
|
55
|
-
}>;
|
|
56
|
-
/** Human-readable DisplayName and Description metadata for chord progression categories. */
|
|
57
|
-
export declare const chordProgressionTemplateCategoryMetadata: Record<ChordProgressionTemplateCategory, {
|
|
58
|
-
displayName: string;
|
|
59
|
-
description: string;
|
|
60
|
-
}>;
|
|
61
|
-
/** Human-readable DisplayName and Description metadata for chord progression template types. */
|
|
62
|
-
export declare const chordProgressionTemplateTypeMetadata: Record<ChordProgressionTemplateType, {
|
|
63
|
-
displayName: string;
|
|
64
|
-
description: string;
|
|
65
|
-
}>;
|
|
18
|
+
export type ChordProgressionKey = keyof typeof _chordProgressions;
|
|
19
|
+
export declare const chordProgressions: Record<ChordProgressionKey, ChordProgression>;
|
|
20
|
+
export {};
|
|
66
21
|
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AA+JxC,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;CAed,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAElE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CACxD,CAAC"}
|
|
@@ -1,71 +1,155 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
function chord(degree, quality, durationInBars) {
|
|
2
|
+
return {
|
|
3
|
+
degree,
|
|
4
|
+
quality,
|
|
5
|
+
durationInBars,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
const oneOneFiveFive = {
|
|
9
|
+
primaryName: "I | I | V | V",
|
|
10
|
+
chords: [
|
|
11
|
+
chord("1", "M", 2),
|
|
12
|
+
chord("5", "M", 2),
|
|
13
|
+
],
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"ø7": "halfDiminished7",
|
|
23
|
-
"°7": "diminished7",
|
|
15
|
+
const oneOneFiveFiveDominant7 = {
|
|
16
|
+
primaryName: "I | I | V | V7",
|
|
17
|
+
chords: [
|
|
18
|
+
chord("1", "M", 2),
|
|
19
|
+
chord("5", "M", 1),
|
|
20
|
+
chord("5", "7", 1),
|
|
21
|
+
],
|
|
24
22
|
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
const oneOneFourFour = {
|
|
24
|
+
primaryName: "I | I | IV | IV",
|
|
25
|
+
chords: [
|
|
26
|
+
chord("1", "M", 2),
|
|
27
|
+
chord("4", "M", 2),
|
|
28
|
+
],
|
|
30
29
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
displayName: "Pop",
|
|
39
|
-
description: "Common songwriting loops used across pop, rock, folk, and related styles.",
|
|
40
|
-
},
|
|
41
|
-
bluesChordProgressionTemplates: {
|
|
42
|
-
displayName: "Blues",
|
|
43
|
-
description: "Blues forms and dominant-chord progressions, including twelve-bar templates.",
|
|
44
|
-
},
|
|
45
|
-
jazzChordProgressionTemplates: {
|
|
46
|
-
displayName: "Jazz",
|
|
47
|
-
description: "Functional harmony templates, turnarounds, cadences, and standard jazz forms.",
|
|
48
|
-
},
|
|
30
|
+
const oneOneFourFive = {
|
|
31
|
+
primaryName: "I | I | IV | V",
|
|
32
|
+
chords: [
|
|
33
|
+
chord("1", "M", 2),
|
|
34
|
+
chord("4", "M", 1),
|
|
35
|
+
chord("5", "M", 1),
|
|
36
|
+
],
|
|
49
37
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
const oneFourOneFive = {
|
|
39
|
+
primaryName: "I | IV | I | V",
|
|
40
|
+
chords: [
|
|
41
|
+
chord("1", "M", 1),
|
|
42
|
+
chord("4", "M", 1),
|
|
43
|
+
chord("1", "M", 1),
|
|
44
|
+
chord("5", "M", 1),
|
|
45
|
+
],
|
|
56
46
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
description: "A short playable chord progression intended to repeat.",
|
|
66
|
-
},
|
|
67
|
-
form: {
|
|
68
|
-
displayName: "Form",
|
|
69
|
-
description: "A longer structured progression with named sections or a conventional song form.",
|
|
70
|
-
},
|
|
47
|
+
const oneSixFourFive = {
|
|
48
|
+
primaryName: "I | vi | IV | V",
|
|
49
|
+
chords: [
|
|
50
|
+
chord("1", "M", 1),
|
|
51
|
+
chord("6", "m", 1),
|
|
52
|
+
chord("4", "M", 1),
|
|
53
|
+
chord("5", "M", 1),
|
|
54
|
+
],
|
|
71
55
|
};
|
|
56
|
+
const oneFiveSixFour = {
|
|
57
|
+
primaryName: "I | V | vi | IV",
|
|
58
|
+
chords: [
|
|
59
|
+
chord("1", "M", 1),
|
|
60
|
+
chord("5", "M", 1),
|
|
61
|
+
chord("6", "m", 1),
|
|
62
|
+
chord("4", "M", 1),
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
const oneSixTwoFive = {
|
|
66
|
+
primaryName: "I | vi | ii | V",
|
|
67
|
+
chords: [
|
|
68
|
+
chord("1", "M", 1),
|
|
69
|
+
chord("6", "m", 1),
|
|
70
|
+
chord("2", "m", 1),
|
|
71
|
+
chord("5", "M", 1),
|
|
72
|
+
],
|
|
73
|
+
};
|
|
74
|
+
const sixTwoFiveOne = {
|
|
75
|
+
primaryName: "vi | ii | V | I",
|
|
76
|
+
chords: [
|
|
77
|
+
chord("6", "m", 1),
|
|
78
|
+
chord("2", "m", 1),
|
|
79
|
+
chord("5", "M", 1),
|
|
80
|
+
chord("1", "M", 1),
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
const majorTwoFiveOne = {
|
|
84
|
+
primaryName: "iim7 | V7 | Imaj7 | Imaj7",
|
|
85
|
+
chords: [
|
|
86
|
+
chord("2", "m7", 1),
|
|
87
|
+
chord("5", "7", 1),
|
|
88
|
+
chord("1", "M7", 2),
|
|
89
|
+
],
|
|
90
|
+
};
|
|
91
|
+
const minorTwoFiveOne = {
|
|
92
|
+
primaryName: "iiø7 | V7 | i | i",
|
|
93
|
+
chords: [
|
|
94
|
+
chord("2", "ø7", 1),
|
|
95
|
+
chord("5", "7", 1),
|
|
96
|
+
chord("1", "m", 2),
|
|
97
|
+
],
|
|
98
|
+
};
|
|
99
|
+
const oneFourOneFiveSplitReturn = {
|
|
100
|
+
primaryName: "I | IV | I | V | I | IV | I V | I",
|
|
101
|
+
chords: [
|
|
102
|
+
chord("1", "M", 1),
|
|
103
|
+
chord("4", "M", 1),
|
|
104
|
+
chord("1", "M", 1),
|
|
105
|
+
chord("5", "M", 1),
|
|
106
|
+
chord("1", "M", 1),
|
|
107
|
+
chord("4", "M", 1),
|
|
108
|
+
chord("1", "M", 0.5),
|
|
109
|
+
chord("5", "M", 0.5),
|
|
110
|
+
chord("1", "M", 1),
|
|
111
|
+
],
|
|
112
|
+
};
|
|
113
|
+
const twelveBarBlues = {
|
|
114
|
+
primaryName: "12 Bar Blues",
|
|
115
|
+
chords: [
|
|
116
|
+
chord("1", "7", 4),
|
|
117
|
+
chord("4", "7", 2),
|
|
118
|
+
chord("1", "7", 2),
|
|
119
|
+
chord("5", "7", 1),
|
|
120
|
+
chord("4", "7", 1),
|
|
121
|
+
chord("1", "7", 1),
|
|
122
|
+
chord("5", "7", 1),
|
|
123
|
+
],
|
|
124
|
+
};
|
|
125
|
+
const twelveBarBluesQuickChange = {
|
|
126
|
+
primaryName: "12 Bar Blues Quick Change",
|
|
127
|
+
chords: [
|
|
128
|
+
chord("1", "7", 1),
|
|
129
|
+
chord("4", "7", 1),
|
|
130
|
+
chord("1", "7", 2),
|
|
131
|
+
chord("4", "7", 2),
|
|
132
|
+
chord("1", "7", 2),
|
|
133
|
+
chord("5", "7", 1),
|
|
134
|
+
chord("4", "7", 1),
|
|
135
|
+
chord("1", "7", 1),
|
|
136
|
+
chord("5", "7", 1),
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
const _chordProgressions = {
|
|
140
|
+
oneOneFiveFive,
|
|
141
|
+
oneOneFiveFiveDominant7,
|
|
142
|
+
oneOneFourFour,
|
|
143
|
+
oneOneFourFive,
|
|
144
|
+
oneFourOneFive,
|
|
145
|
+
oneSixFourFive,
|
|
146
|
+
oneFiveSixFour,
|
|
147
|
+
oneSixTwoFive,
|
|
148
|
+
sixTwoFiveOne,
|
|
149
|
+
majorTwoFiveOne,
|
|
150
|
+
minorTwoFiveOne,
|
|
151
|
+
oneFourOneFiveSplitReturn,
|
|
152
|
+
twelveBarBlues,
|
|
153
|
+
twelveBarBluesQuickChange,
|
|
154
|
+
};
|
|
155
|
+
export const chordProgressions = _chordProgressions;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { NoteCollectionKey } from "../note-collections/mod.js";
|
|
1
2
|
declare const _triadChordQualities: readonly ["M", "m", "°", "+"];
|
|
2
3
|
declare const _seventhChordQualities: readonly ["M7", "m7", "7", "ø7", "m7♭5", "°7", "m(M7)", "+M7", "M7♯5"];
|
|
3
4
|
declare const _upperCaseRomanNumerals: readonly ["I", "II", "III", "IV", "V", "VI", "VII"];
|
|
@@ -21,6 +22,9 @@ export declare const triadChordQualities: readonly Triad[];
|
|
|
21
22
|
export declare const seventhChordQualities: readonly SeventhChord[];
|
|
22
23
|
/** The complete set of supported chord suffix qualities. */
|
|
23
24
|
export declare const chordQualities: readonly ChordQuality[];
|
|
25
|
+
export type ChordQualityNoteCollectionKeyMap = Record<ChordQuality, NoteCollectionKey>;
|
|
26
|
+
/** Note-collection keys for every supported chord quality. */
|
|
27
|
+
export declare const chordQualityNoteCollectionKeys: ChordQualityNoteCollectionKeyMap;
|
|
24
28
|
/** Roman numeral rendering metadata for each supported chord quality. */
|
|
25
29
|
export declare const chordQualityRomanRenderings: ReadonlyMap<ChordQuality, ChordQualityRomanRendering>;
|
|
26
30
|
/** An ordered array containing the fundamental triad qualities of the diatonic major scale. */
|
|
@@ -39,5 +43,6 @@ export declare const melodicMinorSeventhChords: SeventhChord[];
|
|
|
39
43
|
export declare const upperCaseRomanNumerals: readonly UpperCaseRomanNumeral[];
|
|
40
44
|
/** An array mapping 7 index scale degrees to their corresponding lower-case Roman numerals. */
|
|
41
45
|
export declare const lowerCaseRomanNumerals: readonly LowerCaseRomanNumeral[];
|
|
46
|
+
export declare function getChordQualityNoteCollectionKey(quality: ChordQuality): NoteCollectionKey;
|
|
42
47
|
export {};
|
|
43
48
|
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chords/mod.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,oBAAoB,+BAAgC,CAAC;AAE3D,QAAA,MAAM,sBAAsB,wEAUlB,CAAC;AAEX,QAAA,MAAM,uBAAuB,qDAQnB,CAAC;AAEX,QAAA,MAAM,uBAAuB,qDAQnB,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG,GAAG,YAAY,EAAE,GAAG,GAAG,YAAY,GAAG,KAAK,EAAE,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chords/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,QAAA,MAAM,oBAAoB,+BAAgC,CAAC;AAE3D,QAAA,MAAM,sBAAsB,wEAUlB,CAAC;AAEX,QAAA,MAAM,uBAAuB,qDAQnB,CAAC;AAEX,QAAA,MAAM,uBAAuB,qDAQnB,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAEzE,MAAM,MAAM,UAAU,GAAG,GAAG,YAAY,EAAE,GAAG,GAAG,YAAY,GAAG,KAAK,EAAE,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAkBD,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,EAAE,SAAS,KAAK,EAAyB,CAAC;AAE1E,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EACjC,CAAC;AAEzB,4DAA4D;AAC5D,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAGjD,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,MAAM,CACnD,YAAY,EACZ,iBAAiB,CAClB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,EAAE,gCACZ,CAAC;AAElC,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,EAAE,WAAW,CACnD,YAAY,EACZ,0BAA0B,CAe1B,CAAC;AAEH,+FAA+F;AAC/F,eAAO,MAAM,cAAc,EAAE,KAAK,EAQxB,CAAC;AAEX,uGAAuG;AACvG,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAQtC,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,EAAE,KAAK,EAQ7B,CAAC;AAEX,uGAAuG;AACvG,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAQ3C,CAAC;AAEX,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,EAAE,KAAK,EAQ5B,CAAC;AAEX,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,EAAE,YAAY,EAQ1C,CAAC;AAEX,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,EAAE,SAAS,qBAAqB,EAC1C,CAAC;AAE1B,+FAA+F;AAC/F,eAAO,MAAM,sBAAsB,EAAE,SAAS,qBAAqB,EAC1C,CAAC;AAE1B,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,YAAY,GACpB,iBAAiB,CAEnB"}
|
|
@@ -28,6 +28,21 @@ const _lowerCaseRomanNumerals = [
|
|
|
28
28
|
"vi",
|
|
29
29
|
"vii",
|
|
30
30
|
];
|
|
31
|
+
const _chordQualityNoteCollectionKeys = {
|
|
32
|
+
M: "major",
|
|
33
|
+
m: "minor",
|
|
34
|
+
"°": "diminishedTriad",
|
|
35
|
+
"+": "augmentedTriad",
|
|
36
|
+
M7: "major7",
|
|
37
|
+
m7: "minor7",
|
|
38
|
+
"7": "dominant7",
|
|
39
|
+
"ø7": "halfDiminished7",
|
|
40
|
+
"m7♭5": "halfDiminished7",
|
|
41
|
+
"°7": "diminished7",
|
|
42
|
+
"m(M7)": "minorMajor7",
|
|
43
|
+
"+M7": "augmentedMajor7",
|
|
44
|
+
"M7♯5": "augmentedMajor7",
|
|
45
|
+
};
|
|
31
46
|
/** The complete set of supported triad chord qualities. */
|
|
32
47
|
export const triadChordQualities = _triadChordQualities;
|
|
33
48
|
/** The complete set of supported seventh chord qualities. */
|
|
@@ -37,6 +52,8 @@ export const chordQualities = [
|
|
|
37
52
|
...triadChordQualities,
|
|
38
53
|
...seventhChordQualities,
|
|
39
54
|
];
|
|
55
|
+
/** Note-collection keys for every supported chord quality. */
|
|
56
|
+
export const chordQualityNoteCollectionKeys = _chordQualityNoteCollectionKeys;
|
|
40
57
|
/** Roman numeral rendering metadata for each supported chord quality. */
|
|
41
58
|
export const chordQualityRomanRenderings = new Map([
|
|
42
59
|
["M", { numeralCase: "upper", suffix: "" }],
|
|
@@ -117,3 +134,6 @@ export const melodicMinorSeventhChords = [
|
|
|
117
134
|
export const upperCaseRomanNumerals = _upperCaseRomanNumerals;
|
|
118
135
|
/** An array mapping 7 index scale degrees to their corresponding lower-case Roman numerals. */
|
|
119
136
|
export const lowerCaseRomanNumerals = _lowerCaseRomanNumerals;
|
|
137
|
+
export function getChordQualityNoteCollectionKey(quality) {
|
|
138
|
+
return chordQualityNoteCollectionKeys[quality];
|
|
139
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const CHROMATIC_NOTE_COUNT: 12;
|
|
2
|
+
/** A zero-indexed chromatic pitch-class or relative degree slot. */
|
|
3
|
+
export type ChromaticIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
|
|
4
|
+
/** How a chromatic index should be interpreted. */
|
|
5
|
+
export type ChromaticMode = "absolute" | "relative";
|
|
6
|
+
/** A fixed 12-slot tuple indexed by chromatic pitch class or relative degree. */
|
|
7
|
+
export type ChromaticTuple<T> = readonly [
|
|
8
|
+
T,
|
|
9
|
+
T,
|
|
10
|
+
T,
|
|
11
|
+
T,
|
|
12
|
+
T,
|
|
13
|
+
T,
|
|
14
|
+
T,
|
|
15
|
+
T,
|
|
16
|
+
T,
|
|
17
|
+
T,
|
|
18
|
+
T,
|
|
19
|
+
T
|
|
20
|
+
];
|
|
21
|
+
export declare const CHROMATIC_INDEXES: ChromaticTuple<ChromaticIndex>;
|
|
22
|
+
/** A variable-length set of chromatic indexes, such as the pitch classes in a scale or dyad. */
|
|
23
|
+
export type ChromaticIndexSet = readonly ChromaticIndex[];
|
|
24
|
+
//# sourceMappingURL=chromatic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromatic.d.ts","sourceRoot":"","sources":["../../../src/src/data/chromatic.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,EAAW,CAAC;AAEhD,oEAAoE;AACpE,MAAM,MAAM,cAAc,GACtB,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,CAAC;AAEP,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpD,iFAAiF;AACjF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,SAAS;IACvC,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;IACD,CAAC;CACF,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,cAAc,CAanD,CAAC;AAEX,gGAAgG;AAChG,MAAM,MAAM,iBAAiB,GAAG,SAAS,cAAc,EAAE,CAAC"}
|
|
@@ -1,51 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Color,
|
|
14
|
-
Color
|
|
15
|
-
];
|
|
16
|
-
export interface ColorCollection {
|
|
17
|
-
name: string;
|
|
18
|
-
description: string;
|
|
19
|
-
relative: boolean;
|
|
20
|
-
colors: ColorGroup;
|
|
1
|
+
import { type NoteLabelCollectionKey, type NoteLabelGroup } from "../labels/note-label-collections.js";
|
|
2
|
+
import type { ChromaticMode, ChromaticTuple } from "../chromatic.js";
|
|
3
|
+
export type NoteColorMode = ChromaticMode;
|
|
4
|
+
export type NoteColorValue = string | null;
|
|
5
|
+
export type NoteColorTuple = ChromaticTuple<NoteColorValue>;
|
|
6
|
+
export interface NoteColorCollection {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly shortName?: string;
|
|
9
|
+
readonly description: string;
|
|
10
|
+
readonly mode: NoteColorMode;
|
|
11
|
+
readonly labelCollectionKey?: NoteLabelCollectionKey;
|
|
12
|
+
readonly colors: NoteColorTuple;
|
|
21
13
|
}
|
|
14
|
+
export type Color = NoteColorValue;
|
|
15
|
+
export type ColorGroup = NoteColorTuple;
|
|
16
|
+
export type ColorCollection = NoteColorCollection;
|
|
17
|
+
export type DefaultNoteColorLabelCollectionKeys = Readonly<Record<NoteColorMode, NoteLabelCollectionKey>> & Readonly<{
|
|
18
|
+
absolute: "noteNamesFlat";
|
|
19
|
+
relative: "intervalsFlat";
|
|
20
|
+
}>;
|
|
21
|
+
export declare const defaultNoteColorLabelCollectionKeys: DefaultNoteColorLabelCollectionKeys;
|
|
22
|
+
export declare function getDefaultNoteColorLabelCollectionKey(mode: NoteColorMode): NoteLabelCollectionKey;
|
|
23
|
+
export declare function getNoteColorLabelCollectionKey(collection: NoteColorCollection): NoteLabelCollectionKey;
|
|
24
|
+
export declare function getNoteColorLabels(collection: NoteColorCollection): NoteLabelGroup;
|
|
22
25
|
declare const _colorCollections: {
|
|
23
26
|
readonly musoDojo: {
|
|
24
27
|
readonly name: "Muso Dojo Colors";
|
|
25
|
-
readonly
|
|
26
|
-
readonly
|
|
28
|
+
readonly shortName: "Muso Dojo";
|
|
29
|
+
readonly description: "A custom absolute chromatic palette designed by Muso Dojo.";
|
|
30
|
+
readonly mode: "absolute";
|
|
31
|
+
readonly labelCollectionKey: "noteNamesFlat";
|
|
27
32
|
readonly colors: readonly ["#ED2929", "#9F000F", "#78C7C7", "#00008B", "#FF9933", "#EBEB19", "#286704", "#99CC33", "#660099", "#CC00FF", "#BF6A1F", "#FF9EE6"];
|
|
28
33
|
};
|
|
29
34
|
readonly musoDojoRoot: {
|
|
30
35
|
readonly name: "Muso Dojo Root";
|
|
36
|
+
readonly shortName: "Root";
|
|
31
37
|
readonly description: "Use the red color from Muso Dojo's colors on just the root note.";
|
|
32
|
-
readonly
|
|
38
|
+
readonly mode: "relative";
|
|
39
|
+
readonly labelCollectionKey: "intervalsFlat";
|
|
33
40
|
readonly colors: readonly ["#ED2929", null, null, null, null, null, null, null, null, null, null, null];
|
|
34
41
|
};
|
|
35
42
|
readonly musoDojoRootAndFifth: {
|
|
36
43
|
readonly name: "Muso Dojo Root and Fifth";
|
|
44
|
+
readonly shortName: "Root and Fifth";
|
|
37
45
|
readonly description: "Use the red-and-green colors from Muso Dojo's colors on the root-and-fifth notes.";
|
|
38
|
-
readonly
|
|
46
|
+
readonly mode: "relative";
|
|
47
|
+
readonly labelCollectionKey: "intervalsFlat";
|
|
39
48
|
readonly colors: readonly ["#ED2929", null, null, null, null, null, null, "#99CC33", null, null, null, null];
|
|
40
49
|
};
|
|
41
50
|
readonly boomwhackers: {
|
|
42
51
|
readonly name: "Boomwhackers";
|
|
52
|
+
readonly shortName: "Boomwhackers";
|
|
43
53
|
readonly description: "The colors used by Boomwhackers.";
|
|
44
|
-
readonly
|
|
54
|
+
readonly mode: "absolute";
|
|
55
|
+
readonly labelCollectionKey: "noteNamesFlat";
|
|
45
56
|
readonly colors: readonly ["#E21C48", "#F26622", "#F99D1C", "#FFCC33", "#FFF32B", "#BCD85F", "#62BC47", "#009C95", "#0071BB", "#5E50A1", "#8D5BA6", "#CF3E96"];
|
|
46
57
|
};
|
|
47
58
|
};
|
|
48
59
|
export type ColorCollectionKey = keyof typeof _colorCollections;
|
|
49
|
-
export declare const colorCollections: Record<ColorCollectionKey,
|
|
60
|
+
export declare const colorCollections: Record<ColorCollectionKey, NoteColorCollection>;
|
|
50
61
|
export {};
|
|
51
62
|
//# sourceMappingURL=mod.d.ts.map
|