@musodojo/music-theory-data 26.4.1 → 26.5.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.
@@ -15,9 +15,9 @@ const oneFourFive = {
15
15
  {
16
16
  name: "Main",
17
17
  chords: [
18
- { interval: "1", quality: "M" },
19
- { interval: "4", quality: "M" },
20
- { interval: "5", quality: "M" },
18
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
19
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
20
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
21
21
  ],
22
22
  },
23
23
  ],
@@ -39,8 +39,8 @@ const oneFive = {
39
39
  {
40
40
  name: "Main",
41
41
  chords: [
42
- { interval: "1", quality: "M" },
43
- { interval: "5", quality: "M" },
42
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
43
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
44
44
  ],
45
45
  },
46
46
  ],
@@ -62,8 +62,8 @@ const oneFour = {
62
62
  {
63
63
  name: "Main",
64
64
  chords: [
65
- { interval: "1", quality: "M" },
66
- { interval: "4", quality: "M" },
65
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
66
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
67
67
  ],
68
68
  },
69
69
  ],
@@ -85,10 +85,10 @@ const oneOneFiveFive = {
85
85
  {
86
86
  name: "Main",
87
87
  chords: [
88
- { interval: "1", quality: "M" },
89
- { interval: "1", quality: "M" },
90
- { interval: "5", quality: "M" },
91
- { interval: "5", quality: "M" },
88
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
89
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
90
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
91
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
92
92
  ],
93
93
  },
94
94
  ],
@@ -121,10 +121,10 @@ const oneOneFiveFiveSeven = {
121
121
  {
122
122
  name: "Main",
123
123
  chords: [
124
- { interval: "1", quality: "M" },
125
- { interval: "1", quality: "M" },
126
- { interval: "5", quality: "M" },
127
- { interval: "5", quality: "7" },
124
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
125
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
126
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
127
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
128
128
  ],
129
129
  },
130
130
  ],
@@ -146,10 +146,10 @@ const oneFourOneFive = {
146
146
  {
147
147
  name: "Main",
148
148
  chords: [
149
- { interval: "1", quality: "M" },
150
- { interval: "4", quality: "M" },
151
- { interval: "1", quality: "M" },
152
- { interval: "5", quality: "M" },
149
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
150
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
151
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
152
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
153
153
  ],
154
154
  },
155
155
  ],
@@ -9,18 +9,18 @@ const twelveBarBlues = {
9
9
  {
10
10
  name: "Main",
11
11
  chords: [
12
- { interval: "1", quality: "7" },
13
- { interval: "1", quality: "7" },
14
- { interval: "1", quality: "7" },
15
- { interval: "1", quality: "7" },
16
- { interval: "4", quality: "7" },
17
- { interval: "4", quality: "7" },
18
- { interval: "1", quality: "7" },
19
- { interval: "1", quality: "7" },
20
- { interval: "5", quality: "7" },
21
- { interval: "4", quality: "7" },
22
- { interval: "1", quality: "7" },
23
- { interval: "5", quality: "7" },
12
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
13
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
14
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
15
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
16
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
17
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
18
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
19
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
20
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
21
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
22
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
23
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
24
24
  ],
25
25
  },
26
26
  ],
@@ -15,9 +15,9 @@ const twoFiveOneMajor = {
15
15
  {
16
16
  name: "Main",
17
17
  chords: [
18
- { interval: "2", quality: "m7" },
19
- { interval: "5", quality: "7" },
20
- { interval: "1", quality: "M7" },
18
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
19
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
20
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
21
21
  ],
22
22
  },
23
23
  ],
@@ -33,9 +33,9 @@ const minorTwoFiveOne = {
33
33
  {
34
34
  name: "Main",
35
35
  chords: [
36
- { interval: "2", quality: "ø7" },
37
- { interval: "5", quality: "7" },
38
- { interval: "1", quality: "m" },
36
+ { interval: "2", quality: "ø7", noteCollectionKey: "halfDiminished7" },
37
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
38
+ { interval: "1", quality: "m", noteCollectionKey: "minor" },
39
39
  ],
40
40
  },
41
41
  ],
@@ -57,53 +57,53 @@ const rhythmChanges = {
57
57
  {
58
58
  name: "A1",
59
59
  chords: [
60
- { interval: "1", quality: "M7" },
61
- { interval: "6", quality: "m7" },
62
- { interval: "2", quality: "m7" },
63
- { interval: "5", quality: "7" },
64
- { interval: "3", quality: "m7" },
65
- { interval: "6", quality: "7" },
66
- { interval: "2", quality: "m7" },
67
- { interval: "5", quality: "7" },
60
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
61
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
62
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
63
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
64
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
65
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
66
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
67
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
68
68
  ],
69
69
  },
70
70
  {
71
71
  name: "A2",
72
72
  chords: [
73
- { interval: "1", quality: "M7" },
74
- { interval: "6", quality: "m7" },
75
- { interval: "2", quality: "m7" },
76
- { interval: "5", quality: "7" },
77
- { interval: "3", quality: "m7" },
78
- { interval: "6", quality: "7" },
79
- { interval: "2", quality: "m7" },
80
- { interval: "5", quality: "7" },
73
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
74
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
75
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
76
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
77
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
78
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
79
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
80
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
81
81
  ],
82
82
  },
83
83
  {
84
84
  name: "B",
85
85
  chords: [
86
- { interval: "3", quality: "7" },
87
- { interval: "3", quality: "7" },
88
- { interval: "6", quality: "7" },
89
- { interval: "6", quality: "7" },
90
- { interval: "2", quality: "7" },
91
- { interval: "2", quality: "7" },
92
- { interval: "5", quality: "7" },
93
- { interval: "5", quality: "7" },
86
+ { interval: "3", quality: "7", noteCollectionKey: "dominant7" },
87
+ { interval: "3", quality: "7", noteCollectionKey: "dominant7" },
88
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
89
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
90
+ { interval: "2", quality: "7", noteCollectionKey: "dominant7" },
91
+ { interval: "2", quality: "7", noteCollectionKey: "dominant7" },
92
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
93
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
94
94
  ],
95
95
  },
96
96
  {
97
97
  name: "A3",
98
98
  chords: [
99
- { interval: "1", quality: "M7" },
100
- { interval: "6", quality: "m7" },
101
- { interval: "2", quality: "m7" },
102
- { interval: "5", quality: "7" },
103
- { interval: "3", quality: "m7" },
104
- { interval: "6", quality: "7" },
105
- { interval: "2", quality: "m7" },
106
- { interval: "5", quality: "7" },
99
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
100
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
101
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
102
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
103
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
104
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
105
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
106
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
107
107
  ],
108
108
  },
109
109
  ],
@@ -119,18 +119,18 @@ const jazzBluesBasic = {
119
119
  {
120
120
  name: "Main",
121
121
  chords: [
122
- { interval: "1", quality: "7" },
123
- { interval: "4", quality: "7" },
124
- { interval: "1", quality: "7" },
125
- { interval: "1", quality: "7" },
126
- { interval: "4", quality: "7" },
127
- { interval: "♯4", quality: "°7" },
128
- { interval: "1", quality: "7" },
129
- { interval: "6", quality: "7" },
130
- { interval: "2", quality: "m7" },
131
- { interval: "5", quality: "7" },
132
- { interval: "1", quality: "7" },
133
- { interval: "5", quality: "7" },
122
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
123
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
124
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
125
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
126
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
127
+ { interval: "♯4", quality: "°7", noteCollectionKey: "diminished7" },
128
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
129
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
130
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
131
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
132
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
133
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
134
134
  ],
135
135
  },
136
136
  ],
@@ -1,4 +1,6 @@
1
1
  import type { ChordProgressionTemplateCategory, ChordProgressionTemplateType } from "../../types/chord-progressions";
2
+ import type { ChordQuality } from "../../types/chords";
3
+ import type { NoteCollectionKey } from "../note-collections/mod.js";
2
4
  export { basicChordProgressionTemplates } from "./basic.js";
3
5
  export { bluesChordProgressionTemplates } from "./blues.js";
4
6
  export { jazzChordProgressionTemplates } from "./jazz.js";
@@ -19,6 +21,9 @@ export declare const chordProgressionTemplates: {
19
21
  readonly oneFourOneFive: import("../../mod.js").ChordProgressionTemplate;
20
22
  };
21
23
  export type ChordProgressionTemplateKey = keyof typeof chordProgressionTemplates;
24
+ export type ChordProgressionStepNoteCollectionKeyMap = Partial<Record<ChordQuality, NoteCollectionKey>>;
25
+ /** Canonical chord/arpeggio collection keys for chord qualities used by progression steps. */
26
+ export declare const chordProgressionStepNoteCollectionKeys: ChordProgressionStepNoteCollectionKeyMap;
22
27
  export declare const groupedChordProgressionTemplates: {
23
28
  readonly basicChordProgressionTemplates: {
24
29
  readonly oneFourFive: import("../../mod.js").ChordProgressionTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,MAAM,OAAO,yBAAyB,CAAC;AAEzC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,MAAM,OAAO,gCAAgC,CAAC;AAEhD,kGAAkG;AAClG,eAAO,MAAM,sCAAsC,EAAE,MAAM,CACzD,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAsBO,CAAC;AAEX,4FAA4F;AAC5F,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAC3D,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAMO,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,oCAAoC,EAAE,MAAM,CACvD,4BAA4B,EAC5B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgBO,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,MAAM,OAAO,yBAAyB,CAAC;AAEzC,MAAM,MAAM,wCAAwC,GAAG,OAAO,CAC5D,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CACxC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,sCAAsC,EACjD,wCAQU,CAAC;AAEb,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,MAAM,OAAO,gCAAgC,CAAC;AAEhD,kGAAkG;AAClG,eAAO,MAAM,sCAAsC,EAAE,MAAM,CACzD,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAsBO,CAAC;AAEX,4FAA4F;AAC5F,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAC3D,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAMO,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,oCAAoC,EAAE,MAAM,CACvD,4BAA4B,EAC5B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgBO,CAAC"}
@@ -12,6 +12,16 @@ export const chordProgressionTemplates = {
12
12
  ...bluesChordProgressionTemplates,
13
13
  ...jazzChordProgressionTemplates,
14
14
  };
15
+ /** Canonical chord/arpeggio collection keys for chord qualities used by progression steps. */
16
+ export const chordProgressionStepNoteCollectionKeys = {
17
+ M: "major",
18
+ m: "minor",
19
+ "7": "dominant7",
20
+ M7: "major7",
21
+ m7: "minor7",
22
+ "ø7": "halfDiminished7",
23
+ "°7": "diminished7",
24
+ };
15
25
  export const groupedChordProgressionTemplates = {
16
26
  basicChordProgressionTemplates,
17
27
  popChordProgressionTemplates,
@@ -9,10 +9,10 @@ const dooWop = {
9
9
  {
10
10
  name: "Main",
11
11
  chords: [
12
- { interval: "1", quality: "M" },
13
- { interval: "6", quality: "m" },
14
- { interval: "4", quality: "M" },
15
- { interval: "5", quality: "M" },
12
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
13
+ { interval: "6", quality: "m", noteCollectionKey: "minor" },
14
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
15
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
16
16
  ],
17
17
  },
18
18
  ],
@@ -28,10 +28,10 @@ const axisProgression = {
28
28
  {
29
29
  name: "Main",
30
30
  chords: [
31
- { interval: "1", quality: "M" },
32
- { interval: "5", quality: "M" },
33
- { interval: "6", quality: "m" },
34
- { interval: "4", quality: "M" },
31
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
32
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
33
+ { interval: "6", quality: "m", noteCollectionKey: "minor" },
34
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
35
35
  ],
36
36
  },
37
37
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@musodojo/music-theory-data",
3
- "version": "26.4.1",
3
+ "version": "26.5.0",
4
4
  "description": "The musician-friendly TypeScript library for scales, modes, chords, and arpeggios.",
5
5
  "keywords": [
6
6
  "music",
@@ -18,9 +18,9 @@ const oneFourFive = {
18
18
  {
19
19
  name: "Main",
20
20
  chords: [
21
- { interval: "1", quality: "M" },
22
- { interval: "4", quality: "M" },
23
- { interval: "5", quality: "M" },
21
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
22
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
23
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
24
24
  ],
25
25
  },
26
26
  ],
@@ -42,8 +42,8 @@ const oneFive = {
42
42
  {
43
43
  name: "Main",
44
44
  chords: [
45
- { interval: "1", quality: "M" },
46
- { interval: "5", quality: "M" },
45
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
46
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
47
47
  ],
48
48
  },
49
49
  ],
@@ -65,8 +65,8 @@ const oneFour = {
65
65
  {
66
66
  name: "Main",
67
67
  chords: [
68
- { interval: "1", quality: "M" },
69
- { interval: "4", quality: "M" },
68
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
69
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
70
70
  ],
71
71
  },
72
72
  ],
@@ -88,10 +88,10 @@ const oneOneFiveFive = {
88
88
  {
89
89
  name: "Main",
90
90
  chords: [
91
- { interval: "1", quality: "M" },
92
- { interval: "1", quality: "M" },
93
- { interval: "5", quality: "M" },
94
- { interval: "5", quality: "M" },
91
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
92
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
93
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
94
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
95
95
  ],
96
96
  },
97
97
  ],
@@ -124,10 +124,10 @@ const oneOneFiveFiveSeven = {
124
124
  {
125
125
  name: "Main",
126
126
  chords: [
127
- { interval: "1", quality: "M" },
128
- { interval: "1", quality: "M" },
129
- { interval: "5", quality: "M" },
130
- { interval: "5", quality: "7" },
127
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
128
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
129
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
130
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
131
131
  ],
132
132
  },
133
133
  ],
@@ -149,10 +149,10 @@ const oneFourOneFive = {
149
149
  {
150
150
  name: "Main",
151
151
  chords: [
152
- { interval: "1", quality: "M" },
153
- { interval: "4", quality: "M" },
154
- { interval: "1", quality: "M" },
155
- { interval: "5", quality: "M" },
152
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
153
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
154
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
155
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
156
156
  ],
157
157
  },
158
158
  ],
@@ -12,18 +12,18 @@ const twelveBarBlues = {
12
12
  {
13
13
  name: "Main",
14
14
  chords: [
15
- { interval: "1", quality: "7" },
16
- { interval: "1", quality: "7" },
17
- { interval: "1", quality: "7" },
18
- { interval: "1", quality: "7" },
19
- { interval: "4", quality: "7" },
20
- { interval: "4", quality: "7" },
21
- { interval: "1", quality: "7" },
22
- { interval: "1", quality: "7" },
23
- { interval: "5", quality: "7" },
24
- { interval: "4", quality: "7" },
25
- { interval: "1", quality: "7" },
26
- { interval: "5", quality: "7" },
15
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
16
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
17
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
18
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
19
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
20
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
21
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
22
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
23
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
24
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
25
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
26
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
27
27
  ],
28
28
  },
29
29
  ],
@@ -18,9 +18,9 @@ const twoFiveOneMajor = {
18
18
  {
19
19
  name: "Main",
20
20
  chords: [
21
- { interval: "2", quality: "m7" },
22
- { interval: "5", quality: "7" },
23
- { interval: "1", quality: "M7" },
21
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
22
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
23
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
24
24
  ],
25
25
  },
26
26
  ],
@@ -36,9 +36,9 @@ const minorTwoFiveOne = {
36
36
  {
37
37
  name: "Main",
38
38
  chords: [
39
- { interval: "2", quality: "ø7" },
40
- { interval: "5", quality: "7" },
41
- { interval: "1", quality: "m" },
39
+ { interval: "2", quality: "ø7", noteCollectionKey: "halfDiminished7" },
40
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
41
+ { interval: "1", quality: "m", noteCollectionKey: "minor" },
42
42
  ],
43
43
  },
44
44
  ],
@@ -60,53 +60,53 @@ const rhythmChanges = {
60
60
  {
61
61
  name: "A1",
62
62
  chords: [
63
- { interval: "1", quality: "M7" },
64
- { interval: "6", quality: "m7" },
65
- { interval: "2", quality: "m7" },
66
- { interval: "5", quality: "7" },
67
- { interval: "3", quality: "m7" },
68
- { interval: "6", quality: "7" },
69
- { interval: "2", quality: "m7" },
70
- { interval: "5", quality: "7" },
63
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
64
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
65
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
66
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
67
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
68
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
69
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
70
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
71
71
  ],
72
72
  },
73
73
  {
74
74
  name: "A2",
75
75
  chords: [
76
- { interval: "1", quality: "M7" },
77
- { interval: "6", quality: "m7" },
78
- { interval: "2", quality: "m7" },
79
- { interval: "5", quality: "7" },
80
- { interval: "3", quality: "m7" },
81
- { interval: "6", quality: "7" },
82
- { interval: "2", quality: "m7" },
83
- { interval: "5", quality: "7" },
76
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
77
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
78
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
79
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
80
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
81
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
82
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
83
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
84
84
  ],
85
85
  },
86
86
  {
87
87
  name: "B",
88
88
  chords: [
89
- { interval: "3", quality: "7" },
90
- { interval: "3", quality: "7" },
91
- { interval: "6", quality: "7" },
92
- { interval: "6", quality: "7" },
93
- { interval: "2", quality: "7" },
94
- { interval: "2", quality: "7" },
95
- { interval: "5", quality: "7" },
96
- { interval: "5", quality: "7" },
89
+ { interval: "3", quality: "7", noteCollectionKey: "dominant7" },
90
+ { interval: "3", quality: "7", noteCollectionKey: "dominant7" },
91
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
92
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
93
+ { interval: "2", quality: "7", noteCollectionKey: "dominant7" },
94
+ { interval: "2", quality: "7", noteCollectionKey: "dominant7" },
95
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
96
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
97
97
  ],
98
98
  },
99
99
  {
100
100
  name: "A3",
101
101
  chords: [
102
- { interval: "1", quality: "M7" },
103
- { interval: "6", quality: "m7" },
104
- { interval: "2", quality: "m7" },
105
- { interval: "5", quality: "7" },
106
- { interval: "3", quality: "m7" },
107
- { interval: "6", quality: "7" },
108
- { interval: "2", quality: "m7" },
109
- { interval: "5", quality: "7" },
102
+ { interval: "1", quality: "M7", noteCollectionKey: "major7" },
103
+ { interval: "6", quality: "m7", noteCollectionKey: "minor7" },
104
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
105
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
106
+ { interval: "3", quality: "m7", noteCollectionKey: "minor7" },
107
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
108
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
109
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
110
110
  ],
111
111
  },
112
112
  ],
@@ -122,18 +122,18 @@ const jazzBluesBasic = {
122
122
  {
123
123
  name: "Main",
124
124
  chords: [
125
- { interval: "1", quality: "7" },
126
- { interval: "4", quality: "7" },
127
- { interval: "1", quality: "7" },
128
- { interval: "1", quality: "7" },
129
- { interval: "4", quality: "7" },
130
- { interval: "♯4", quality: "°7" },
131
- { interval: "1", quality: "7" },
132
- { interval: "6", quality: "7" },
133
- { interval: "2", quality: "m7" },
134
- { interval: "5", quality: "7" },
135
- { interval: "1", quality: "7" },
136
- { interval: "5", quality: "7" },
125
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
126
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
127
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
128
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
129
+ { interval: "4", quality: "7", noteCollectionKey: "dominant7" },
130
+ { interval: "♯4", quality: "°7", noteCollectionKey: "diminished7" },
131
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
132
+ { interval: "6", quality: "7", noteCollectionKey: "dominant7" },
133
+ { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
134
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
135
+ { interval: "1", quality: "7", noteCollectionKey: "dominant7" },
136
+ { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
137
137
  ],
138
138
  },
139
139
  ],
@@ -1,4 +1,6 @@
1
1
  import type { ChordProgressionTemplateCategory, ChordProgressionTemplateType } from "../../types/chord-progressions";
2
+ import type { ChordQuality } from "../../types/chords";
3
+ import type { NoteCollectionKey } from "../note-collections/mod.js";
2
4
  export { basicChordProgressionTemplates } from "./basic.js";
3
5
  export { bluesChordProgressionTemplates } from "./blues.js";
4
6
  export { jazzChordProgressionTemplates } from "./jazz.js";
@@ -19,6 +21,9 @@ export declare const chordProgressionTemplates: {
19
21
  readonly oneFourOneFive: import("../../types/chord-progressions").ChordProgressionTemplate;
20
22
  };
21
23
  export type ChordProgressionTemplateKey = keyof typeof chordProgressionTemplates;
24
+ export type ChordProgressionStepNoteCollectionKeyMap = Partial<Record<ChordQuality, NoteCollectionKey>>;
25
+ /** Canonical chord/arpeggio collection keys for chord qualities used by progression steps. */
26
+ export declare const chordProgressionStepNoteCollectionKeys: ChordProgressionStepNoteCollectionKeyMap;
22
27
  export declare const groupedChordProgressionTemplates: {
23
28
  readonly basicChordProgressionTemplates: {
24
29
  readonly oneFourFive: import("../../types/chord-progressions").ChordProgressionTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,MAAM,OAAO,yBAAyB,CAAC;AAEzC,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,MAAM,OAAO,gCAAgC,CAAC;AAEhD,kGAAkG;AAClG,eAAO,MAAM,sCAAsC,EAAE,MAAM,CACzD,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAsBO,CAAC;AAEX,4FAA4F;AAC5F,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAC3D,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAMO,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,oCAAoC,EAAE,MAAM,CACvD,4BAA4B,EAC5B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgBO,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/mod.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;CAK5B,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,MAAM,OAAO,yBAAyB,CAAC;AAEzC,MAAM,MAAM,wCAAwC,GAAG,OAAO,CAC5D,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CACxC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,sCAAsC,EACjD,wCAQU,CAAC;AAEb,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;CAKnC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAC1C,MAAM,OAAO,gCAAgC,CAAC;AAEhD,kGAAkG;AAClG,eAAO,MAAM,sCAAsC,EAAE,MAAM,CACzD,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAsBO,CAAC;AAEX,4FAA4F;AAC5F,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAC3D,gCAAgC,EAChC;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAMO,CAAC;AAEX,gGAAgG;AAChG,eAAO,MAAM,oCAAoC,EAAE,MAAM,CACvD,4BAA4B,EAC5B;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgBO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.chordProgressionTemplateTypeMetadata = exports.chordProgressionTemplateCategoryMetadata = exports.chordProgressionTemplateGroupsMetadata = exports.groupedChordProgressionTemplates = exports.chordProgressionTemplates = exports.popChordProgressionTemplates = exports.jazzChordProgressionTemplates = exports.bluesChordProgressionTemplates = exports.basicChordProgressionTemplates = void 0;
3
+ exports.chordProgressionTemplateTypeMetadata = exports.chordProgressionTemplateCategoryMetadata = exports.chordProgressionTemplateGroupsMetadata = exports.groupedChordProgressionTemplates = exports.chordProgressionStepNoteCollectionKeys = exports.chordProgressionTemplates = exports.popChordProgressionTemplates = exports.jazzChordProgressionTemplates = exports.bluesChordProgressionTemplates = exports.basicChordProgressionTemplates = void 0;
4
4
  const basic_js_1 = require("./basic.js");
5
5
  const blues_js_1 = require("./blues.js");
6
6
  const jazz_js_1 = require("./jazz.js");
@@ -19,6 +19,16 @@ exports.chordProgressionTemplates = {
19
19
  ...blues_js_1.bluesChordProgressionTemplates,
20
20
  ...jazz_js_1.jazzChordProgressionTemplates,
21
21
  };
22
+ /** Canonical chord/arpeggio collection keys for chord qualities used by progression steps. */
23
+ exports.chordProgressionStepNoteCollectionKeys = {
24
+ M: "major",
25
+ m: "minor",
26
+ "7": "dominant7",
27
+ M7: "major7",
28
+ m7: "minor7",
29
+ "ø7": "halfDiminished7",
30
+ "°7": "diminished7",
31
+ };
22
32
  exports.groupedChordProgressionTemplates = {
23
33
  basicChordProgressionTemplates: basic_js_1.basicChordProgressionTemplates,
24
34
  popChordProgressionTemplates: pop_js_1.popChordProgressionTemplates,
@@ -12,10 +12,10 @@ const dooWop = {
12
12
  {
13
13
  name: "Main",
14
14
  chords: [
15
- { interval: "1", quality: "M" },
16
- { interval: "6", quality: "m" },
17
- { interval: "4", quality: "M" },
18
- { interval: "5", quality: "M" },
15
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
16
+ { interval: "6", quality: "m", noteCollectionKey: "minor" },
17
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
18
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
19
19
  ],
20
20
  },
21
21
  ],
@@ -31,10 +31,10 @@ const axisProgression = {
31
31
  {
32
32
  name: "Main",
33
33
  chords: [
34
- { interval: "1", quality: "M" },
35
- { interval: "5", quality: "M" },
36
- { interval: "6", quality: "m" },
37
- { interval: "4", quality: "M" },
34
+ { interval: "1", quality: "M", noteCollectionKey: "major" },
35
+ { interval: "5", quality: "M", noteCollectionKey: "major" },
36
+ { interval: "6", quality: "m", noteCollectionKey: "minor" },
37
+ { interval: "4", quality: "M", noteCollectionKey: "major" },
38
38
  ],
39
39
  },
40
40
  ],