#N canvas 157 23 836 723 10;
#X obj 507 642 output~;
#X obj 622 541 nbx 5 14 -1e+37 1e+37 0 0 \$0-transpo empty empty 0
-8 0 10 -236782 -1 -1 0 256;
#X text 678 539 cents;
#X text 625 516 Transposição;
#X obj 507 513 nbx 2 14 1 50 0 0 \$0-peaks empty empty 0 -8 0 10 -204800
-1 -1 1 256;
#X text 470 510 peaks;
#X msg 507 532 npeak \$1;
#X obj 507 584 sigmund~ -npts 2048 -hop 512 -npeak 50 tracks;
#N canvas 474 53 644 315 banco_de_osciladores 0;
#X obj 84 216 catch~ \$0-bank;
#X obj 84 245 outlet~;
#X obj 85 52 inlet;
#X text 231 67 O [sigmund~] \, na configuração "tracks" \, envia informação
sobre diversas faixas que correspondem \, cada uma \, a um componente
espectral.;
#X text 233 117 A informação é dada em uma lista \, onde o primeiro
número é o número da "track". Usamos esse número para rotear para 50
diferentes osciladores que se encontram nos subpatches à esquerda \,
sendo cada subpatch um banco de 10 osciladores.;
#N canvas 83 171 748 295 1-10 0;
#X obj 56 83 route 0 1 2 3 4 5 6 7 8 9;
#X obj 231 225 outlet;
#X obj 56 42 inlet;
#X text 286 43 O objeto [route] é usado para rotear a informação das
listas fornecidas pelo [sigmund~]. A lista possui 4 ítens \, sendo
o primeiro o número da "track" usado pro roteamento. Esse número não
é repassado adiante \, apenas uma lista com os 3 números seguintes
\, que são \, respectivamente:;
#X text 285 119 - Frequência do componente \; - Amplitude do componente
\; - "flag";
#X text 289 222 As tracks que não estão numeradas de 0 a 9 são repassadas
para os outros bancos de 10 osciladores;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 56 166 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 70 146 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 85 127 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 100 106 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 114 169 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 129 149 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 144 128 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 158 107 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 173 170 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 188 150 pd osc;
#X text 287 170 O "flag" é uma informação se a track está ativa ou
inativa \, que usaremos para ligar e desligar o subpatch. Abra um dos
subpatches [pd osc] para ver como cada oscilador funciona.;
#X connect 0 0 6 0;
#X connect 0 1 7 0;
#X connect 0 2 8 0;
#X connect 0 3 9 0;
#X connect 0 4 10 0;
#X connect 0 5 11 0;
#X connect 0 6 12 0;
#X connect 0 7 13 0;
#X connect 0 8 14 0;
#X connect 0 9 15 0;
#X connect 0 10 1 0;
#X connect 2 0 0 0;
#X restore 85 78 pd 1-10;
#X text 233 186 Abra o primeiro subpatch [pd 1-10] para ver como essa
informação é repassada e manipulada adiante.;
#N canvas 83 171 343 291 21-30 0;
#X obj 240 234 outlet;
#X obj 56 42 inlet;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 65 175 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 79 155 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 94 136 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 109 115 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 123 178 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 138 158 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 153 137 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 167 116 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 182 179 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 197 159 pd osc;
#X obj 56 83 route 20 21 22 23 24 25 26 27 28 29;
#X connect 1 0 12 0;
#X connect 12 0 2 0;
#X connect 12 1 3 0;
#X connect 12 2 4 0;
#X connect 12 3 5 0;
#X connect 12 4 6 0;
#X connect 12 5 7 0;
#X connect 12 6 8 0;
#X connect 12 7 9 0;
#X connect 12 8 10 0;
#X connect 12 9 11 0;
#X connect 12 10 0 0;
#X restore 85 118 pd 21-30;
#N canvas 83 171 363 292 11-20 0;
#X obj 252 227 outlet;
#X obj 56 42 inlet;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 77 168 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 91 148 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 106 129 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 121 108 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 135 171 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 150 151 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 165 130 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 179 109 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 194 172 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 209 152 pd osc;
#X obj 56 83 route 10 11 12 13 14 15 16 17 18 19;
#X connect 1 0 12 0;
#X connect 12 0 2 0;
#X connect 12 1 3 0;
#X connect 12 2 4 0;
#X connect 12 3 5 0;
#X connect 12 4 6 0;
#X connect 12 5 7 0;
#X connect 12 6 8 0;
#X connect 12 7 9 0;
#X connect 12 8 10 0;
#X connect 12 9 11 0;
#X connect 12 10 0 0;
#X restore 85 98 pd 11-20;
#N canvas 83 171 336 285 31-40 0;
#X obj 231 225 outlet;
#X obj 56 42 inlet;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 56 166 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 70 146 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 85 127 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 100 106 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 114 169 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 129 149 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 144 128 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 158 107 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 173 170 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 188 150 pd osc;
#X obj 56 83 route 30 31 32 33 34 35 36 37 38 39;
#X connect 1 0 12 0;
#X connect 12 0 2 0;
#X connect 12 1 3 0;
#X connect 12 2 4 0;
#X connect 12 3 5 0;
#X connect 12 4 6 0;
#X connect 12 5 7 0;
#X connect 12 6 8 0;
#X connect 12 7 9 0;
#X connect 12 8 10 0;
#X connect 12 9 11 0;
#X connect 12 10 0 0;
#X restore 85 138 pd 31-40;
#N canvas 83 171 331 276 41-50 0;
#X obj 231 225 outlet;
#X obj 56 42 inlet;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 56 166 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 70 146 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 85 127 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 100 106 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 114 169 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 129 149 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 144 128 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 158 107 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 173 170 pd osc;
#N canvas 0 22 615 508 osc 0;
#X text 157 54 freq \, amp \, flag;
#X obj 117 54 inlet;
#X msg 117 84 \$3 \$1 \$2;
#X obj 117 117 route -1 0 1;
#X msg 117 183 0;
#X msg 163 183 0;
#X obj 110 296 line~;
#X obj 110 354 osc~;
#X obj 226 424 *~;
#X obj 240 277 line~;
#X msg 204 183 8;
#X obj 240 255 pack f 8;
#X obj 110 253 pack float float;
#X obj 110 325 expr~ $v1 * pow(2 \, $f2/1200);
#X obj 267 181 unpack;
#X obj 204 155 trigger b l;
#X obj 226 459 throw~ \$0-bank;
#X obj 275 302 r \$0-transpo;
#X text 177 83 muda ordem da lista;
#X text 201 109 Roteamento de acordo com o flag (-1 desliga \, 0 mantém
\, 1 track nova);
#X text 296 328 Transposição / Pitch Shifting;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 15 0;
#X connect 3 2 4 0;
#X connect 3 2 5 0;
#X connect 4 0 11 0;
#X connect 5 0 12 1;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 16 0;
#X connect 9 0 8 1;
#X connect 10 0 12 1;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 12 0;
#X connect 14 1 11 0;
#X connect 15 0 10 0;
#X connect 15 1 14 0;
#X connect 17 0 13 1;
#X restore 188 150 pd osc;
#X obj 56 83 route 40 41 42 43 44 45 46 47 48 49;
#X connect 1 0 12 0;
#X connect 12 0 2 0;
#X connect 12 1 3 0;
#X connect 12 2 4 0;
#X connect 12 3 5 0;
#X connect 12 4 6 0;
#X connect 12 5 7 0;
#X connect 12 6 8 0;
#X connect 12 7 9 0;
#X connect 12 8 10 0;
#X connect 12 9 11 0;
#X connect 12 10 0 0;
#X restore 85 158 pd 41-50;
#X connect 0 0 1 0;
#X connect 2 0 5 0;
#X connect 5 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X restore 507 608 pd banco_de_osciladores;
#X text 31 11 Como dito \, muitos processos de FFT são chamados de
"Phase Vocoder". Vimos o exemplo de channel vocoder clássico \, e como
se baseia uma análise de amplitude em um banco de filtros. Pois o Vocoder
de Fase era também capaz de computar informação de Fase dos bancos
de Filtro. Esse recurso permitiu uma série de processamentos \, como
o time stretch/compress e pitch shifting que vimos no exemplo anterior.
;
#X text 32 230 Um processo que essencialmente depende de uma análise
da informação de Fase é a estimativa acurada de frequência dos componentes
espectrais de um dado sinal. Ao estudramos FFT \, ficou evidente que
a análise não nos dá picos exatos de frequência \, e como a informação
de um pico se espalha por diferentes bandas de FFT. É por meio de uma
análise da diferença de fase inicial entre uma análise e outra que
conseguimos inferir com mais acuidade a frequência de um componente
espectral.;
#X text 34 357 A Transformada Inversa da FFT permite uma reconstrução
do sinal original \, ou ressíntese. Porém \, a partir de uma análise
de diversos componentes espectrais \, podemos ressintetizar o som original
partir de um banco de osciladores. E de fato a reconstrução de um sinal
dessa maneira foi possível somente com os primeiros Vocoders de Fase!
;
#X text 35 455 A ressíntese com um banco de osciladores abre diversas
possibilidades de manipulação espectral \, e de forma ainda mais poderosa
do que com uma FFT \, pois na FFT estamos restritos à manipulação da
informação de análise dentro dos limites das bandas de FFT.;
#X obj 676 55 sigmund~;
#X floatatom 676 77 5 0 0 0 - - -;
#X floatatom 721 77 5 0 0 0 - - -;
#X obj 721 97 dbtorms;
#X obj 676 97 mtof;
#X text 36 617 O [sigmund~] é uma poderosa ferramenta de análise de
sinais. Ele é em grande parte um "pitch tracker" \, ou um Analisador
de Alturas - capaz de dizer qual é a altura de diversos sinais harmônicos.
Mas ele também faz uma análise da amplitude e dos parciais (permitindo
assim ressíntese via banco de osciladores). Por padrão \, ele retorna
a altura do sinal no outlet esquerdo em MIDI e ampltitude em dB.;
#X text 426 245 A base da análise do [sigmund~] é uma FFT \, e podemos
assim dar alguns parâmetros como tamanho de pontos da janela de análise
(-npts 2048) \, tamanho do hop em pontos (-hop 512) e com a opção de
análise "tracks" podemos pedir um número máximo de componentes encontrados
(-npeak 50). Usamos a informação dada pelo [sigmund~] com essa configuração
para alimentar um banco de osciladores. Abra o subpatch [pd banco_de_osciladores]
e confira.;
#X obj 451 95 readsf~;
#X obj 451 50 loadbang;
#X obj 451 182 s~ \$0-in;
#X obj 676 32 r~ \$0-in;
#X obj 676 122 osc~;
#X obj 676 146 *~;
#X obj 676 171 output~;
#X text 34 527 Podemos não somente fazer time strecth e pitch shifting
\, como fazer um pitch shifting em somente alguns componentes espectrais!
Este exemplo não vai tão longe \, e demonstra apenas como ressintetizar
um sinal com um banco de osciladores a partir de dados fornecidos pelo
[sigmund~]. Fazemos também um pitch shifting a partir desses dados.
;
#X obj 466 128 output~;
#X obj 531 559 r~ \$0-in;
#X text 428 362 O Pitch Shifting é trivial \, em cada oscilador \,
fazemos uma transposição de altura de acordo com a caixa de número
abaixo em cents.;
#X text 430 411 Mude a caixa de número "peaks" para ter um controle
de quantos componentes e osciladores vocês está usando \, e veja que
mesmo com menos de uma dezena de osciladores já temos um resultado
muito bom. Estamos inicializando o banco com 50 osciladores \, entretanto.
;
#X msg 451 73 open ../samples/bubul.wav \, 1;
#X text 32 120 Pois bem \, uma FFT é nada mais nada menos que um banco
de filtros \, com bandas de frequência de mesma largura \, que nos
dá informação de amplitude e fase. Por isso muitos processamentos de
FFT acabaram por se relacionar com o conceito de Vocoder de Fase. Principalmente
as que \, de fato \, dependem de uma manipulação da informação de fase!
Por isso temos aqui uma seção sobre processamento espectral avançado
sendo encarados como "phase vocoders".;
#X connect 4 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 8 0 0 1;
#X connect 13 0 14 0;
#X connect 13 1 15 0;
#X connect 14 0 17 0;
#X connect 15 0 16 0;
#X connect 16 0 25 1;
#X connect 17 0 24 0;
#X connect 20 0 22 0;
#X connect 20 0 28 0;
#X connect 20 0 28 1;
#X connect 20 1 32 0;
#X connect 21 0 32 0;
#X connect 23 0 13 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 25 0 26 1;
#X connect 29 0 7 0;
#X connect 32 0 20 0;
