#N canvas 63 103 944 864 10;
#N canvas 147 -3 718 530 fft-analysis 0;
#X obj 162 302 *~;
#X obj 143 337 *~;
#X obj 102 337 *~;
#X obj 101 83 *~;
#X obj 138 83 inlet~;
#X obj 101 110 rfft~;
#X obj 71 413 *~;
#X obj 223 160 *~;
#X obj 74 47 tabreceive~ hanning;
#X obj 102 364 rifft~;
#X obj 71 440 outlet~;
#X obj 184 160 *~;
#X obj 184 187 +~;
#X obj 195 302 sig~ 0.001;
#X obj 218 410 block~ 1024 4;
#X obj 184 217 rsqrt~;
#X obj 255 220 sig~ 1e-20;
#X obj 184 248 clip~;
#X text 43 3 What does this do?;
#X floatatom 543 183;
#X obj 543 79 r squelch;
#X obj 543 208 moses;
#X msg 542 243 0;
#X obj 542 106 t f f;
#X obj 543 133 *;
#X obj 543 158 * 0.01;
#X connect 0 0 1 1;
#X connect 0 0 2 1;
#X connect 1 0 9 1;
#X connect 2 0 9 0;
#X connect 3 0 5 0;
#X connect 4 0 3 1;
#X connect 5 0 11 0;
#X connect 5 0 11 1;
#X connect 5 0 2 0;
#X connect 5 1 7 0;
#X connect 5 1 7 1;
#X connect 5 1 1 0;
#X connect 6 0 10 0;
#X connect 7 0 12 1;
#X connect 8 0 3 0;
#X connect 8 0 6 0;
#X connect 9 0 6 1;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 0 1;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 17 0 0 0;
#X connect 19 0 21 0;
#X connect 20 0 23 0;
#X connect 21 0 22 0;
#X connect 21 1 17 2;
#X connect 22 0 17 2;
#X connect 23 0 24 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 25 0 19 0;
#X restore 132 637 pd fft-analysis;
#N canvas 176 250 854 711 insample 0;
#X graph graph1 0 -1 220500 1 293 337 693 37;
#X array sample 220500 float;
#X pop;
#X graph graph1 0 -1 220500 1 291 666 691 366;
#X array sample2 220500 float;
#X pop;
#X msg 50 50 \; sample resize 220500 \; sample2 resize 220500;
#X restore 652 454 pd insample;
#X floatatom 245 111;
#X obj 132 693 dac~;
#X obj 132 665 *~;
#X obj 185 693 line~;
#X floatatom 691 80;
#N canvas 194 37 397 591 output 0;
#X obj 73 225 t b;
#X obj 73 169 f;
#X obj 73 113 inlet;
#X text 79 89 mute;
#X obj 73 253 f;
#X msg 149 271 0;
#X msg 73 141 bang;
#X obj 73 197 moses 1;
#X obj 149 243 t b f;
#X obj 107 490 outlet;
#X msg 107 462 set \$1;
#X obj 206 181 moses 1;
#X obj 249 493 dbtorms;
#X obj 249 521 pack 0 100;
#X obj 206 153 r master-lvl;
#X obj 107 424 r master-lvl;
#X obj 92 317 s master-lvl;
#X obj 249 549 s master-amp;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 16 0;
#X connect 5 0 16 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 10 0 9 0;
#X connect 11 1 4 1;
#X connect 12 0 13 0;
#X connect 13 0 17 0;
#X connect 14 0 1 1;
#X connect 14 0 11 0;
#X connect 15 0 10 0;
#X connect 15 0 12 0;
#X restore 691 52 pd output;
#X msg 691 24 mute;
#X text 734 71 MASTER;
#X text 733 87 LEVEL;
#X obj 691 108 s master-lvl;
#X obj 185 665 r master-amp;
#X obj 652 498 loadbang;
#X obj 132 609 hip~ 5;
#X obj 132 581 tabread4~ sample;
#X obj 132 553 line~;
#X obj 652 526 samplerate~;
#X obj 652 554 s srate;
#X text 55 81 click here first;
#X text 667 152 read a sample;
#X obj 68 410 hip~ 5;
#X obj 68 382 adc~ 1;
#X msg 141 346 bang;
#X obj 174 382 r srate;
#X obj 141 382 f;
#X obj 141 410 s insamprate;
#X obj 68 438 tabwrite~ sample;
#X msg 283 418 \; play-sample 0 5000;
#X floatatom 283 351;
#X text 315 397 play sample back;
#N canvas 275 71 767 761 hanning-window 0;
#X obj 108 242 phasor~;
#X obj 108 275 cos~;
#X obj 27 386 tabwrite~ hanning;
#X obj 35 297 -~;
#X obj 33 257 sig~ 1;
#X msg 44 212 0;
#X text 166 16 CALCULATE HANNING;
#X text 166 32 WINDOW TABLE;
#X graph graph1 0 -1 1024 1 323 631 723 331;
#X array hanning 1024 float;
#X pop;
#X msg 323 643 \; hanning resize 1024;
#X obj 109 154 / 1024;
#X obj 109 201 sig~;
#X text 206 174 sample rate / window size;
#X msg 27 169 bang;
#X obj 78 316 sig~ 0.5;
#X obj 58 353 *~;
#X obj 79 113 samplerate~;
#X obj 29 27 r window-size;
#X obj 29 62 t b f;
#X connect 0 0 1 0;
#X connect 1 0 3 1;
#X connect 3 0 15 0;
#X connect 4 0 3 0;
#X connect 5 0 0 1;
#X connect 10 0 11 0;
#X connect 11 0 0 0;
#X connect 13 0 2 0;
#X connect 13 0 5 0;
#X connect 14 0 15 1;
#X connect 15 0 2 0;
#X connect 16 0 10 0;
#X connect 17 0 18 0;
#X connect 18 0 16 0;
#X connect 18 0 13 0;
#X connect 18 1 10 1;
#X restore 652 426 pd hanning-window;
#X msg 56 190 \; sample const 0 \, read16 ../sound/bell.aiff 62 b \; insamprate 44100;
#X msg 283 323 1;
#X msg 329 323 0;
#X floatatom 368 351;
#N canvas 0 0 408 390 play1 0;
#X floatatom 187 139;
#X floatatom 99 138;
#X obj 136 207 t b f;
#X obj 136 235 +;
#X obj 100 263 pack 0 0 0;
#X msg 100 291 \$1 \, \$2 \$3;
#X obj 75 207 f;
#X obj 75 39 r play-sample;
#X obj 75 67 unpack;
#X obj 75 95 t b f;
#X obj 98 179 *;
#X obj 136 179 *;
#X obj 206 166 r insamprate;
#X obj 206 194 * 0.001;
#X text 173 67 playback;
#X text 117 118 start;
#X text 187 111 duration;
#X obj 100 319 outlet;
#X connect 0 0 4 2;
#X connect 0 0 11 0;
#X connect 1 0 10 0;
#X connect 2 0 3 0;
#X connect 2 1 3 1;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 5 0 17 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 1 0 0;
#X connect 9 0 6 0;
#X connect 9 1 1 0;
#X connect 10 0 3 0;
#X connect 10 0 6 1;
#X connect 11 0 2 0;
#X connect 12 0 13 0;
#X connect 13 0 11 1;
#X connect 13 0 10 1;
#X restore 132 525 pd play1;
#X msg 48 102 \; window-size 1024 \; pd dsp 1;
#X obj 245 139 s squelch;
#X text 62 318 record (up to 5 sec);
#X text 211 0 BOOSTING SMALL AMPLITUDES;
#X msg 56 249 \; sample const 0 \, read16 ../sound/vocal.aiff 62 b \; insamprate 44100;
#X obj 283 379 metro 2000;
#X connect 0 0 4 0;
#X connect 2 0 38 0;
#X connect 4 0 3 0;
#X connect 4 0 3 1;
#X connect 5 0 4 1;
#X connect 6 0 11 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X connect 12 0 5 0;
#X connect 13 0 17 0;
#X connect 14 0 0 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 17 0 18 0;
#X connect 21 0 27 0;
#X connect 22 0 21 0;
#X connect 23 0 25 0;
#X connect 23 0 27 0;
#X connect 24 0 25 1;
#X connect 25 0 26 0;
#X connect 29 0 42 0;
#X connect 33 0 29 0;
#X connect 34 0 29 0;
#X connect 35 0 42 1;
#X connect 36 0 16 0;
#X connect 42 0 28 0;
