#N canvas 44 54 1290 575 10;
#X obj 115 147 bng 20 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 100 272 *~;
#X obj 40 184 osc~ 440;
#X obj 88 306 dac~;
#X obj 115 208 vline~;
#X msg 115 180 1 200 \, 0 200 600;
#X msg 272 193 0.5;
#X obj 152 278 Scope~ 130 130 256 3 128 -0.01 1 0 0 0 0 102 255 51
135 135 135 0;
#X obj 272 166 loadbang;
#X msg 304 194 2;
#X obj 341 197 nbx 5 14 0.01 1e+37 0 0 empty empty empty 0 -8 0 10
-203904 -1 -1 0.01 256;
#X msg 625 220 1 50 \, \$1 50 50 \, 0 200 600;
#X obj 625 245 vline~;
#X obj 601 335 *~;
#X obj 589 369 dac~;
#X obj 656 319 Scope~ 130 130 256 3 128 -0.01 1 0 0 0 0 102 255 51
135 135 135 0;
#X obj 552 264 osc~ 440;
#X obj 318 309 loadbang;
#X obj 316 223 v pow;
#X obj 115 235 expr~ pow($v1 \, pow);
#X obj 625 196 expr pow($f1 \, 1 / pow);
#X obj 625 271 expr~ pow($v1 \, pow);
#X text 73 466 Já para um envelope ADSR é mais complicado por causa
do ponto de dacay. Por exemplo \, se você quer que o ponto de decay
seja para 0.7 mas você está com um envelope logarítmico ao quadrado
\, você terá 0.49 em vez de 0.7 \, a não ser que você calcule a raiz
quadrada de 0.7 (que é 0.83666).;
#X obj 625 137 bng 20 250 50 0 empty empty empty 17 7 0 10 -228856
-1 -1;
#X obj 625 169 f;
#X floatatom 675 139 0 0 0 0 - decay -;
#X text 672 116 decay;
#X text 520 74 Abaixo temos essa compensação matemática. Veja como
funciona.;
#X msg 318 336 \; decay 0.7 \; pd dsp 1;
#X obj 1013 326 *~;
#X floatatom 1096 213 5 0 0 0 - - -;
#X floatatom 1097 236 5 0 0 0 - - -;
#X obj 1002 389 dac~;
#X obj 1008 190 tgl 15 0 empty empty empty 0 -6 0 8 -228856 -1 -1 0
1;
#X obj 1070 333 Scope~ 130 130 256 3 128 0 1 0 0 0 0 102 255 51 135
135 135 0;
#X obj 1008 217 metro 1000;
#X obj 1028 258 ead~ 100 900;
#X obj 965 291 osc~ 440;
#X floatatom 1065 182 5 0 0 0 - - -;
#X text 911 102 Diferentemente dos outros exemplos apresentados aqui
\, ele gera uma curva distinta para o ataque e o release. Os argumentos
e respectivos inlets são o tempo de ataque e release.;
#X text 908 54 O [ead~] é um objeto gerador de envelope exponencial
- "ead" é de "exponential attack/decay". Mas \, na prática \, é um
envelope do tipo AR.;
#X text 91 33 Como costumamos pensar em controle de amplitude de forma
logarítmica \, é bom que façamos o mesmo com envelopes. Na forma "AR"
ou "ASR" é trivial \, basta elevar a uma potência \, veja abaixo o
que ocorre com uma potência de 2 e com 0.5 (o inverso/recíproco de
2). Tente outros valores.;
#X connect 0 0 5 0;
#X connect 1 0 3 0;
#X connect 1 0 3 1;
#X connect 2 0 1 0;
#X connect 4 0 19 0;
#X connect 5 0 4 0;
#X connect 6 0 18 0;
#X connect 8 0 6 0;
#X connect 9 0 18 0;
#X connect 10 0 18 0;
#X connect 11 0 12 0;
#X connect 12 0 21 0;
#X connect 13 0 14 0;
#X connect 13 0 14 1;
#X connect 16 0 13 0;
#X connect 17 0 28 0;
#X connect 19 0 1 1;
#X connect 19 0 7 0;
#X connect 20 0 11 0;
#X connect 21 0 13 1;
#X connect 21 0 15 0;
#X connect 23 0 24 0;
#X connect 24 0 20 0;
#X connect 25 0 24 1;
#X connect 29 0 32 0;
#X connect 29 0 32 1;
#X connect 30 0 36 1;
#X connect 31 0 36 2;
#X connect 33 0 35 0;
#X connect 35 0 36 0;
#X connect 36 0 29 1;
#X connect 36 0 34 0;
#X connect 37 0 29 0;
#X connect 38 0 35 1;
