#N canvas 514 38 603 649 12;
#X declare -stdpath ./;
#X floatatom 326 290 5 0 0 0 - \$0-cycle-depth - 0;
#X obj 326 340 line~;
#X floatatom 255 238 5 0 0 0 - \$0-cycle-freq - 0;
#X floatatom 255 437 5 0 0 0 - \$0-feedback - 0;
#X obj 255 510 line~;
#X obj 255 462 * 0.01;
#X floatatom 156 201 5 0 200 0 - \$0-timbre - 0;
#X obj 156 278 line~;
#X obj 100 277 *~;
#X obj 100 304 cos~;
#X floatatom 100 165 6 0 100 0 - \$0-pitch - 0;
#X obj 100 192 mtof;
#X obj 100 220 * 0.5;
#X obj 100 359 clip~ -0.2 0.2;
#X obj 156 229 * 0.01;
#X obj 100 466 +~;
#X obj 237 538 *~;
#X obj 255 341 *~;
#X obj 255 312 +~ 1;
#X obj 255 368 +~ 1.46;
#X obj 100 548 output~;
#X obj 237 586 delwrite~ G03-del 1000;
#X obj 237 562 clip~ -1 1;
#X obj 326 316 pack f 100;
#X obj 156 253 pack f 100;
#X obj 100 249 osc~;
#X obj 255 399 delread4~ G03-del;
#X text 31 67 This is a fuzzed FM generator going into a delay loop \, this time using a variable delay object ([delread4~]) that also performs interpolation for non integer indexes. You can get several interesting effects this way. We have taken the precaution of clipping inside the loop to avoid instabilities. You can push the loop gain past 1 if you want \, it will just oscillate., f 76;
#X obj 255 486 pack f 100;
#X text 149 164 <-- pitch;
#X text 200 199 <-- timbre;
#X text 297 237 <-- cycle frequency (hundredths);
#X text 367 290 <-- cycle depth (msec);
#X text 300 437 <-- feedback (hundredths);
#X obj 255 288 osc~;
#X obj 255 264 * 0.01;
#X obj 76 20 cnv 5 5 25 empty empty Variable\ Time\ Delays 15 13 0 16 #dfdfdf #202020 0;
#X obj 100 331 hip~ 5;
#X text 151 330 Remove DC;
#N canvas 857 345 365 358 init 0;
#X obj 125 294 declare -stdpath ./;
#X obj 131 97 loadbang;
#X text 81 28 This subpatch initializes the patch and loads a value in the number boxes., f 29;
#X obj 131 126 bng 19 250 50 0 empty empty empty 0 -10 0 12 #dfdfdf #000000 #000000;
#X obj 131 153 f \$0;
#X msg 131 183 \; \$1-pitch 48 \; \$1-timbre 20 \; \$1-cycle-freq 50 \; \$1-cycle-depth 50 \; \$1-feedback 75;
#X connect 1 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X restore 459 550 pd init;
#X connect 0 0 23 0;
#X connect 1 0 17 1;
#X connect 2 0 35 0;
#X connect 3 0 5 0;
#X connect 4 0 16 1;
#X connect 5 0 28 0;
#X connect 6 0 14 0;
#X connect 7 0 8 1;
#X connect 8 0 9 0;
#X connect 9 0 37 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 25 0;
#X connect 13 0 15 0;
#X connect 14 0 24 0;
#X connect 15 0 20 0;
#X connect 15 0 16 0;
#X connect 16 0 22 0;
#X connect 17 0 19 0;
#X connect 18 0 17 0;
#X connect 19 0 26 0;
#X connect 22 0 21 0;
#X connect 23 0 1 0;
#X connect 24 0 7 0;
#X connect 25 0 8 0;
#X connect 26 0 15 1;
#X connect 28 0 4 0;
#X connect 34 0 18 0;
#X connect 35 0 34 0;
#X connect 37 0 13 0;
