#N canvas 515 34 543 585 12;
#X declare -stdpath ./;
#X floatatom 104 210 7 -30 130 0 - - - 0;
#X floatatom 122 338 7 0 0 0 - - - 0;
#X text 299 461 write to delay line;
#X text 271 365 read from delay line;
#X text 135 423 add the original and the delayed signal;
#X obj 104 246 mtof;
#X msg 178 246 1;
#X obj 104 299 *~;
#X obj 104 422 +~;
#X obj 122 393 *~ 0.7;
#X text 55 24 DELAYS WITH FEEDBACK;
#X obj 178 299 *~;
#X obj 178 270 adsr 1 100 1000 0 1000;
#X obj 104 501 output~;
#X text 43 138 We've added an amplitude control here so that the test oscillator only speaks while you're dragging the pitch up and down. Be sure to try shift-dragging on the pitch control., f 65;
#X text 261 529 updated for Pd version 0.37-1;
#X obj 104 270 phasor~;
#X obj 122 365 delread~ G02-del 160;
#X obj 132 462 delwrite~ G02-del 2000;
#X obj 351 25 declare -stdpath ./;
#X text 43 69 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 the resonant pitch. For longer delay times you get the famous old delay loop effect., f 65;
#X text 159 209 <-- pitch;
#X text 179 338 <-- set delay time;
#X text 177 395 feedback gain (less than 1 for stability);
#X connect 0 0 5 0;
#X connect 0 0 6 0;
#X connect 1 0 17 0;
#X connect 5 0 16 0;
#X connect 6 0 12 0;
#X connect 7 0 8 0;
#X connect 8 0 13 0;
#X connect 8 0 18 0;
#X connect 9 0 8 1;
#X connect 11 0 7 1;
#X connect 12 0 11 0;
#X connect 12 0 11 1;
#X connect 16 0 7 0;
#X connect 17 0 9 0;
