#N canvas 367 100 660 620 12;
#X obj 217 293 soundfiler;
#X obj 133 445 output~;
#X obj 109 303 phasor~ 50;
#X obj 138 406 tabread4~ wave;
#X floatatom 217 321 5 0 0 0 - - -;
#X obj 217 348 - 1;
#X msg 217 261 read -resize ../../samples/baglama.wav wave;
#X obj 138 375 *~;
#X obj 322 346 cnv 15 198 138 empty empty empty 20 12 0 14 -240877
-66577 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array wave 512 float 0;
#X coords 0 1 511 -1 200 140 1;
#X restore 321 345 graph;
#X obj 217 227 loadbang;
#X text 94 -45 Agora temos um exemplo de oscilador de tabela (wavetable
oscillator) propriamente dito \, onde \, em vez de gerarmos uma tabela
\, usamos uma forma de onda previamente gravada. Durante a década de
80 \, essa técnica foi muito usada em diversos sintetizadores digitais.
;
#X text 96 43 É relativamente fácil encontrar por aí tabelas de onda
em formato .wav ou .aif que podem ser usadas no Pd. Para carregar um
arquivo wav numa tabela \, usamos o [soundfiler] \, que retorna o tamanho
da tabela em números de samples (que costuma ser de 512 amostras).
Pegamos esse valor "n" de amostras e subtraímos 1 para indicar os índices
da tabela \, que é de 0 a n-1.;
#X obj 109 272 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 14
-261682 -1 -1 0 256;
#X text 84 270 Hz;
#X text 94 162 Agora é só usar um [tabread4~] ligado a um [phasor~]
e pronto!;
#X connect 0 0 4 0;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 7 1;
#X connect 6 0 0 0;
#X connect 7 0 3 0;
#X connect 10 0 6 0;
#X connect 13 0 2 0;
