#N canvas 63 103 944 864 10;
#N canvas 147 -3 669 492 fft-analysis 0;
#X obj 312 299 *~;
#X obj 293 334 *~;
#X obj 252 334 *~;
#X obj 134 141 *~;
#X obj 94 134 *~;
#X obj 94 161 +~;
#X obj 251 80 *~;
#X obj 288 80 inlet~;
#X obj 251 107 rfft~;
#X obj 69 358 *~;
#X floatatom 543 183;
#X obj 373 157 *~;
#X obj 94 80 *~;
#X obj 133 80 inlet~;
#X obj 72 40 tabreceive~ hanning;
#X obj 94 107 rfft~;
#X obj 252 361 rifft~;
#X obj 69 385 outlet~;
#X text 43 3 Hanning window;
#X obj 334 157 *~;
#X obj 334 184 +~;
#X obj 345 299 sig~ 0.001;
#X text 152 194 modulus;
#X obj 94 188 sqrt~;
#X obj 312 272 *~;
#X obj 543 79 r squelch;
#X obj 368 407 block~ 1024 4;
#X obj 334 214 rsqrt~;
#X obj 405 217 sig~ 1e-20;
#X obj 334 245 clip~;
#X obj 543 208 moses;
#X msg 538 260 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 16 1;
#X connect 2 0 16 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 23 0;
#X connect 6 0 8 0;
#X connect 7 0 6 1;
#X connect 8 0 19 0;
#X connect 8 0 19 1;
#X connect 8 0 2 0;
#X connect 8 1 11 0;
#X connect 8 1 11 1;
#X connect 8 1 1 0;
#X connect 9 0 17 0;
#X connect 10 0 30 0;
#X connect 11 0 20 1;
#X connect 12 0 15 0;
#X connect 13 0 12 1;
#X connect 14 0 12 0;
#X connect 14 0 6 0;
#X connect 14 0 9 0;
#X connect 15 0 4 0;
#X connect 15 0 4 1;
#X connect 15 1 3 0;
#X connect 15 1 3 1;
#X connect 16 0 9 1;
#X connect 19 0 20 0;
#X connect 20 0 27 0;
#X connect 21 0 0 1;
#X connect 23 0 24 0;
#X connect 24 0 0 0;
#X connect 25 0 32 0;
#X connect 27 0 29 0;
#X connect 28 0 27 0;
#X connect 29 0 24 1;
#X connect 30 0 31 0;
#X connect 30 1 29 2;
#X connect 31 0 29 2;
#X connect 32 0 33 0;
#X connect 32 0 33 1;
#X connect 33 0 34 0;
#X connect 34 0 10 0;
#X restore 113 717 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 706 659 pd insample;
#X floatatom 226 191;
#X obj 113 773 dac~;
#X obj 113 745 *~;
#X obj 166 773 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 166 745 r master-amp;
#X obj 706 703 loadbang;
#X obj 113 689 hip~ 5;
#X obj 113 661 tabread4~ sample;
#X obj 113 633 line~;
#X obj 706 731 samplerate~;
#X obj 706 759 s srate;
#X text 36 161 click here first;
#X obj 49 490 hip~ 5;
#X obj 49 462 adc~ 1;
#X msg 122 426 bang;
#X obj 155 462 r srate;
#X obj 122 462 f;
#X obj 122 490 s insamprate;
#X obj 49 518 tabwrite~ sample;
#X msg 264 498 \; play-sample 0 5000;
#X floatatom 264 431;
#X text 296 477 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 706 631 pd hanning-window;
#X msg 37 270 \; sample const 0 \, read16 ../sound/bell.aiff 62 b \; insamprate 44100;
#X msg 264 403 1;
#X msg 310 403 0;
#X floatatom 349 431;
#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 113 605 pd play1;
#N canvas 499 74 600 484 play2 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 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 obj 75 39 r play-sample2;
#X connect 0 0 4 2;
#X connect 0 0 10 0;
#X connect 1 0 9 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 16 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 0 0;
#X connect 8 0 6 0;
#X connect 8 1 1 0;
#X connect 9 0 3 0;
#X connect 9 0 6 1;
#X connect 10 0 2 0;
#X connect 11 0 12 0;
#X connect 12 0 10 1;
#X connect 12 0 9 1;
#X connect 17 0 7 0;
#X restore 267 605 pd play2;
#X obj 267 689 hip~ 5;
#X obj 267 633 line~;
#X msg 29 182 \; window-size 1024 \; pd dsp 1;
#X obj 226 219 s squelch;
#X text 43 398 record (up to 5 sec);
#X obj 518 482 hip~ 5;
#X obj 518 454 adc~ 1;
#X msg 591 418 bang;
#X obj 624 454 r srate;
#X obj 591 454 f;
#X obj 591 482 s insamprate;
#X floatatom 733 423;
#X text 765 469 play sample back;
#X msg 733 395 1;
#X msg 779 395 0;
#X floatatom 818 423;
#X text 512 390 record (up to 5 sec);
#X obj 518 510 tabwrite~ sample2;
#X msg 733 490 \; play-sample2 0 5000;
#X msg 506 262 \; sample2 const 0 \, read16 ../sound/bell.aiff 62 b \; insamprate 44100;
#X obj 267 661 tabread4~ sample2;
#X msg 37 329 \; sample const 0 \, read16 ../sound/beat.aiff 62 b \; insamprate 44100;
#X msg 506 321 \; sample2 const 0 \, read16 ../sound/beat.aiff 62 b \; insamprate 44100;
#X text 306 9 CORT&ZACK's SECRET;
#X obj 264 459 metro 1700;
#X obj 733 451 metro 1800;
#X text 223 163 range 1-100;
#X text 125 77 To get sound \, you have to "click here first" \, set squelch to 10 or so \, read or record two samples \, start the metronomes to play them back \, and ease up the master volume.;
#X text 126 41 I'm not sure how to explain this one \, except to say that it isn't convolution.;
#X connect 0 0 4 0;
#X connect 2 0 40 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 20 0 26 0;
#X connect 21 0 20 0;
#X connect 22 0 24 0;
#X connect 22 0 26 0;
#X connect 23 0 24 1;
#X connect 24 0 25 0;
#X connect 28 0 61 0;
#X connect 32 0 28 0;
#X connect 33 0 28 0;
#X connect 34 0 61 1;
#X connect 35 0 16 0;
#X connect 36 0 38 0;
#X connect 37 0 0 1;
#X connect 38 0 57 0;
#X connect 42 0 54 0;
#X connect 43 0 42 0;
#X connect 44 0 46 0;
#X connect 44 0 54 0;
#X connect 45 0 46 1;
#X connect 46 0 47 0;
#X connect 48 0 62 0;
#X connect 50 0 48 0;
#X connect 51 0 48 0;
#X connect 52 0 62 1;
#X connect 57 0 37 0;
#X connect 61 0 27 0;
#X connect 62 0 55 0;
