@musodojo/music-theory-data 27.0.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.
Files changed (58) hide show
  1. package/README.md +42 -12
  2. package/esm/src/data/chord-progressions/mod.d.ts +19 -64
  3. package/esm/src/data/chord-progressions/mod.d.ts.map +1 -1
  4. package/esm/src/data/chord-progressions/mod.js +149 -65
  5. package/esm/src/data/chords/mod.d.ts +5 -0
  6. package/esm/src/data/chords/mod.d.ts.map +1 -1
  7. package/esm/src/data/chords/mod.js +20 -0
  8. package/esm/src/data/note-collections/augmented-variants.d.ts +1 -0
  9. package/esm/src/data/note-collections/augmented-variants.d.ts.map +1 -1
  10. package/esm/src/data/note-collections/augmented-variants.js +25 -0
  11. package/esm/src/data/note-collections/mod.d.ts +2 -1
  12. package/esm/src/data/note-collections/mod.d.ts.map +1 -1
  13. package/esm/src/mod.d.ts +1 -1
  14. package/esm/src/mod.js +1 -1
  15. package/esm/src/utils/chord-progressions.d.ts +14 -16
  16. package/esm/src/utils/chord-progressions.d.ts.map +1 -1
  17. package/esm/src/utils/chord-progressions.js +49 -105
  18. package/package.json +1 -1
  19. package/script/src/data/chord-progressions/mod.d.ts +19 -64
  20. package/script/src/data/chord-progressions/mod.d.ts.map +1 -1
  21. package/script/src/data/chord-progressions/mod.js +150 -70
  22. package/script/src/data/chords/mod.d.ts +5 -0
  23. package/script/src/data/chords/mod.d.ts.map +1 -1
  24. package/script/src/data/chords/mod.js +22 -1
  25. package/script/src/data/note-collections/augmented-variants.d.ts +1 -0
  26. package/script/src/data/note-collections/augmented-variants.d.ts.map +1 -1
  27. package/script/src/data/note-collections/augmented-variants.js +25 -0
  28. package/script/src/data/note-collections/mod.d.ts +2 -1
  29. package/script/src/data/note-collections/mod.d.ts.map +1 -1
  30. package/script/src/mod.d.ts +1 -1
  31. package/script/src/mod.js +1 -1
  32. package/script/src/utils/chord-progressions.d.ts +14 -16
  33. package/script/src/utils/chord-progressions.d.ts.map +1 -1
  34. package/script/src/utils/chord-progressions.js +51 -108
  35. package/esm/src/data/chord-progressions/basic.d.ts +0 -10
  36. package/esm/src/data/chord-progressions/basic.d.ts.map +0 -1
  37. package/esm/src/data/chord-progressions/basic.js +0 -164
  38. package/esm/src/data/chord-progressions/blues.d.ts +0 -5
  39. package/esm/src/data/chord-progressions/blues.d.ts.map +0 -1
  40. package/esm/src/data/chord-progressions/blues.js +0 -30
  41. package/esm/src/data/chord-progressions/jazz.d.ts +0 -8
  42. package/esm/src/data/chord-progressions/jazz.d.ts.map +0 -1
  43. package/esm/src/data/chord-progressions/jazz.js +0 -143
  44. package/esm/src/data/chord-progressions/pop.d.ts +0 -6
  45. package/esm/src/data/chord-progressions/pop.d.ts.map +0 -1
  46. package/esm/src/data/chord-progressions/pop.js +0 -42
  47. package/script/src/data/chord-progressions/basic.d.ts +0 -10
  48. package/script/src/data/chord-progressions/basic.d.ts.map +0 -1
  49. package/script/src/data/chord-progressions/basic.js +0 -167
  50. package/script/src/data/chord-progressions/blues.d.ts +0 -5
  51. package/script/src/data/chord-progressions/blues.d.ts.map +0 -1
  52. package/script/src/data/chord-progressions/blues.js +0 -33
  53. package/script/src/data/chord-progressions/jazz.d.ts +0 -8
  54. package/script/src/data/chord-progressions/jazz.d.ts.map +0 -1
  55. package/script/src/data/chord-progressions/jazz.js +0 -146
  56. package/script/src/data/chord-progressions/pop.d.ts +0 -6
  57. package/script/src/data/chord-progressions/pop.d.ts.map +0 -1
  58. package/script/src/data/chord-progressions/pop.js +0 -45
@@ -1,42 +0,0 @@
1
- const dooWop = {
2
- templateType: "loop",
3
- category: "pop",
4
- primaryName: "I vi IV V",
5
- names: ["I vi IV V", "Doo Wop", "1 6 4 5", "50s Progression"],
6
- type: ["pop", "loop", "major key", "songwriting", "beginner"],
7
- characteristics: ["nostalgic", "stable", "songwriting", "common"],
8
- sections: [
9
- {
10
- name: "Main",
11
- chords: [
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
- ],
17
- },
18
- ],
19
- };
20
- const axisProgression = {
21
- templateType: "loop",
22
- category: "pop",
23
- primaryName: "I V vi IV",
24
- names: ["I V vi IV", "Axis Progression", "1 5 6 4", "Pop Punk Progression"],
25
- type: ["pop", "loop", "major key", "songwriting", "beginner"],
26
- characteristics: ["anthemic", "common", "songwriting", "stable"],
27
- sections: [
28
- {
29
- name: "Main",
30
- chords: [
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
- ],
36
- },
37
- ],
38
- };
39
- export const popChordProgressionTemplates = {
40
- dooWop,
41
- axisProgression,
42
- };
@@ -1,10 +0,0 @@
1
- import type { ChordProgressionTemplate } from "../../types/chord-progressions";
2
- export declare const basicChordProgressionTemplates: {
3
- readonly oneFourFive: ChordProgressionTemplate;
4
- readonly oneFive: ChordProgressionTemplate;
5
- readonly oneFour: ChordProgressionTemplate;
6
- readonly oneOneFiveFive: ChordProgressionTemplate;
7
- readonly oneOneFiveFiveSeven: ChordProgressionTemplate;
8
- readonly oneFourOneFive: ChordProgressionTemplate;
9
- };
10
- //# sourceMappingURL=basic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/basic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAoK/E,eAAO,MAAM,8BAA8B;;;;;;;CAOjC,CAAC"}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.basicChordProgressionTemplates = void 0;
4
- const oneFourFive = {
5
- templateType: "formula",
6
- category: "basic",
7
- primaryName: "I IV V",
8
- names: ["I IV V", "One Four Five", "1 4 5"],
9
- type: ["basic", "formula", "major key", "three chord", "beginner"],
10
- characteristics: [
11
- "simple",
12
- "foundational",
13
- "common",
14
- "beginner friendly",
15
- "tonic subdominant dominant",
16
- ],
17
- sections: [
18
- {
19
- name: "Main",
20
- chords: [
21
- { interval: "1", quality: "M", noteCollectionKey: "major" },
22
- { interval: "4", quality: "M", noteCollectionKey: "major" },
23
- { interval: "5", quality: "M", noteCollectionKey: "major" },
24
- ],
25
- },
26
- ],
27
- };
28
- const oneFive = {
29
- templateType: "formula",
30
- category: "basic",
31
- primaryName: "I V",
32
- names: ["I V", "One Five", "1 5"],
33
- type: ["basic", "formula", "major key", "two chord", "beginner"],
34
- characteristics: [
35
- "simple",
36
- "foundational",
37
- "common",
38
- "beginner friendly",
39
- "tonic dominant",
40
- ],
41
- sections: [
42
- {
43
- name: "Main",
44
- chords: [
45
- { interval: "1", quality: "M", noteCollectionKey: "major" },
46
- { interval: "5", quality: "M", noteCollectionKey: "major" },
47
- ],
48
- },
49
- ],
50
- };
51
- const oneFour = {
52
- templateType: "formula",
53
- category: "basic",
54
- primaryName: "I IV",
55
- names: ["I IV", "One Four", "1 4"],
56
- type: ["basic", "formula", "major key", "two chord", "beginner"],
57
- characteristics: [
58
- "simple",
59
- "foundational",
60
- "common",
61
- "beginner friendly",
62
- "tonic subdominant",
63
- ],
64
- sections: [
65
- {
66
- name: "Main",
67
- chords: [
68
- { interval: "1", quality: "M", noteCollectionKey: "major" },
69
- { interval: "4", quality: "M", noteCollectionKey: "major" },
70
- ],
71
- },
72
- ],
73
- };
74
- const oneOneFiveFive = {
75
- templateType: "loop",
76
- category: "basic",
77
- primaryName: "I I V V",
78
- names: ["I I V V", "One One Five Five", "1 1 5 5", "Tonic Dominant Loop"],
79
- type: ["basic", "loop", "major key", "tonic dominant", "beginner"],
80
- characteristics: [
81
- "simple",
82
- "playable",
83
- "stable",
84
- "beginner friendly",
85
- "practice loop",
86
- ],
87
- sections: [
88
- {
89
- name: "Main",
90
- chords: [
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
- ],
96
- },
97
- ],
98
- };
99
- const oneOneFiveFiveSeven = {
100
- templateType: "loop",
101
- category: "basic",
102
- primaryName: "I I V V7",
103
- names: [
104
- "I I V V7",
105
- "One One Five Five-Seven",
106
- "Tonic Dominant Seventh Loop",
107
- ],
108
- type: [
109
- "basic",
110
- "loop",
111
- "major key",
112
- "tonic dominant",
113
- "turnaround",
114
- "beginner",
115
- ],
116
- characteristics: [
117
- "simple",
118
- "playable",
119
- "resolving",
120
- "beginner friendly",
121
- "practice loop",
122
- ],
123
- sections: [
124
- {
125
- name: "Main",
126
- chords: [
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
- ],
132
- },
133
- ],
134
- };
135
- const oneFourOneFive = {
136
- templateType: "loop",
137
- category: "basic",
138
- primaryName: "I IV I V",
139
- names: ["I IV I V", "One Four One Five", "1 4 1 5"],
140
- type: ["basic", "loop", "major key", "three chord", "beginner"],
141
- characteristics: [
142
- "simple",
143
- "playable",
144
- "balanced",
145
- "beginner friendly",
146
- "practice loop",
147
- ],
148
- sections: [
149
- {
150
- name: "Main",
151
- chords: [
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
- ],
157
- },
158
- ],
159
- };
160
- exports.basicChordProgressionTemplates = {
161
- oneFourFive,
162
- oneFive,
163
- oneFour,
164
- oneOneFiveFive,
165
- oneOneFiveFiveSeven,
166
- oneFourOneFive,
167
- };
@@ -1,5 +0,0 @@
1
- import type { ChordProgressionTemplate } from "../../types/chord-progressions";
2
- export declare const bluesChordProgressionTemplates: {
3
- readonly twelveBarBlues: ChordProgressionTemplate;
4
- };
5
- //# sourceMappingURL=blues.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blues.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/blues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA8B/E,eAAO,MAAM,8BAA8B;;CAEjC,CAAC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bluesChordProgressionTemplates = void 0;
4
- const twelveBarBlues = {
5
- templateType: "form",
6
- category: "blues",
7
- primaryName: "Twelve Bar Blues",
8
- names: ["Twelve Bar Blues", "12 Bar Blues", "I7 IV7 V7 Blues"],
9
- type: ["blues", "form", "dominant seventh", "twelve bar", "beginner"],
10
- characteristics: ["foundational", "cyclical", "common", "blues"],
11
- sections: [
12
- {
13
- name: "Main",
14
- chords: [
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
- ],
28
- },
29
- ],
30
- };
31
- exports.bluesChordProgressionTemplates = {
32
- twelveBarBlues,
33
- };
@@ -1,8 +0,0 @@
1
- import type { ChordProgressionTemplate } from "../../types/chord-progressions";
2
- export declare const jazzChordProgressionTemplates: {
3
- readonly twoFiveOneMajor: ChordProgressionTemplate;
4
- readonly minorTwoFiveOne: ChordProgressionTemplate;
5
- readonly rhythmChanges: ChordProgressionTemplate;
6
- readonly jazzBluesBasic: ChordProgressionTemplate;
7
- };
8
- //# sourceMappingURL=jazz.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jazz.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/jazz.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA+I/E,eAAO,MAAM,6BAA6B;;;;;CAKhC,CAAC"}
@@ -1,146 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jazzChordProgressionTemplates = void 0;
4
- const twoFiveOneMajor = {
5
- templateType: "formula",
6
- category: "jazz",
7
- primaryName: "iim7 V7 IM7",
8
- names: [
9
- "iim7 V7 IM7",
10
- "ii V I",
11
- "Two Five One",
12
- "Major Two Five One",
13
- "2 5 1",
14
- ],
15
- type: ["jazz", "formula", "major key", "cadence", "seventh chords"],
16
- characteristics: ["functional", "resolving", "foundational", "jazz"],
17
- sections: [
18
- {
19
- name: "Main",
20
- chords: [
21
- { interval: "2", quality: "m7", noteCollectionKey: "minor7" },
22
- { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
23
- { interval: "1", quality: "M7", noteCollectionKey: "major7" },
24
- ],
25
- },
26
- ],
27
- };
28
- const minorTwoFiveOne = {
29
- templateType: "formula",
30
- category: "jazz",
31
- primaryName: "iiø7 V7 i",
32
- names: ["iiø7 V7 i", "iiø V i", "Minor Two Five One", "2 5 1 minor"],
33
- type: ["jazz", "formula", "minor key", "cadence", "seventh chords"],
34
- characteristics: ["functional", "minor", "resolving", "jazz"],
35
- sections: [
36
- {
37
- name: "Main",
38
- chords: [
39
- { interval: "2", quality: "ø7", noteCollectionKey: "halfDiminished7" },
40
- { interval: "5", quality: "7", noteCollectionKey: "dominant7" },
41
- { interval: "1", quality: "m", noteCollectionKey: "minor" },
42
- ],
43
- },
44
- ],
45
- };
46
- const rhythmChanges = {
47
- templateType: "form",
48
- category: "jazz",
49
- primaryName: "Rhythm Changes",
50
- names: ["Rhythm Changes", "AABA Rhythm Changes", "Rhythm Changes Form"],
51
- type: ["jazz", "form", "major key", "turnaround", "AABA"],
52
- characteristics: [
53
- "cyclical",
54
- "functional",
55
- "jazz",
56
- "standard",
57
- "song form",
58
- ],
59
- sections: [
60
- {
61
- name: "A1",
62
- chords: [
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
- ],
72
- },
73
- {
74
- name: "A2",
75
- chords: [
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
- ],
85
- },
86
- {
87
- name: "B",
88
- chords: [
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
- ],
98
- },
99
- {
100
- name: "A3",
101
- chords: [
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
- ],
111
- },
112
- ],
113
- };
114
- const jazzBluesBasic = {
115
- templateType: "form",
116
- category: "jazz",
117
- primaryName: "Jazz Blues Basic",
118
- names: ["Jazz Blues Basic", "Jazz Blues"],
119
- type: ["jazz", "blues", "form", "dominant seventh", "turnaround"],
120
- characteristics: ["functional", "blues", "jazz", "cyclical"],
121
- sections: [
122
- {
123
- name: "Main",
124
- chords: [
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
- ],
138
- },
139
- ],
140
- };
141
- exports.jazzChordProgressionTemplates = {
142
- twoFiveOneMajor,
143
- minorTwoFiveOne,
144
- rhythmChanges,
145
- jazzBluesBasic,
146
- };
@@ -1,6 +0,0 @@
1
- import type { ChordProgressionTemplate } from "../../types/chord-progressions";
2
- export declare const popChordProgressionTemplates: {
3
- readonly dooWop: ChordProgressionTemplate;
4
- readonly axisProgression: ChordProgressionTemplate;
5
- };
6
- //# sourceMappingURL=pop.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pop.d.ts","sourceRoot":"","sources":["../../../../src/src/data/chord-progressions/pop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA0C/E,eAAO,MAAM,4BAA4B;;;CAG/B,CAAC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.popChordProgressionTemplates = void 0;
4
- const dooWop = {
5
- templateType: "loop",
6
- category: "pop",
7
- primaryName: "I vi IV V",
8
- names: ["I vi IV V", "Doo Wop", "1 6 4 5", "50s Progression"],
9
- type: ["pop", "loop", "major key", "songwriting", "beginner"],
10
- characteristics: ["nostalgic", "stable", "songwriting", "common"],
11
- sections: [
12
- {
13
- name: "Main",
14
- chords: [
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
- ],
20
- },
21
- ],
22
- };
23
- const axisProgression = {
24
- templateType: "loop",
25
- category: "pop",
26
- primaryName: "I V vi IV",
27
- names: ["I V vi IV", "Axis Progression", "1 5 6 4", "Pop Punk Progression"],
28
- type: ["pop", "loop", "major key", "songwriting", "beginner"],
29
- characteristics: ["anthemic", "common", "songwriting", "stable"],
30
- sections: [
31
- {
32
- name: "Main",
33
- chords: [
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
- ],
39
- },
40
- ],
41
- };
42
- exports.popChordProgressionTemplates = {
43
- dooWop,
44
- axisProgression,
45
- };