-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconstants.py
275 lines (271 loc) · 9.4 KB
/
constants.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
_C_NOTE_OFFSET = 3
_MAX_NOTE_INDEX = 87
_PITCH_CLASS_NAME_TO_INT = {
'C': 0,
'C#': 1,
'Db': 1,
'D': 2,
'D#': 3,
'Eb': 3,
'E': 4,
'Fb': 4,
'E#': 5,
'F': 5,
'F#': 6,
'Gb': 6,
'G': 7,
'G#': 8,
'Ab': 8,
'A': 9,
'A#': 10,
'Bb': 10,
'B': 11,
'Cb': 11,
'B#': 11,
}
_INT_TO_PITCH_CLASSES = {
0: ('C', 'C'),
1: ('C#', 'Db'),
2: 'D',
3: ('D#', 'Eb'),
4: ('E', 'E'),
5: ('F', 'F'),
6: ('F#', 'Gb'),
7: 'G',
8: ('G#', 'Ab'),
9: 'A',
10: ('A#', 'Bb'),
11: ('B', 'B'),
}
_INTERVAL_SIZE = {
'd2': 0,
'P1': 0,
'U1': 0,
'A1': 1,
'm2': 1,
'AA1': 2,
'd3': 2,
'M2': 2,
'A2': 3,
'dd4': 3,
'm3': 3,
'd4': 4,
'M3': 4,
'A3': 5,
'dd5': 5,
'P4': 5,
'A4': 6,
'd5': 6,
'AA4': 7,
'd6': 7,
'P5': 7,
'A5': 8,
'm6': 8,
'AA5': 9,
'd7': 9,
'M6': 9,
'A6': 10,
'dd8': 10,
'm7': 10,
'd8': 11,
'M7': 11,
'A7': 12,
'd9': 12,
'P8': 12,
'A8': 13,
'm9': 13,
'AA8': 14,
'M9': 14,
'A9': 15,
'dd11': 15,
'd11': 16,
'P11': 17,
'A11': 18,
'AA11': 19,
'd13': 19,
'm13': 20,
'M13': 21,
'A13': 22,
}
_CHORD_INTERVALS = {
"": ["U1", "M3", "P5"],
"maj": ["U1", "M3", "P5"],
"m": ["U1", "m3", "P5"],
"+": ["U1", "M3", "A5"],
"dim": ["U1", "m3", "d5"],
"lyd": ["U1", "A4", "P5"],
"phry": ["U1", "m2", "P5"],
"6": ["U1", "M3", "P5", "M6"],
"6/9": ["U1", "M9", "M3", "P5", "M6"],
"69": ["U1", "M9", "M3", "P5", "M6"],
"69no5": ["U1", "M9", "M3", "M6"],
"m6": ["U1", "m3", "P5", "M6"],
"m6/9": ["U1", "m3", "P5", "M6", "M9"],
"m6/9no5": ["U1", "m3", "M6", "M9"],
"b5": ["U1", "M3", "d5"],
"sus4": ["U1", "P4", "P5"],
"sus2": ["U1", "M9", "P5"],
"7sus4": ["U1", "P4", "P5", "m7"],
"7sus4b9": ["U1", "P4", "P5", "m7", "m9"],
"7susb9": ["U1", "P4", "P5", "m7", "m9"],
"7b9sus": ["U1", "P4", "P5", "m7", "m9"],
"7b9sus4": ["U1", "P4", "P5", "m7", "m9"],
"9sus4": ["U1", "M9", "P4", "P5", "m7"],
"9sus": ["U1", "M9", "P4", "P5", "m7"],
"add11": ["U1", "M3", "P5", "P11"],
"madd11": ["U1", "m3", "P5", "P11"],
"add9": ["U1", "M3", "P5", "M9"],
"madd9": ["U1", "m3", "P5", "M9"],
"dim(11)": ["U1", "m3", "d5", "P11"],
"dimM9": ["U1", "m3", "d5", "M9"],
"m11no7": ["U1", "m3", "P5", "M9", "P11"],
"Maj7sus2": ["U1", "P5", "M7", "M9"],
"Maj7sus4": ["U1", "P5", "M7", "P4"],
"Maj9sus4": ["U1", "P5", "M7", "P4", "M9"],
# Major
"Maj7": ["U1", "M3", "P5", "M7"],
"Maj7no5": ["U1", "M3", "M7"],
"Maj7+5": ["U1", "M3", "A5", "M7"],
"Maj7b5(13)": ["U1", "M3", "M7", "A11", "M13"],
"Maj7b5": ["U1", "M3", "M7", "A11"],
"Maj7(13)no5": ["U1", "M3", "M7", "M13"],
"Maj13no5": ["U1", "M3", "M7", "M9", "A11", "M13"],
"Maj11no5": ["U1", "M3", "M7", "M9", "A11"],
"Maj9(13)no5": ["U1", "M3", "M7", "M9", "M13"],
"Maj9no5": ["U1", "M3", "M7", "M9"],
"Maj7(#11,13)": ["U1", "M3", "P5", "M7", "A11", "M13"],
"Maj7(#11)": ["U1", "M3", "P5", "M7", "A11"],
"Maj7(13)": ["U1", "M3", "P5", "M7", "M13"],
"Maj7(b13)": ["U1", "M3", "P5", "M7", "m13"],
"Maj11": ["U1", "M3", "P5", "M7", "M9", "A11"],
"Maj9(13)": ["U1", "M3", "P5", "M7", "M9", "M13"],
"Maj7(b9)": ["U1", "M3", "P5", "M7", "m9"],
"Maj9": ["U1", "M3", "P5", "M7", "M9"],
# Minor7
"m7": ["U1", "m3", "P5", "m7"],
"m7b5": ["U1", "m3", "m7", "d5"], # no'()'
"m7(#11)": ["U1", "m3", "P5", "m7", "A11"],
"m7(13)": ["U1", "m3", "P5", "m7", "M13"],
"m7(b9)": ["U1", "m3", "P5", "m7", "m9"],
"m7(11,13)": ["U1", "m3", "P5", "m7", "P11", "M13"],
"m7(11)": ["U1", "m3", "P5", "m7", "P11"],
"m7(11)no5": ["U1", "m3", "m7", "P11"],
"m7no5": ["U1", "m3", "m7"],
"m7(13)no5": ["U1", "m3", "m7", "M13"],
"m7b9no5": ["U1", "m3", "m7", "m9"],
"m7(11,13)no5": ["U1", "m3", "m7", "P11", "M13"],
"m9#5": ["U1", "m3", "A5", "m7", "M9"],
"m9(13)": ["U1", "m3", "P5", "m7", "M9", "M13"],
"m9": ["U1", "m3", "P5", "m7", "M9"],
"dim7": ["U1", "m3", "d5", "d7"],
"m9b5": ["U1", "m3", "d5", "m7", "M9"],
"m7b5b9": ["U1", "m3", "m7", "A11", "m9"],
"m9no5": ["U1", "m3", "m7", "M9", "M13"],
"m11#5": ["U1", "m3", "A5", "m7", "M9", "P11"],
# for modes like Dorian/Aeolian
"m11#5b9": ["U1", "m3", "A5", "m7", "m9", "P11"],
"m11": ["U1", "m3", "P5", "m7", "M9", "P11"],
"m11b9": ["U1", "m3", "P5", "m7", "m9", "P11"],
"m11b5#9": ["U1", "m3", "d5", "m7", "A9", "P11"],
"m11b5": ["U1", "m3", "d5", "m7", "M9", "P11"],
"m11b5b9": ["U1", "m3", "d5", "m7", "m9", "P11"],
"m11no5": ["U1", "m3", "m7", "M9", "P11"],
"m13no5": ["U1", "m3", "m7", "M9", "P11", "M13"],
"m13": ["U1", "m3", "P5", "m7", "M9", "P11", "M13"],
# Dominant
"11#5b9": ["U1", "M3", "A5", "m7", "m9", "P11"],
"11b5b9": ["U1", "M3", "d5", "m7", "m9", "P11"],
"11#5": ["U1", "M3", "A5", "m7", "M9", "P11"],
"11b5": ["U1", "M3", "d5", "m7", "M9", "P11"],
"13#5#9#11": ["U1", "M3", "A5", "m7", "A9", "A11", "M13"],
"13#5#11": ["U1", "M3", "A5", "m7", "M9", "A11", "M13"],
"13#5b9#11": ["U1", "M3", "A5", "m7", "m9", "A11", "M13"],
"13#5": ["U1", "M3", "A5", "m7", "M9", "P11", "M13"],
"13#5b9": ["U1", "M3", "A5", "m7", "m9", "P11", "M13"],
"13b5#9": ["U1", "M3", "d5", "m7", "A9", "P11", "M13"],
"13b5": ["U1", "M3", "d5", "m7", "M9", "P11", "M13"],
"7b5#5#9": ["U1", "M3", "m7", "A11", "A5", "A9"],
"7b5#5b9": ["U1", "M3", "m7", "A11", "A5", "m9"],
"7b5#9": ["U1", "M3", "m7", "A11", "A9"],
"7b5b9#9": ["U1", "M3", "m7", "A11", "m9", "A9"],
"7b5b9": ["U1", "M3", "m7", "A11", "m9"],
"7#5#9": ["U1", "M3", "m7", "A5", "A9"],
"7#5b9#9": ["U1", "M3", "m7", "A5", "m9", "A9"],
"7#5b9": ["U1", "M3", "m7", "A5", "m9"],
"7#5": ["U1", "M3", "m7", "A5"],
"13#5#9": ["U1", "M3", "m7", "m3", "A5", "M13"],
"13b5b9": ["U1", "M3", "m7", "m9", "d5", "M13"],
"9": ["U1", "M3", "P5", "m7", "M9"],
"9no5": ["U1", "M3", "m7", "M9"],
"9#11": ["U1", "M3", "P5", "m7", "M9", "A11"],
"9b5": ["U1", "M3", "d5", "m7", "M9"],
"9#5": ["U1", "M3", "A5", "m7", "M9"],
"9#5#11": ["U1", "M3", "A5", "m7", "M9", "P11"],
"9(13)": ["U1", "M3", "P5", "m7", "M9", "M6"],
"9(13)no5": ["U1", "M3", "m7", "M9", "M6"],
"9b13": ["U1", "M3", "P5", "m7", "M9", "m6"],
"9b13no5": ["U1", "M3", "m7", "M9", "m6"],
"9no7": ["U1", "M3", "m7", "M9"],
"11": ["U1", "M3", "P5", "m7", "M9", "P11"],
"11no5": ["U1", "M3", "m7", "M9", "P11"],
"11#9": ["U1", "M3", "P5", "m7", "A9", "P11"],
"11#9no5": ["U1", "M3", "m7", "A9", "P11"],
"11#5#9": ["U1", "M3", "A5", "m7", "A9", "P11"],
"11b5#9": ["U1", "M3", "d5", "m7", "A9", "P11"],
"11b9": ["U1", "M3", "P5", "m7", "m9", "P11"],
"11b9no5": ["U1", "M3", "m7", "m9", "P11"],
"7#11": ["U1", "M3", "P5", "m7", "A11"],
"7b5": ["U1", "M3", "m7", "A11"],
"7b13": ["U1", "M3", "P5", "m7", "A5"],
"7b13no5": ["U1", "M3", "m7", "A5"],
"13#9#11": ["U1", "M3", "P5", "m7", "A9", "A11", "M13"],
"13#9b5": ["U1", "M3", "m7", "A9", "A11", "M13"],
"7#9#11": ["U1", "M3", "P5", "m7", "A9", "A11"],
"7#9b5": ["U1", "M3", "m7", "A9", "A11"],
"13#9no5": ["U1", "M3", "m7", "A9", "P11", "M13"],
"7#9": ["U1", "M3", "P5", "m7", "A9"],
"7#9no5": ["U1", "M3", "m7", "A9"],
"7(13)": ["U1", "M3", "P5", "m7", "M13"],
"7(13)no5": ["U1", "M3", "m7", "M13"],
"13b9#11": ["U1", "M3", "P5", "m7", "m9", "A11", "M13"],
"13b9b5": ["U1", "M3", "m7", "m9", "A11", "M13"],
"7b9#11": ["U1", "M3", "P5", "m7", "m9", "A11"],
"7b9b5": ["U1", "M3", "m7", "m9", "A11"],
"7(9,13)": ["U1", "M3", "P5", "m7", "M9", "M13"],
"7(b9,13)": ["U1", "M3", "P5", "m7", "m9", "M13"],
"7(9,13)no5": ["U1", "M3", "m7", "M9", "M13"],
"7(b9,13)no5": ["U1", "M3", "m7", "m9", "M13"],
"13(Mixolydian)no5": ["U1", "M3", "m7", "M9", "P11", "M13"],
"13sus4": ["U1", "P5", "m7", "M9", "P11", "M13"],
"13sus": ["U1", "P5", "m7", "M9", "P11", "M13"],
"13sus4b9": ["U1", "P5", "m7", "m9", "P11", "M13"],
"13susb9": ["U1", "P5", "m7", "b9", "P11", "M13"],
"13b9sus": ["U1", "P5", "m7", "m9", "P11", "M13"],
"13b9sus4": ["U1", "P5", "m7", "b9", "P11", "M13"],
"13sus4no5": ["U1", "m7", "M9", "P11", "M13"],
"13no5": ["U1", "M3", "m7", "M9", "P11", "M13"],
"13b9": ["U1", "M3", "P5", "m7", "m9", "P11", "M13"],
"13b9no5": ["U1", "M3", "m7", "m9", "P11", "M13"],
"7b9": ["U1", "M3", "P5", "m7", "m9"],
"7b9no5": ["U1", "M3", "m7", "m9"],
"7(11,13)": ["U1", "M3", "P5", "m7", "P11", "M13"],
"7(11,13)no5": ["U1", "M3", "m7", "P11", "M13"],
"7(11)": ["U1", "M3", "P5", "m7", "P11"],
"7(11)no5": ["U1", "M3", "m7", "P11"],
"7": ["U1", "M3", "P5", "m7"],
"7alt": ["U1", "M3", "d5", "m7", "m9", "A9", "A11"],
"7no5": ["U1", "M3", "m7"],
# Minor Major7
"dimMaj7": ["U1", "m3", "d5", "M7"],
"mMaj7b5b9": ["U1", "m3", "M7", "A11", "m9"],
"mMaj7#11": ["U1", "m3", "P5", "M7", "A11"],
"mMaj7b5": ["U1", "m3", "M7", "A11"],
"mMaj7b13": ["U1", "m3", "P5", "M7", "A5"],
"mMaj7#5": ["U1", "m3", "M7", "A5"],
"mMaj9(13)": ["U1", "m3", "P5", "M7", "M9", "M13"],
"mMaj9(13)no5": ["U1", "m3", "M7", "M9", "M13"],
"mMaj9": ["U1", "m3", "P5", "M7", "M9"],
"mMaj9no5": ["U1", "m3", "M7", "M9"],
"mMaj7": ["U1", "m3", "P5", "M7"],
"mMaj7no5": ["U1", "m3", "M7"],
}