#N canvas 370 133 594 544 10; #X floatatom 46 82 5 0 0 0 - - -; #X obj 46 126 mod 12; #X obj 341 152 div 12; #X obj 341 208 - 1; #X symbolatom 341 300 10 0 0 0 - - -; #X obj 341 272 makefilename %i; #X obj 46 244 packel 0; #X obj 46 177 t b f; #X obj 73 331 pack s s; #X obj 73 415 symbol; #X msg 73 386 C-1; #X msg 73 357 set \$1\$2; #X obj 46 298 t b s; #X obj 46 149 + 1; #X msg 46 209 list C C# D D# E F F# G G# A A# B; #X symbolatom 73 445 10 0 0 0 - - -; #X text 94 120 C is always \; multiple of 12 \; so the modulo gives us \; the distance from C; #X text -46 144 packel counts \; from 1; #X text 333 102 OCTAVE CALCULATION; #X text 374 200 midi ocataves \; start at -1; #X text 442 264 convert the \; float to symbol; #X text 394 140 octave is made of 12 \; semitones \, so integer \; division by 12 gives us \; the octave; #X text 92 79 0 is C-1 in MIDI: (A44 is A4 - 69); #X obj 46 21 inlet; #X obj 73 474 outlet; #X symbolatom 232 275 10 0 0 0 - - -; #X obj 232 474 outlet; #X text 73 495 complete note \; and octave; #X text 227 495 note only; #X text 389 494 octave only; #X obj 389 473 outlet; #X text 129 343 pack the: symbols and: create a unique \; one; #X connect 0 0 2 0; #X connect 0 0 1 0; #X connect 1 0 13 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 3 0 30 0; #X connect 4 0 8 1; #X connect 5 0 4 0; #X connect 6 0 25 0; #X connect 6 0 12 0; #X connect 7 0 14 0; #X connect 7 1 6 1; #X connect 8 0 11 0; #X connect 9 0 15 0; #X connect 10 0 9 0; #X connect 11 0 10 0; #X connect 12 0 10 0; #X connect 12 1 8 0; #X connect 13 0 7 0; #X connect 14 0 6 0; #X connect 15 0 24 0; #X connect 23 0 0 0; #X connect 25 0 26 0;