Skip to content

Commit 958d34d

Browse files
committed
Moved the progressions list to the top
1 parent 0211665 commit 958d34d

1 file changed

Lines changed: 88 additions & 32 deletions

File tree

gen.py

Lines changed: 88 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
#!/usr/bin/env python3
22

3-
# Copyright (c) 2019-2020 Ludovic Drolez
3+
# Copyright (c) 2019-2021 Ludovic Drolez
44

55
# Permission is hereby granted, free of charge, to any person obtaining a copy
66
# of this software and associated documentation files (the "Software"), to deal
77
# in the Software without restriction, including without limitation the rights
88
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
99
# copies of the Software, and to permit persons to whom the Software is
1010
# furnished to do so, subject to the following conditions:
11-
11+
#
1212
# The above copyright notice and this permission notice shall be included in all
1313
# copies or substantial portions of the Software.
14-
14+
#
1515
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1616
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1717
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -50,6 +50,89 @@
5050
deg_maj = ['I', 'ii', 'iii', 'IV', 'V', 'vi', 'vii']
5151
deg_min = ['i', 'ii', 'III', 'iv', 'v', 'VI', 'VII']
5252

53+
# Major progressions
54+
prog_maj = [
55+
"I bIIM I iii",
56+
"I bIIM bIIIM bIIM",
57+
"I bIIIM bVIM bVIIM",
58+
"I bIIIM bVIIM IV",
59+
"I iii IV vi",
60+
"I iii vi IV",
61+
"I IV ii V",
62+
"I IV vi V",
63+
"I IV V V",
64+
"I IV V bVIIM",
65+
"I IV bIIIM bVIM",
66+
"I IV bVIIM IV",
67+
"I V vi ii",
68+
"I V vi IV",
69+
"I V vi iii IV",
70+
"I V vi V",
71+
"I V bVIIM IV",
72+
"I V vi iii IV I IV V",
73+
"I bVIM I bIIM",
74+
"I vi IV V",
75+
"I bVIIM bVIM bIIM",
76+
"I bVIIM IV I",
77+
"ii bIIM I bVIIM",
78+
"ii IV V V",
79+
"ii V I I",
80+
"ii V I IV",
81+
"ii bVIIM7 I", "ii7 V9 I7 I7",
82+
"iim7 V7 iiim7 vi7 iim7 V7",
83+
"bIIIM ii bIIM I",
84+
"iii vi IV I",
85+
"IV I ii vi",
86+
"IV I iii IV",
87+
"IV I V vi",
88+
"V I vi V",
89+
"V IV vi I",
90+
"V vi IV I",
91+
"vi IV I V",
92+
"vi bVIM bVIIM I",
93+
"vi V IV V",
94+
]
95+
96+
# minor progressions
97+
prog_min = [
98+
"i ii v i",
99+
"i iv v iv",
100+
"i iv VI v",
101+
"i iv VII i",
102+
"i iv VII v i i ii V",
103+
"i v iv VII",
104+
"i VI III bii",
105+
"i VI iv ii",
106+
"i VI III VII",
107+
"i VI VII VII",
108+
"i VI VII v",
109+
"i VI III VII i VI9 III VII",
110+
"i bVIIM bVIM bVIIM",
111+
"i bVIIM VI bii",
112+
"i VII i v",
113+
"i VII i v III VII i v i",
114+
"i VII VI III",
115+
"i VII VI VII",
116+
"ii v i i",
117+
"ii v i iv",
118+
"ii VI i iv",
119+
"ii7 v9 i7",
120+
"iv i v VI",
121+
"iv VI VII i",
122+
"iv III VII i",
123+
"iv v VI VII",
124+
"v i iv VII",
125+
"v iv i i",
126+
"v VI III i",
127+
"v VI v i",
128+
"VI i v v",
129+
"VI VI i VII",
130+
"VI VII i III",
131+
"VI VII v III",
132+
"VII iv VII i",
133+
"VII iv v i",
134+
]
135+
53136
#
54137
# Generate a single chord
55138
#
@@ -161,39 +244,12 @@ def genprog(dir, key, chords, prefix, style = ''):
161244

162245
# Major progressions
163246
for style in [ '', 'basic4', 'alt4', 'hiphop' ]:
164-
for n in [
165-
"I iii vi IV", "I iii IV vi", "I bIIM I iii", "I bIIM bIIIM bIIM",
166-
"I bIIIM bVIM bVIIM", "I bIIIM bVIIM IV",
167-
"I bVIM I bIIM", "I bVIIM bVIM bIIM", "I IV ii V",
168-
"I IV vi V", "I IV V V", "I IV V bVIIM", "I IV bIIIM bVIM",
169-
"I IV bVIIM IV", "I V vi ii", "I V vi IV",
170-
"I V vi iii IV", "I V vi V", "I V bVIIM IV", "I vi IV V",
171-
"I V vi iii IV I IV V",
172-
"I bVIIM IV I",
173-
"ii bIIM I bVIIM", "ii IV V V", "ii V I I", "ii V I IV",
174-
"ii bVIIM7 I", "ii7 V9 I7 I7", "iim7 V7 iiim7 vi7 iim7 V7",
175-
"bIIIM ii bIIM I", "iii vi IV I",
176-
"IV I ii vi", "IV I iii IV", "IV I V vi",
177-
"V I vi V", "V IV vi I", "V vi IV I",
178-
"vi IV I V", "vi bVIM bVIIM I", "vi V IV V",
179-
]:
247+
for n in prog_maj:
180248
genprog(f'{base}/4 Progression/Major', root_maj, n, root_maj, style)
181249

182250
# Minor progressions
183251
for style in [ '', 'basic4', 'alt4', 'hiphop' ]:
184-
for n in [
185-
"i ii v i", "i iv v iv", "i iv VI v", "i iv VII i",
186-
"i iv VII v i i ii V", "i v iv VII",
187-
"i VI III bii", "i VI iv ii", "i VI III VII", "i VI VII VII",
188-
"i VI VII v", "i VI III VII i VI9 III VII",
189-
"i bVIIM VI bii", "i VII VI III", "i VII VI VII", "i VII i v",
190-
"i VII i v III VII i v i", "i bVIIM bVIM bVIIM",
191-
"ii v i i", "ii v i iv", "ii VI i iv", "ii7 v9 i7",
192-
"iv i v VI", "iv VI VII i", "iv III VII i", "iv v VI VII",
193-
"v i iv VII", "v iv i i", "v VI v i", "v VI III i",
194-
"VI i v v", "VI VI i VII", "VI VII i III", "VI VII v III",
195-
"VII iv VII i", "VII iv v i",
196-
]:
252+
for n in prog_min:
197253
genprog(f'{base}/4 Progression/Minor', root_min.lower(), n, root_min, style)
198254

199255
# next key

0 commit comments

Comments
 (0)