#N canvas 321 133 852 663 10; #X obj 42 503 ofelia d -s11; #X msg 62 479 read -c karplusstrong~.lua; #X obj 62 456 loadbang; #X obj 42 657 dac~; #X obj 42 378 mtof; #X text 78 378 converte MIDI para frequência em Hz; #X obj 42 632 *~ 1; #X obj 196 619 hsl 128 15 0.001 1 1 1 empty empty Volume -2 -8 0 10 -262144 -1 -1 5600 1; #X obj 42 404 t f b; #X text 103 433 cria mensagem | F D < com duração fixa D=5; #X text 85 404 começa a registrar o sinal e repassa a frequência ; #X obj 42 48 cyclone/seq; #X msg 144 16 start; #X obj 42 96 cyclone/counter 1 3; #X obj 42 147 route 1 2 3; #X obj 42 71 t b f; #X obj 42 121 pack f f; #X obj 84 172 t b f; #X obj 42 197 pack 0 f f f; #X obj 42 353 spigot; #X obj 42 432 pack f 5; #X text 121 49 produz eventos MIDI (canal \, nota \, velocity); #X text 175 196 empacota e desempacota para garantir a ordem de chegada (velocity \, nota \, canal), f 28; #X text 90 71 organiza os eventos em listas:; #X text 174 97 prefixa cada número por um contador (1=canal \, 2=nota \, 3=velocity), f 36; #X text 175 137 encaminha cada valor para a posição correspondente na lista \, e dispara a produção da lista após a chegada do velocity. , f 33; #X obj 42 586 *~ 1; #X text 80 586 ajusta ao velocity do evento MIDI; #X obj 63 536 sel 0; #X obj 63 559 / 127; #X obj 111 320 t f f; #X text 90 352 só deixa passar notas com velocity>0; #X text 154 319 usa velocity para controle de volume e de passagem de notas, f 37; #X obj 42 221 list split 1; #X obj 78 243 print EVENTO MIDI; #X obj 452 503 ofelia d -s11; #X msg 472 479 read -c karplusstrong~.lua; #X obj 472 456 loadbang; #X obj 452 378 mtof; #X text 488 378 converte MIDI para frequência em Hz; #X obj 452 632 *~ 1; #X obj 606 619 hsl 128 15 0.001 1 1 1 empty empty Volume -2 -8 0 10 -262144 -1 -1 5800 1; #X obj 452 404 t f b; #X text 513 433 cria mensagem | F D < com duração fixa D=5; #X text 495 404 começa a registrar o sinal e repassa a frequência ; #X obj 452 353 spigot; #X obj 452 432 pack f 5; #X obj 452 586 *~ 1; #X text 490 586 ajusta ao velocity do evento MIDI; #X obj 473 536 sel 0; #X obj 473 559 / 127; #X obj 521 320 t f f; #X text 500 352 só deixa passar notas com velocity>0; #X text 564 319 usa velocity para controle de volume e de passagem de notas, f 37; #X obj 42 270 route 144 145; #X obj 42 295 unpack f f; #X obj 452 295 unpack f f; #X msg 42 16 read bach.midi; #X text 132 269 encaminha cada canal do arquivo bach.midi para um sintetizador separado, f 74; #X connect 0 0 26 0; #X connect 1 0 0 0; #X connect 2 0 1 0; #X connect 4 0 8 0; #X connect 6 0 3 0; #X connect 7 0 6 1; #X connect 8 0 20 0; #X connect 11 0 15 0; #X connect 12 0 11 0; #X connect 13 0 16 0; #X connect 14 0 18 1; #X connect 14 1 18 2; #X connect 14 2 17 0; #X connect 15 0 13 0; #X connect 15 1 16 1; #X connect 16 0 14 0; #X connect 17 0 18 0; #X connect 17 1 18 3; #X connect 18 0 33 0; #X connect 19 0 4 0; #X connect 20 0 0 0; #X connect 26 0 6 0; #X connect 28 1 29 0; #X connect 29 0 26 1; #X connect 30 0 19 1; #X connect 30 1 28 0; #X connect 33 1 34 0; #X connect 33 1 54 0; #X connect 35 0 47 0; #X connect 36 0 35 0; #X connect 37 0 36 0; #X connect 38 0 42 0; #X connect 40 0 3 1; #X connect 41 0 40 1; #X connect 42 0 46 0; #X connect 45 0 38 0; #X connect 46 0 35 0; #X connect 47 0 40 0; #X connect 49 1 50 0; #X connect 50 0 47 1; #X connect 51 0 45 1; #X connect 51 1 49 0; #X connect 54 0 55 0; #X connect 54 1 56 0; #X connect 55 0 19 0; #X connect 55 1 30 0; #X connect 56 0 45 0; #X connect 56 1 51 0; #X connect 57 0 11 0;