#N canvas 185 22 882 671 10;
#X obj 559 40 bng 20 250 50 0 empty empty empty 17 7 0 10 -241326 -1
-1;
#N canvas 790 22 443 326 sampler 0;
#X obj 233 242 table \$0-buffer;
#X obj 129 243 soundfiler;
#X obj 129 185 list append \$0-buffer;
#X obj 31 72 openpanel;
#X obj 31 95 list append \$0-buffer;
#X msg 31 119 read -resize \$1 \$2;
#X obj 178 94 loadbang;
#X msg 189 116 \; hz 1 \; grain 500 \; pd dsp 1;
#X obj 31 41 inlet;
#X msg 129 214 read -resize ../samples/bubul.wav \$1;
#X connect 2 0 9 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 6 0 2 0;
#X connect 8 0 3 0;
#X connect 9 0 1 0;
#X restore 559 66 pd sampler;
#X obj 446 497 tabread4~ \$0-buffer;
#X obj 565 540 *~;
#X obj 446 470 +~;
#X obj 488 471 samphold~;
#X obj 608 398 samphold~;
#X obj 446 435 *~;
#X obj 580 471 /~ 2;
#X obj 580 497 sin~;
#X floatatom 663 235 0 0 1e+06 0 - grain -;
#X floatatom 552 236 0 0 1e+06 0 - - -;
#X floatatom 742 235 0 0 50 0 - hz -;
#X text 740 216 Hz;
#X obj 613 603 hsl 128 15 0 1 0 0 empty ganho empty -2 -8 0 10 -204786
-1 -1 0 1;
#N canvas 0 22 450 300 ganho 0;
#X obj 206 206 *~;
#X obj 225 175 line~;
#X msg 225 149 \$1 10;
#X obj 225 113 pow 4;
#X obj 190 245 dac~;
#X obj 226 60 inlet;
#X obj 177 60 inlet~;
#X connect 0 0 4 0;
#X connect 0 0 4 1;
#X connect 1 0 0 1;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X restore 565 625 pd ganho;
#X obj 565 597 +~;
#X obj 633 523 tabread4~ \$0-buffer;
#X obj 633 568 *~;
#X obj 633 496 +~;
#X obj 677 497 samphold~;
#X obj 777 441 samphold~;
#X obj 633 466 *~;
#X obj 756 508 /~ 2;
#X obj 756 534 sin~;
#X obj 728 404 wrap~;
#X obj 728 376 +~ 0.5;
#X obj 742 272 phasor~;
#X obj 64 198 cnv 15 248 148 empty empty empty 20 12 0 14 -224824 -66577
0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array cos 441 float 0;
#X array seno 441 float 0;
#X coords 0 1 441 0 250 150 1;
#X restore 63 197 graph;
#X obj 167 556 tabwrite~ seno;
#X obj 78 556 tabwrite~ cos;
#X obj 78 480 /~ 2;
#X obj 167 383 phasor~ 150;
#X obj 211 515 metro 300;
#X obj 211 496 tgl 15 0 empty empty empty 17 7 0 10 -183917 -1 -1 1
1;
#X obj 211 475 loadbang;
#X obj 167 479 /~ 2;
#X obj 167 445 wrap~;
#X obj 167 419 +~ 0.5;
#X obj 78 508 sin~;
#X obj 167 508 sin~;
#X text 652 216 grão (ms);
#X text 523 214 posição (ms);
#X obj 440 276 samplerate~;
#X obj 440 303 / 1000;
#X obj 440 329 v sr_KHz;
#X obj 440 251 loadbang;
#X obj 552 262 expr~ $v1 * sr_KHz \; $v2 * sr_KHz;
#X obj 552 309 s~ \$0-pos;
#X obj 663 309 s~ \$0-grain;
#X obj 742 308 s~ \$0-fase;
#X obj 531 352 r~ \$0-fase;
#X obj 608 360 r~ \$0-grain;
#X obj 728 352 r~ \$0-fase;
#X obj 777 406 r~ \$0-grain;
#X obj 665 474 r~ \$0-pos;
#X obj 476 443 r~ \$0-pos;
#X text 34 39 Para compensar o efeito sonoro do uso de um envelope
(ou seja \, da modulação de amplitude) \, podemos fazer uma sobreposição
("overlap" em inglês) de dois grãos em oposição de fase.;
#X text 35 100 O overlap não deixa de ser um crossfade \, de modo que
\, enquanto a amplitude de um envelope decai \, a do outro sobe.;
#X text 587 40 Abrir outro arquivo;
#X text 440 104 Usando um envelope com a metade de um período da funcão
seno \, essa sobreposição defasada gera um crossfade de Potência Constante
(Equal Power) \, já apresentado anteriormente - vide gráfico à esquerda.
;
#X text 259 557 Plotar gráfico;
#X text 212 435 Defasagem;
#X text 34 591 Para defasar os envelopes \, somamos a fase de um deles
por 0.5 (o que gera uma oposição de fase). O [wrap~] mantém o registro
da fase entre 0 e 1 (em vez de 0.5 e 1.5).;
#X text 441 167 No patch abaixo \, temos o exemplo anterior com a inclusão
da sobreposição de grãos.;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
#X connect 4 0 2 0;
#X connect 5 0 4 1;
#X connect 6 0 7 1;
#X connect 7 0 4 0;
#X connect 8 0 9 0;
#X connect 9 0 3 1;
#X connect 10 0 48 1;
#X connect 11 0 48 0;
#X connect 12 0 27 0;
#X connect 14 0 15 1;
#X connect 16 0 15 0;
#X connect 17 0 18 0;
#X connect 18 0 16 1;
#X connect 19 0 17 0;
#X connect 20 0 19 1;
#X connect 21 0 22 1;
#X connect 22 0 19 0;
#X connect 23 0 24 0;
#X connect 24 0 18 1;
#X connect 25 0 22 0;
#X connect 25 0 23 0;
#X connect 25 0 21 1;
#X connect 25 0 20 1;
#X connect 26 0 25 0;
#X connect 27 0 51 0;
#X connect 32 0 40 0;
#X connect 33 0 32 0;
#X connect 33 0 39 0;
#X connect 34 0 31 0;
#X connect 34 0 30 0;
#X connect 35 0 34 0;
#X connect 36 0 35 0;
#X connect 37 0 41 0;
#X connect 38 0 37 0;
#X connect 39 0 38 0;
#X connect 40 0 31 0;
#X connect 41 0 30 0;
#X connect 44 0 45 0;
#X connect 45 0 46 0;
#X connect 47 0 44 0;
#X connect 48 0 49 0;
#X connect 48 1 50 0;
#X connect 52 0 7 0;
#X connect 52 0 8 0;
#X connect 52 0 6 1;
#X connect 52 0 5 1;
#X connect 53 0 6 0;
#X connect 54 0 26 0;
#X connect 55 0 21 0;
#X connect 56 0 20 0;
#X connect 57 0 5 0;
