#N canvas 138 36 1194 622 10;
#X obj 126 388 cos~;
#X obj 486 171 cnv 15 298 198 empty empty empty 20 12 0 14 -216628
-66577 0;
#X obj 490 393 cnv 15 298 198 empty empty empty 20 12 0 14 -204328
-66577 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array fase 441 float 0;
#X coords 0 1 440 -1 300 200 1;
#X restore 485 170 graph;
#N canvas 0 22 450 300 (subpatch) 0;
#X array onda 441 float 0;
#X coords 0 1 440 -1 300 200 1;
#X restore 489 392 graph;
#X text 53 39 A síntese por distorção de Fase (Phase Distortion) é
um método desenvolvio pela Casio e implementado em alguns de seus sintetizadores.
Mas veremos aqui como se trata de uma técnica relcionada com waveshaping.
;
#X text 53 105 Sabemos que se ligarmos um [phasor~] num [cos~] temos
um oscilador senoidal \, e é evidente a semelhança entre o [phasor~]
e uma dente de serra. A diferença é tão somente um ajuste de ganho
e DC-Offset.;
#X text 194 263 LFO;
#X text 465 44 Encarando como uma [triangle~] passando por uma função
de cosseno fica mais que claro e evidente a caracterização como um
waveshaping. Veja abaixo a tabela de "fase" que é a "distorção de fase"
e o resutado na forma de onda na tabela "onda'.;
#X text 39 503 O método de Distorção de Fase em todo seu potencial
técnico é um assunto que infelizmente não será abordado aqui além da
simples relação com Waveshaping.;
#X obj 126 350 trapezoid~ 0.2 0.8;
#X text 257 285 LFO;
#X obj 178 304 *~ 0.22;
#X obj 178 326 +~ 0.25;
#X obj 244 350 +~ 0.75;
#X obj 244 328 *~ 0.22;
#X obj 244 305 osc~ 0.55;
#X obj 178 283 osc~ 0.22;
#X text 53 169 Pois bem \, a distorção de fase consiste em distorcer
o formato do gerador de fase (logo \, o [phasor~]). Aqui temos uma
implementação que usa o objeto [trapezoid~] como gerador de fase distorcida.
A forma de onda é controlada por dois LFOs para dar uma graça.;
#X obj 103 314 phasor~ 80;
#X obj 902 401 cos~;
#X obj 902 362 triangle~;
#X obj 989 341 +~ 0.5;
#X obj 989 313 *~ 0.345;
#X obj 902 335 phasor~ 50;
#X obj 989 285 osc~ 0.13;
#X text 871 221 E \, porque não \, mais um exemplo?;
#X text 873 242 Agora com o [triangle~];
#N canvas 0 22 489 307 plot-out 0;
#X obj 410 180 metro 100;
#X obj 413 157 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 229 77 inlet~;
#X obj 103 75 inlet~;
#X obj 413 126 loadbang;
#X obj 323 257 tabwrite~ fase;
#X obj 186 273 tabwrite~ onda;
#X obj 343 66 inlet;
#X obj 344 112 pow 4;
#X msg 345 143 \$1 10;
#X obj 343 170 line~;
#X obj 197 204 *~;
#X obj 306 209 *~;
#X obj 235 217 r~ onda;
#X obj 404 223 r~ fase;
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 1 0 0 0;
#X connect 2 0 11 0;
#X connect 3 0 12 0;
#X connect 4 0 1 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 12 1;
#X connect 10 0 11 1;
#X connect 11 0 6 0;
#X connect 12 0 5 0;
#X connect 13 0 6 0;
#X connect 14 0 5 0;
#X restore 95 414 pd plot-out;
#X obj 168 389 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -204786
-1 -1 0 1;
#N canvas 0 22 489 307 plot-out 0;
#X obj 229 77 inlet~;
#X obj 103 75 inlet~;
#X obj 343 66 inlet;
#X obj 344 112 pow 4;
#X msg 345 143 \$1 10;
#X obj 343 170 line~;
#X obj 197 204 *~;
#X obj 306 209 *~;
#X obj 205 251 s~ onda;
#X obj 299 256 s~ fase;
#X connect 0 0 6 0;
#X connect 1 0 7 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 7 1;
#X connect 5 0 6 1;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X restore 871 429 pd plot-out;
#X obj 944 404 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -204786
-1 -1 12700 1;
#X text 1057 316 LFO;
#X connect 0 0 28 1;
#X connect 10 0 28 0;
#X connect 10 0 0 0;
#X connect 12 0 13 0;
#X connect 13 0 10 1;
#X connect 14 0 10 2;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 12 0;
#X connect 19 0 10 0;
#X connect 20 0 30 1;
#X connect 21 0 20 0;
#X connect 21 0 30 0;
#X connect 22 0 21 1;
#X connect 23 0 22 0;
#X connect 24 0 21 0;
#X connect 25 0 23 0;
#X connect 29 0 28 2;
#X connect 31 0 30 2;
