#N canvas 209 23 468 692 10;
#X text 56 373 Usaremos o [block~] para delays \, análise de FFT e
também para mudanças de sample rate - como veremos logo mais.;
#N canvas 136 65 683 273 block 0;
#X obj 132 44 block~ 1;
#X obj 144 145 osc~ 440;
#X obj 94 101 bng 15 250 50 0 empty empty empty 17 7 0 10 -261234 -1
-1;
#X obj 144 182 print~;
#X text 118 99 <= Imprimir;
#X text 263 93 A título de exemplo \, temos aqui um objeto [block~]
setando o tamanho do bloco para apenas uma amostra. Portanto \, na
hora de imprimir o bloco de áudio no terminal com o [print~] \, teremos
apenas um valor de amplitude em vez de um bloco com 64 valores que
está rodando fora deste subpatch (no subpatch "pai").;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X restore 235 427 pd block;
#X text 193 244 <= tamanho de bloco padrão;
#X text 52 138 O padrão é que o bloco de áudio seja de 64 amostras
\, mas o [block~] permite que mudemos o tamanho do bloco de um patch
ou subpatch. Ou seja \, mesmo que não haja um objeto [block~] em seu
patch \, é como se houvesse um indicando o tamanho de bloco de 64 \,
como abaixo. Logo \, a presença de um objeto [block~] setado a 64 amostras
é completamente redundante.;
#X text 56 280 A mudança de bloco para um valor diferente de 64 costuma
ser conduzida em um subpatch \, principalmente porque objetos como
o [adc~] e [dac~] precisam de um bloco de 64 amostras para funcionar
corretamente. Por conseguinte \, somente processamentos especiais requererem
blocos de áudio diferentes \, e assim são implementados em subpatches.
;
#X text 63 425 Clique e abra o subpatch =>;
#X text 56 460 ============================================================
;
#X obj 344 36 loadbang;
#X msg 344 67 \; pd dsp 1;
#X text 59 491 O [switch~] possui as exatas mesmas funções que o [block~]
\, com a diferença de que é capaz de desligar o processamento de áudio
em um patch ou subpatch.;
#X text 55 41 O loadbang envia uma mensagem bang logo que o;
#X text 55 57 Pd é inicializado. Portanto \, ligamos o àudio;
#X text 55 73 no Pd à direita.;
#X text 48 107 ============================================================
;
#X text 68 638 Clique e abra o subpatch =>;
#N canvas 618 130 446 343 switch 0;
#X obj 246 212 osc~ 440;
#X obj 138 272 switch~;
#X floatatom 246 276 5 0 0 0 - - -;
#X obj 138 219 tgl 30 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X text 65 41 Por causa do objeto [switch~] \, o processamento de áudio
neste subpatch só funcionará se clicarmos no toggle. Portanto a mensagem
"1" liga o processamento e a mensagem "0" desliga.;
#X text 68 107 Sem nenhum argumento para definir o tamanho do bloco
\, o [switch~] rodará em um bloco de 64 amostras \, ou ainda no tamanho
de bloco setado no patch pai.;
#X obj 246 249 unsig~ 1;
#X text 118 196 Liga/Desliga;
#X connect 0 0 6 0;
#X connect 3 0 1 0;
#X connect 6 0 2 0;
#X restore 240 640 pd switch;
#X text 59 537 Isso pode ser útil porque \, como vimos \, uma vez que
o processamento de áudio no Pd está ligado \, todos os objetos de áudio
estão funcionando e gastando processamento. Desse modo \, podemos economizar
um pouquinho se um patch ou suboatch for muito pesado. Abra o suboatch
abaixo:;
#X obj 127 244 block~ 3;
#X connect 7 0 8 0;
