#N canvas 22 1 521 559 12;
#X text 309 531 updated for Pd version 0.26;
#X floatatom 58 505;
#N canvas 159 26 495 266 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 425 178 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 425 153 t b f;
#X obj 397 117 moses 1;
#X obj 83 148 dbtorms;
#X obj 397 92 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 22 181 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 199 100 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 89 outlet;
#X msg 214 64 \; pd dsp 1;
#X obj 83 194 line~;
#X obj 22 212 *~;
#X obj 22 241 dac~;
#X obj 83 171 pack 0 50;
#X text 20 158 audio;
#X text 93 110 show level;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 13 0;
#X connect 5 0 13 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 9 1 4 1;
#X connect 10 0 24 0;
#X connect 11 0 1 1;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 12 0 18 0;
#X connect 14 0 22 0;
#X connect 15 0 17 0;
#X connect 15 0 20 0;
#X connect 18 0 19 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 22 0 23 1;
#X connect 24 0 21 0;
#X restore 29 533 pd output;
#X msg 87 505 MUTE;
#X text 126 504 <-- output amplitude;
#N canvas 0 0 600 392 conversion-tables 0;
#X obj 26 130 loadbang;
#X graph graph1 0 0 123 10 302 148 502 48;
#X array dbtorms 123 float;
#X pop;
#X text 504 141 0;
#X text 506 41 10;
#X text 321 151 ------ 123 samples ------;
#X graph graph2 0 0 130 12000 309 325 509 225;
#X array mtof 130 float;
#X pop;
#X text 319 333 ------ 130 samples ------;
#X text 518 318 0;
#X text 520 218 12000;
#X msg 26 153 \; dbtorms read dbtorms.txt \; mtof read mtof.txt;
#X connect 0 0 9 0;
#X restore 349 487 pd conversion-tables;
#X obj 29 476 hip~ 5;
#X obj 29 297 -~;
#X obj 29 273 *~ 3;
#X obj 66 279 *~ 2;
#X floatatom 29 177;
#X obj 29 249 clip~ 0 0.667;
#X obj 39 450 delwrite~ delay1 2000;
#X floatatom 45 353;
#X text 79 176 <-- pitch;
#X text 75 352 <-- delay time;
#X text 194 449 write to delay line;
#X text 188 377 read from delay line;
#X text 64 426 add the original and the delayed signal;
#X obj 29 201 mtof;
#X msg 135 238 1;
#X obj 29 321 *~;
#X obj 29 225 phasor~ 0;
#X obj 135 286 tabread4~ dbtorms;
#X obj 135 262 adsr 100 100 2000 0 2000;
#X obj 29 427 +~;
#X obj 45 377 delread~ delay1 160;
#X obj 45 401 *~ 0.7;
#X text 103 401 feedback gain;
#X text 57 9 DELAYS WITH FEEDBACK;
#X text 33 39 You can feed the result of a delread~ module back into its own delwrite~ \, as long as you're careful about stability. For delays below 30 msec \, you can frequently hear teh resonant pitch. For longer delay times you get the famous old delay loop effect.;
#X text 33 112 WE've added an amplitude control here so that teh test oscillator only speaks while you're dragging the pitch up and down. Be sure to try the shift key.;
#X connect 1 0 2 1;
#X connect 2 0 1 0;
#X connect 3 0 2 2;
#X connect 6 0 2 0;
#X connect 7 0 21 0;
#X connect 8 0 7 0;
#X connect 9 0 7 1;
#X connect 10 0 19 0;
#X connect 10 0 20 0;
#X connect 11 0 8 0;
#X connect 13 0 26 0;
#X connect 19 0 22 0;
#X connect 20 0 24 0;
#X connect 21 0 25 0;
#X connect 22 0 9 0;
#X connect 22 0 11 0;
#X connect 23 0 21 1;
#X connect 24 0 23 0;
#X connect 25 0 12 0;
#X connect 25 0 6 0;
#X connect 26 0 27 0;
#X connect 27 0 25 1;
