Hello People,
this is my first post in this list so far, even though I've been playing around with Puredata for a couple of months... and I've been only recently on the list and I have to say that I'm learning a lot with you :)
I'm sorry if this is somehow a newbie question (I'm forever a newbie), but I searched for it and perhaps found the answer on Pd's forum, which is offline... so here it goes:
is there an object, or maybe an abstraction, to retrieve a MIDI Note's name out of its MIDI Value? For instance, a 60 would retrieve me "C4" (roughly speaking) and so on? I think that MAX has such object, but maybe I'm missing something in Pd's documentation...
thanks in advance!
hello
is there an object, or maybe an abstraction, to retrieve a MIDI Note's name
out of its MIDI Value? For instance, a 60 would retrieve me "C4" (roughly speaking) and so on? I think that MAX has such object, but maybe I'm missing something in Pd's documentation...
i made something like this once. although i am sure there are enough externals doing that..
alabala
Thank you so much :)
On Tue, Jan 12, 2010 at 12:17 AM, ypatios ypatios@gmail.com wrote:
hello
is there an object, or maybe an abstraction, to retrieve a MIDI Note's name
out of its MIDI Value? For instance, a 60 would retrieve me "C4" (roughly speaking) and so on? I think that MAX has such object, but maybe I'm missing something in Pd's documentation...
i made something like this once. although i am sure there are enough externals doing that..
alabala
-- ypatios
is there an object, or maybe an abstraction, to retrieve a MIDI Note's name out of its MIDI Value? For instance, a 60 would retrieve me "C4" (roughly speaking) and so on? I think that MAX has such object, but maybe I'm missing something in Pd's documentation...
I also have a slightly different version have a look if it may be of interest.
Bests, Lorenzo PS: You'll need zexy for this one, it comes with extended.
#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;
#N canvas 5 22 448 257 10; #X obj 137 113 mtonote; #X floatatom 137 55 5 0 127 0 - - -; #X msg 229 54 69; #X msg 192 54 60; #X floatatom 266 143 5 0 0 0 - - -; #X symbolatom 156 143 10 0 0 0 - - -; #X symbolatom 62 143 10 0 0 0 - - -; #X text 156 161 outlet 2 ; Note name only; #X text 266 161 outlet 3 ; octave only (float); #X text 75 54 scroll ->; #X text 73 69 0 ~ 127; #X text 12 3 mtonote - Convert MIDI note numbers to note name and octave ; #X text 304 235 Lorenzo Sutton 2009; #X connect 0 0 6 0; #X connect 0 1 5 0; #X connect 0 2 4 0; #X connect 1 0 0 0; #X connect 2 0 0 0; #X connect 3 0 0 0;