#N canvas 69 34 1266 674 10;
#X obj 229 217 image ./files/Amp.gif;
#X obj 984 517 powtodb;
#X obj 984 468 nbx 5 14 0 1 0 0 empty empty empty 18 -6 0 10 -204786
-1 -1 0.299213 256;
#X obj 876 182 rmstodb;
#X text 945 181 =;
#X msg 847 134 1;
#X msg 876 134 0.5;
#X msg 905 134 0.25;
#X obj 1036 569 dbtopow;
#X obj 530 293 nbx 8 14 1e-05 1 1 0 empty empty empty 18 -6 0 10 -204786
-1 -1 1e-05 256;
#X obj 530 434 nbx 8 14 0 100 0 0 empty empty empty 18 -6 0 10 -257985
-1 -1 0 256;
#X obj 533 271 hsl 128 15 1e-05 1 0 0 empty empty empty -2 -8 0 10
-204786 -1 -1 0 1;
#X obj 1158 609 dbtopow~;
#X obj 1103 609 dbtorms~;
#X obj 977 609 rmstodb~;
#X obj 1032 609 powtodb~;
#X obj 530 363 expr log10($f1);
#X floatatom 530 340 0 0 0 0 - - -;
#X floatatom 530 386 0 0 0 0 - - -;
#X obj 530 317 / 1e-05;
#X obj 984 541 nbx 8 14 0 100 0 0 empty empty empty 18 -6 0 10 -257985
-1 -1 89.5196 256;
#X obj 980 226 nbx 8 14 0 100 0 0 empty empty dB 18 -6 0 10 -257985
-1 -1 0 256;
#X obj 876 226 nbx 8 14 0 100 0 0 empty empty dB 18 -6 0 10 -257985
-1 -1 0 256;
#X obj 911 517 rmstodb;
#X floatatom 911 540 0 0 0 0 - - -;
#X msg 940 134 0.125;
#X msg 980 134 0.0625;
#X msg 1028 134 0;
#X text 922 569 conversão inversa:;
#X obj 520 459 cnv 15 160 120 empty empty empty 20 12 0 14 -237178
-66577 0;
#X floatatom 530 510 7 0 0 0 - - -;
#X obj 530 487 expr pow(10 \, $f1 / 20);
#X obj 530 531 * 1e-05;
#X text 620 462 "dbtorms";
#X obj 530 555 nbx 8 14 1e-05 1 1 0 empty empty empty 18 -6 0 10 -204786
-1 -1 1e-05 256;
#X text 620 551 linear;
#X text 612 539 amplitude;
#X text 579 317 <= amplitude de referência;
#X text 486 385 log =>;
#X text 577 510 <= razÃ£o;
#X text 474 339 razÃ£o =>;
#X obj 987 447 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -204786
-1 -1 3800 1;
#X text 801 609 versão em objetos de áudio:;
#X obj 530 409 * 20;
#X text 618 292 <= amplitude linear;
#X text 510 431 dB;
#X obj 580 126 cnv 15 190 40 empty empty empty 20 12 0 14 -224817 -66577
0;
#X text 653 144 10;
#X text 590 131 dB = 20 Log (amp / 0.00001);
#X obj 984 495 pow 2;
#X text 952 466 amp;
#X text 1067 540 dB;
#X text 889 541 dB;
#X text 39 38 Como as ampltudes são coletadas em instantes dados pela
Taxa de Amostragem \, medidas de amplitude máxima e média de amplitudes
são comuns para que possamos analisar a intensidade sonora. Para tal
\, precisamos de uma janela de tempo! Vejamos três exemplos de amplitude
na figura abaixo:;
#X text 57 438 Valores de amplitude são normalmente expressos em decibéis
(dB). Valores entre -1 e 1 \, como adotado em áudio digital \, costumam
ser chamados de "Amplitude Linear" \, em oposição aos valores em dB
que sÃ£o logarÃ­tmicos.;
#X text 62 326 1- Amplitude de Pico / "Peak Amplitude": Maior distância
em relação ao ponto Zero (não importa se Ã© um valor positivo ou negativo)
\; 2- Distância de Pico a Pico / "Peak to Peak": Diferença entre os
picos positivo e negativo \; 3- RMS (de "Root Mean Square"): Média
Quadrática dos valores de amplitude da janela - a mais comum \; 4-
Período/Janela.;
#X text 848 280 Veja como que \, a cada vez que você dobra ou divide
pela metade o valor da amplitude \, o valor em dB aumenta ou decresce
\, respectivamente \, em torno de 6 dB. Mas hÃ¡ tambÃ©m um outro padrÃ£o
\, para valores de PotÃªncia (como em Watts) \, que utiliza uma fÃ³rmula
um pouco diferente \, em que dobrar ou dividir pela metade muda em
torno de 3 dB.;
#X text 965 540 =;
#X obj 1122 509 powtodb;
#X obj 1122 533 nbx 8 14 0 100 0 0 empty empty empty 18 -6 0 10 -262130
-1 -1 94.7598 256;
#X text 1205 532 dB;
#X text 831 114 Amplitude linear;
#X obj 980 182 expr max(20 * log10($f1/0.00001) \, 0);
#X text 58 495 O objeto [dbtorms] de "dB to RMS" \, converte de dB
para amplitude linear. Não hÃ¡ conversão para uma amplitude "RMS" propriamente
dita e Ã© errôneo chamar o objeto assim \, mesmo porque a amplitude
RMS pode ser expressa tanto de forma linear quanto na escala em dB.
Mas esse é um erro assumido no Pd. Já [rmstodb] faz a conversão inversa
de amplitude em dB para linear.;
#X text 423 33 Um valor em dB indica uma proporção/razÃ£o em relação
a uma amplitude de referência. Portanto \, converter para dB é uma
conversão duma razão para uma escala logarítmica! No Pd \, a amplitude
de referência é 1e-05 (ou 0.00001). Sendo assim \, a fórmula de conversão
de amplitude linear ("amp") em dB \, realizada pelo [rmstodb] \, é:
;
#X text 454 197 Desse modo \, uma amplitude mínima de 1e-05 e máxima
de 1 retornam valores entre 0 e 100 dB. Veja abaixo essa conversÃ£o
feita num patch \, e tambÃ©m como funciona a conversÃ£o inversa feita
em [dbtorms].;
#X text 629 355 converte uma razão em uma;
#X text 630 368 escala logarítmica;
#X text 691 499 conversão;
#X text 697 516 inversa;
#X text 835 27 Abaixo temos a conversão do objeto [rmstodb] implementada
no objeto [expr] - com o cuidado de não permitir valores negativos
com a função "max 0". Sem isso \, uma amplitude menor que 1e-05 daria
valores negativos \, e zero seria infinito negativo.;
#X text 849 365 O objeto [powtodb] (de "power to dB" \, sendo que "power"
Ã© potÃªncia) lida com esse padrÃ£o. Na prática \, ele funciona como
o [rmstodb] se elevarmos a amplitude ao quadrado antes da operação
(a ser melhor explicado depois o porquê disso).;
#X connect 1 0 20 0;
#X connect 2 0 23 0;
#X connect 2 0 49 0;
#X connect 2 0 58 0;
#X connect 3 0 22 0;
#X connect 5 0 3 0;
#X connect 5 0 62 0;
#X connect 6 0 3 0;
#X connect 6 0 62 0;
#X connect 7 0 3 0;
#X connect 7 0 62 0;
#X connect 9 0 19 0;
#X connect 10 0 31 0;
#X connect 11 0 9 0;
#X connect 16 0 18 0;
#X connect 17 0 16 0;
#X connect 18 0 43 0;
#X connect 19 0 17 0;
#X connect 23 0 24 0;
#X connect 25 0 3 0;
#X connect 25 0 62 0;
#X connect 26 0 3 0;
#X connect 26 0 62 0;
#X connect 27 0 3 0;
#X connect 27 0 62 0;
#X connect 30 0 32 0;
#X connect 31 0 30 0;
#X connect 32 0 34 0;
#X connect 41 0 2 0;
#X connect 43 0 10 0;
#X connect 49 0 1 0;
#X connect 58 0 59 0;
#X connect 62 0 21 0;
