#N canvas 373 23 690 642 12;
#X obj 586 483 loadbang;
#X obj 49 336 mtof~;
#X obj 49 399 snapshot~;
#X obj 151 399 snapshot~;
#X floatatom 151 273 6 0 0 0 - - - 0;
#X obj 151 336 ftom~;
#X obj 254 399 snapshot~;
#X obj 254 336 dbtorms~;
#X obj 151 304 sig~;
#X obj 49 304 sig~;
#X obj 254 304 sig~;
#X obj 464 399 snapshot~;
#X obj 359 399 snapshot~;
#X obj 565 399 snapshot~;
#X floatatom 565 427 9 0 0 0 - - - 0;
#X obj 359 304 sig~;
#X obj 464 304 sig~;
#X obj 565 304 sig~;
#X obj 359 336 rmstodb~;
#X obj 464 336 dbtopow~;
#X obj 565 336 powtodb~;
#X obj 575 371 r metro;
#X floatatom 49 427 9 0 0 0 - - - 0;
#X floatatom 151 427 9 0 0 0 - - - 0;
#X floatatom 254 427 9 0 0 0 - - - 0;
#X floatatom 464 427 9 0 0 0 - - - 0;
#X floatatom 359 427 9 0 0 0 - - - 0;
#X obj 474 371 r metro;
#X obj 368 371 r metro;
#X obj 264 371 r metro;
#X obj 59 371 r metro;
#X obj 162 371 r metro;
#X obj 586 507 metro 100;
#X obj 586 533 s metro;
#X msg 544 194 \; pd dsp \$1;
#X floatatom 49 273 6 0 0 0 - - - 0;
#X floatatom 254 273 6 0 0 0 - - - 0;
#X floatatom 359 273 6 0 0 0 - - - 0;
#X floatatom 464 273 6 0 0 0 - - - 0;
#X floatatom 565 273 6 0 0 0 - - - 0;
#X text 577 164 DSP on/off;
#X text 15 594 see also:;
#X obj 93 579 mtof;
#X text 215 20 - acoustic conversions for audio signals, f 22;
#X obj 37 40 mtof~;
#X obj 37 17 ftom~;
#X obj 81 17 dbtorms~;
#X obj 82 40 rmstodb~;
#X obj 146 17 dbtopow~;
#X obj 147 40 powtodb~;
#X text 131 578 (etc.) - acoustic conversions for control data;
#X obj 93 607 expr~;
#N canvas 596 123 576 358 reference 0;
#X obj 8 207 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 8 255 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 8 292 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 7 329 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 168 303 NONE, f 50;
#X text 107 48 - MIDI pitch to Frequency in hertz.;
#X text 107 74 - Frequency in hertz to MIDI pitch.;
#X text 107 98 - dB to linear "RMS".;
#X text 107 122 - linear "RMS" to dB.;
#X text 107 146 - dB to power unit (square of "RMS").;
#X text 107 169 - power unit (square of "RMS") to dB.;
#X text 22 13 Acoustic conversions for audio signals, f 41;
#X obj 58 48 mtof~;
#X obj 58 73 ftom~;
#X obj 37 97 dbtorms~;
#X obj 37 120 rmstodb~;
#X obj 37 144 dbtopow~;
#X obj 38 168 powtodb~;
#X text 131 223 signal(s) - incoming value(s) to be converted., f 52;
#X text 131 265 signal(s) - the converted value(s)., f 52;
#X restore 563 24 pd reference;
#X obj 6 74 cnv 1 670 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 500 24 click =>;
#X obj 6 567 cnv 1 670 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 22 164 Boundary conditions are handled "reasonably". 100 db is assigned an RMS of 1 \, and [dbtorms~] and [dbtopow~] output true zero for 0 dB and less. See the help file for acoustic conversions of control data for more details on the conversions and boundary conditions., f 68;
#X text 22 84 These objects convert MIDI pitch to frequency and back \, and dB to and from RMS and power. The input and output are audio signals (and the conversion works sample by sample.) Since they call library math functions \, they may be much more expensive than other workaday tilde objects such as [*~] and [osc~] \, depending on your hardware and math library., f 89;
#X text 160 448 MIDI;
#X text 151 250 Hertz;
#X text 52 250 MIDI;
#X text 57 448 Hertz;
#X text 264 250 dB;
#X text 242 448 linear "RMS";
#X text 341 250 linear "RMS";
#X text 377 448 dB;
#X text 470 250 dB;
#X text 587 448 dB;
#X text 459 448 Power unit;
#X text 550 250 Power unit;
#X obj 544 159 set-dsp-tgl;
#N canvas 791 106 373 442 multichannel 0;
#X obj 86 163 snake~ in, f 10;
#X obj 86 271 snake~ out;
#X obj 185 360 snapshot~;
#X floatatom 185 399 6 0 0 0 - - - 0;
#X obj 86 360 snapshot~;
#X floatatom 86 399 6 0 0 0 - - - 0;
#X floatatom 86 106 5 0 0 0 - - - 0;
#X floatatom 153 106 5 0 0 0 - - - 0;
#X msg 199 217 \; pd dsp \$1;
#X text 231 180 DSP on/off;
#X obj 199 176 set-dsp-tgl;
#X obj 185 293 r bang;
#X text 70 25 All of these objects work with multichannel signals \, where the operation is performed in all existing channels., f 33;
#X obj 86 228 mtof~;
#X obj 86 133 sig~ 60;
#X obj 153 133 sig~ 69;
#X connect 0 0 13 0;
#X connect 1 0 4 0;
#X connect 1 1 2 0;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 6 0 14 0;
#X connect 7 0 15 0;
#X connect 10 0 8 0;
#X connect 11 0 2 0;
#X connect 11 0 4 0;
#X connect 13 0 1 0;
#X connect 14 0 0 0;
#X connect 15 0 0 1;
#X restore 336 515 pd multichannel;
#X text 185 500 mutichannel signal support ----------->, f 20;
#X text 467 608 updated for Pd version 0.54;
#X connect 0 0 32 0;
#X connect 1 0 2 0;
#X connect 2 0 22 0;
#X connect 3 0 23 0;
#X connect 4 0 8 0;
#X connect 5 0 3 0;
#X connect 6 0 24 0;
#X connect 7 0 6 0;
#X connect 8 0 5 0;
#X connect 9 0 1 0;
#X connect 10 0 7 0;
#X connect 11 0 25 0;
#X connect 12 0 26 0;
#X connect 13 0 14 0;
#X connect 15 0 18 0;
#X connect 16 0 19 0;
#X connect 17 0 20 0;
#X connect 18 0 12 0;
#X connect 19 0 11 0;
#X connect 20 0 13 0;
#X connect 21 0 13 0;
#X connect 27 0 11 0;
#X connect 28 0 12 0;
#X connect 29 0 6 0;
#X connect 30 0 2 0;
#X connect 31 0 3 0;
#X connect 32 0 33 0;
#X connect 35 0 9 0;
#X connect 36 0 10 0;
#X connect 37 0 15 0;
#X connect 38 0 16 0;
#X connect 39 0 17 0;
#X connect 70 0 34 0;
