#N canvas 308 34 519 528 10; #N canvas 0 0 450 300 graph111 0; #X array major 7 float 1; #A 0 0 2 4 5 7 9 11; #X coords 0 11 6 1 200 140 1; #X restore 310 18 graph; #X obj 45 110 tabread major; #X msg 328 209 \; major 0 0 2 4 5 7 9 11; #X obj 45 68 random 7; #X obj 46 47 metro 1000; #X msg 45 20 1; #X msg 87 22 0; #X text 337 240 pc for a major scale; #X floatatom 176 257 5 0 10; #X text 173 238 octave; #X text 63 142 Pitch class; #X text 35 406 MIDI pitch number; #X text 339 256 0 = C; #X obj 48 385 print mpn; #X obj 62 183 print pc; #X text 123 70 random location within; #X text 105 84 the scale (0 = first degree); #X floatatom 198 189 5 0 0; #X obj 48 291 expr 12 * $f2 + $f1; #X obj 82 341 s pc; #X obj 326 179 loadbang; #X text 77 466 C major. Transpose at will....; #X text 55 434 The simplest possible way to generate major scales using arrays; #X connect 1 0 14 0; #X connect 1 0 18 0; #X connect 3 0 1 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 6 0 4 0; #X connect 8 0 18 1; #X connect 17 0 1 0; #X connect 18 0 13 0; #X connect 18 0 19 0; #X connect 20 0 2 0;