#N canvas 279 23 912 712 10;
#X obj 99 421 +~;
#X obj 99 378 phasor~;
#X obj 99 447 cos~;
#X obj 174 355 osc~;
#X obj 174 379 *~;
#X msg 235 367 \$1 10;
#X obj 235 387 line~;
#X text 172 315 Moduladora;
#X text 235 328 Índice;
#X text 94 328 Portadora;
#N canvas 227 235 427 341 gain 0;
#X obj 77 211 *~;
#X obj 65 274 dac~;
#X obj 106 181 line~;
#X msg 106 155 \$1 10;
#X obj 106 129 pow 4;
#X obj 77 61 inlet~;
#X obj 109 105 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -163060
-1 -1 0 1;
#X text 137 104 ganho;
#X obj 155 193 tgl 15 0 empty empty empty 17 7 0 10 -228856 -1 -1 1
1;
#X obj 247 224 r~ out;
#X obj 153 254 tabwrite~ waveshaping;
#X obj 155 214 metro 220;
#X obj 254 103 loadbang;
#X msg 254 125 \; moduladora 50 \; portadora 0.1 \; indice 1;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 0 0 10 0;
#X connect 2 0 0 1;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 0 0;
#X connect 6 0 4 0;
#X connect 8 0 11 0;
#X connect 9 0 10 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 12 0 8 0;
#X coords 0 -1 1 1 120 25 2 100 100;
#X restore 99 475 pd gain;
#X obj 595 345 cnv 15 198 138 empty empty empty 20 12 0 14 -212789
-66577 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array waveshaping 700 float 1;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
#X coords 0 1 699 -1 200 140 1;
#X restore 594 344 graph;
#X text 578 342 1;
#X text 572 466 -1;
#X text 577 407 0;
#X obj 99 356 nbx 4 14 -1e+37 1e+37 0 1 empty portadora empty 0 -8
0 10 -232576 -1 -1 0.1 256;
#X obj 174 333 nbx 4 14 -1e+37 1e+37 0 1 empty moduladora empty 0 -8
0 10 -204800 -1 -1 50 256;
#X obj 235 346 nbx 4 14 0 1e+37 0 1 empty indice empty 0 -8 0 10 -204786
-1 -1 1 256;
#X obj 381 396 +~;
#X obj 381 422 cos~;
#N canvas 227 235 427 341 gain 0;
#X obj 77 211 *~;
#X obj 65 274 dac~;
#X obj 106 181 line~;
#X msg 106 155 \$1 10;
#X obj 106 129 pow 4;
#X obj 77 61 inlet~;
#X obj 109 105 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -163060
-1 -1 0 1;
#X text 137 104 ganho;
#X obj 153 254 s~ out;
#X connect 0 0 1 0;
#X connect 0 0 1 1;
#X connect 0 0 8 0;
#X connect 2 0 0 1;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 0 0;
#X connect 6 0 4 0;
#X coords 0 -1 1 1 120 25 2 100 100;
#X restore 381 450 pd gain;
#X obj 455 355 phasor~;
#X obj 455 333 nbx 4 14 -1e+37 1e+37 0 1 empty portadora empty 0 -8
0 10 -232576 -1 -1 0.1 256;
#X obj 365 348 osc~;
#X obj 365 326 nbx 4 14 -1e+37 1e+37 0 1 empty moduladora empty 0 -8
0 10 -204800 -1 -1 50 256;
#X text 51 30 O waveshaping é um tópico extenso e amplo. Não veremos
certos detalhes técnicos e matemáticos a fundo \, é importante \, entretanto
\, ressaltar algumas questões como a relação com Modulação de Frequência
e Fase.;
#X text 55 94 Já vimos que Modulação de Frequência e Fase podem ser
ajustadas para gerar um resultado idêntico \, portanto estão muito
relacionadas entre si.;
#X text 52 156 A informação agora é que tanto a Modulação de Frequência
como a Modulação de Fase podem ser encaradas como um tipo de Waveshaping.
;
#X text 416 423 Função;
#X text 53 208 A relação pode ficar mais clara na comparação da Modulação
de Fase com Waveshaping como temos visto.;
#X text 131 288 Modulação de Fase;
#X text 390 289 Waveshaping;
#X text 465 155 A soma com o [phasor~] implica em uma modulação de
DC-Offset \, que acaba interferindo na forma de onda resultante \,
pois muda o ponto de leitura na função.;
#X text 463 28 Abaixo \, à esquerda \, temos um diagrama de modulação
de Fase com parâmetros não muito usuais \, com uma portadora de 0.1
Hz e uma moduladora de 50 Hz com índice de modulação de 1!;
#X text 464 83 Abaixo à direita temos uma variação de Waveshaping que
equivale ao diagrama da esquerda \, mas interpretado de outra maneira.
O que temos agora é um sinal de entrada numa função cosseno que consiste
em um oscilador (a 50 Hz) somado com um [phasor~] de 0.1 Hz.;
#X text 466 202 Independente da interpretação \, trata-se de exatamente
a mesma coisa e o mesmo diagrama. Portanto \, comprova-se a relação
do waveshaping com Modulação de Fase e Frequência.;
#X text 106 543 Curiosamente \, podemos notar que inverte-se a lógica
dos fatores. Porque \, no Waveshaping \, o sinal de entrada é o que
seria a onda moduladora numa FM ou PM.;
#X text 105 592 Vimos que o Waveshaping também é um tipo de processamento
comum para qualqer sinal de entrada \, e não somente um oscilador.
Isso não quer dizer que é trivial e simples fazermos modulação de frequência
e fase em qualquer sinal \, já que esse sinal entraria como o modulador
e não o portador.;
#X text 494 568 Não obstante \, mais à frente \, quando estudarmos
sinais e matemática complexa \, veremos como é possível sim e até fácil
realizar um processamento de modulação de frequência e de fase propriamente
ditas em qualquer sinal de entrada!;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 2 0 10 0;
#X connect 3 0 4 0;
#X connect 4 0 0 1;
#X connect 5 0 6 0;
#X connect 6 0 4 1;
#X connect 16 0 1 0;
#X connect 17 0 3 0;
#X connect 18 0 5 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 22 0 19 1;
#X connect 23 0 22 0;
#X connect 24 0 19 0;
#X connect 25 0 24 0;
