-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscaleculator.pd
More file actions
185 lines (185 loc) · 5.74 KB
/
scaleculator.pd
File metadata and controls
185 lines (185 loc) · 5.74 KB
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
#N canvas 176 84 838 447 12;
#X listbox 364 340 26 0 0 0 - - - 0;
#X floatatom 556 340 5 0 0 0 - - - 0;
#N canvas 349 39 816 684 scaleculator 0;
#X floatatom 306 532 5 0 0 0 - - - 0;
#X floatatom 355 532 5 0 0 0 - - - 0;
#X floatatom 403 532 5 0 0 0 - - - 0;
#X floatatom 452 532 5 0 0 0 - - - 0;
#X floatatom 501 532 5 0 0 0 - - - 0;
#X floatatom 549 532 5 0 0 0 - - - 0;
#X floatatom 598 532 5 0 0 0 - - - 0;
#X floatatom 258 532 5 0 0 0 - - - 0;
#X obj 306 507 +;
#X obj 355 507 +;
#X obj 403 507 +;
#X obj 452 507 +;
#X obj 501 507 +;
#X obj 549 507 +;
#X obj 598 507 +;
#X obj 44 308 inlet;
#X obj 180 642 outlet;
#X obj 71 36 sel 0 1 2 3 4 5 6 7 8 9 10 11 12 13;
#X floatatom 647 532 5 0 0 0 - - - 0;
#X obj 647 507 +;
#X obj 258 557 pack f f f f f f f f f, f 56;
#X obj 44 488 t f f;
#X obj 180 586 list split \$1, f 14;
#X obj 307 443 t b f;
#X obj 44 332 t b f;
#X text 115 10 Scale select;
#X obj 234 642 outlet;
#X text 43 270 Base note in OR bang (0), f 12;
#X text 700 503 Incremental values based on main note., f 11;
#X obj 71 11 inlet;
#X text 355 14 Source: https://www.guitarland.com/Music10/FGA/LectureMIDIscales.html First number = index, f 42;
#X obj 44 462 f;
#X obj 287 417 unpack s f f f f f f f f f, f 27;
#X msg 357 66 dorian 8 2 3 5 7 9 10 12;
#X msg 357 91 phrygian 8 1 3 5 7 8 10 12;
#X msg 357 116 lydian 8 2 4 6 7 9 11 12;
#X msg 357 141 mixolydian 8 2 4 5 7 9 10 12;
#X msg 357 166 aeolian 8 2 3 5 7 8 10 12;
#X msg 357 191 locrian 8 1 3 5 6 8 10 12;
#X msg 357 216 lydian_dominant 8 2 4 6 7 9 10 12;
#X msg 357 241 super_locrian 8 1 3 4 6 8 10 12;
#X msg 357 266 minor_pentatonic 6 3 5 7 10 12;
#X msg 357 291 major_pentatonic 6 2 4 7 9 12;
#X msg 357 316 minor_blues 7 3 5 6 7 10 12;
#X msg 357 341 major_blues 7 2 3 4 7 9 12;
#X msg 357 366 whole_half_diminished 9 2 3 5 6 8 9 11 12;
#X msg 357 391 half_whole_diminished 9 1 3 4 6 7 9 10 12;
#X obj 287 642 outlet;
#X obj 234 615 list length;
#X text 342 641 Output scale as list \, list index and name of scale;
#X connect 0 0 20 1;
#X connect 1 0 20 2;
#X connect 2 0 20 3;
#X connect 3 0 20 4;
#X connect 4 0 20 5;
#X connect 5 0 20 6;
#X connect 6 0 20 7;
#X connect 7 0 20 0;
#X connect 8 0 0 0;
#X connect 9 0 1 0;
#X connect 10 0 2 0;
#X connect 11 0 3 0;
#X connect 12 0 4 0;
#X connect 13 0 5 0;
#X connect 14 0 6 0;
#X connect 15 0 24 0;
#X connect 17 0 33 0;
#X connect 17 1 34 0;
#X connect 17 2 35 0;
#X connect 17 3 36 0;
#X connect 17 4 37 0;
#X connect 17 5 38 0;
#X connect 17 6 39 0;
#X connect 17 7 40 0;
#X connect 17 8 41 0;
#X connect 17 9 42 0;
#X connect 17 10 43 0;
#X connect 17 11 44 0;
#X connect 17 12 45 0;
#X connect 17 13 46 0;
#X connect 18 0 20 8;
#X connect 19 0 18 0;
#X connect 20 0 22 0;
#X connect 21 0 7 0;
#X connect 21 1 8 0;
#X connect 21 1 9 0;
#X connect 21 1 10 0;
#X connect 21 1 11 0;
#X connect 21 1 12 0;
#X connect 21 1 13 0;
#X connect 21 1 14 0;
#X connect 21 1 19 0;
#X connect 22 0 16 0;
#X connect 22 0 48 0;
#X connect 23 0 31 0;
#X connect 23 1 22 1;
#X connect 24 0 31 0;
#X connect 24 1 31 1;
#X connect 29 0 17 0;
#X connect 31 0 21 0;
#X connect 32 0 47 0;
#X connect 32 1 23 0;
#X connect 32 2 8 1;
#X connect 32 3 9 1;
#X connect 32 4 10 1;
#X connect 32 5 11 1;
#X connect 32 6 12 1;
#X connect 32 7 13 1;
#X connect 32 8 14 1;
#X connect 32 9 19 1;
#X connect 33 0 32 0;
#X connect 34 0 32 0;
#X connect 35 0 32 0;
#X connect 36 0 32 0;
#X connect 37 0 32 0;
#X connect 38 0 32 0;
#X connect 39 0 32 0;
#X connect 40 0 32 0;
#X connect 41 0 32 0;
#X connect 42 0 32 0;
#X connect 43 0 32 0;
#X connect 44 0 32 0;
#X connect 45 0 32 0;
#X connect 46 0 32 0;
#X connect 48 0 26 0;
#X coords 0 684 1 683 200 230 0;
#X restore 364 316 pd scaleculator;
#X f 48;
#X floatatom 364 36 5 0 115 1 Base\ Midi\ Note - - 0;
#X floatatom 506 36 5 0 13 1 Scale\ select - - 0;
#X obj 364 12 inlet;
#X obj 506 12 inlet;
#X text 20 38 Scaleculator takes in a midi note value through the first inlet \, calculates one octave of note values based on the selected harmonic scale and outputs as list through the first outlet., f 37;
#X obj 364 367 array set \$0-scl;
#X obj 556 367 array define \$0-scl;
#X text 487 89 dorian;
#X text 473 104 phrygian;
#X text 487 119 lydian;
#X text 480 149 aeolian;
#X text 480 164 locrian;
#X text 459 134 mixolydian;
#X text 424 179 lydian dominant;
#X text 438 194 super locrian;
#X text 417 209 minor pentatonic;
#X text 417 224 major pentatonic;
#X text 452 239 minor blues;
#X text 452 254 major blues;
#X obj 546 91 vradio 15 1 0 14 \$0-sclsel \$0-sclselinit empty 0 -8 0 10 #fcfcfc #000000 #000000 0;
#X text 382 269 whole half diminished;
#X text 382 284 half whole diminished;
#X floatatom 639 36 5 0 13 1 Array\ pos.\ select - - 0;
#X obj 639 12 inlet;
#X obj 639 59 array get \$0-scl;
#X floatatom 639 83 5 0 0 0 - - - 0;
#X obj 639 107 outlet;
#X text 20 136 By sending values from 0-13 to the second inlet \, harmonic scales can be selected or altered (when scaleculator is embedded., f 37;
#X obj 556 397 outlet;
#X text 20 300 Scale and index values are used to create array \$0-scl. Third inlet selects array position and outputs value through second outlet., f 37;
#X obj 697 397 outlet;
#X symbolatom 697 340 16 0 0 0 - - - 0;
#X obj 506 59 s \$0-sclselinit;
#X obj 697 287 r \$0-sclsel;
#X text 20 210 The second outlet outputs the number of notes in the respective scale (e.g. 6 notes in pentatonic scales or 9 in whole half diminished) and outputs through outlet to main patch., f 37;
#X text 132 385 Last updated 31.10.23;
#X connect 0 0 8 0;
#X connect 1 0 9 0;
#X connect 1 0 31 0;
#X connect 2 0 0 0;
#X connect 2 1 1 0;
#X connect 2 2 34 0;
#X connect 3 0 2 0;
#X connect 4 0 35 0;
#X connect 5 0 3 0;
#X connect 6 0 4 0;
#X connect 25 0 27 0;
#X connect 26 0 25 0;
#X connect 27 0 28 0;
#X connect 28 0 29 0;
#X connect 34 0 33 0;
#X connect 36 0 2 1;
#X coords 0 -1 1 1 200 230 2 375 80;