#N canvas 514 73 467 484 12;
#X declare -stdpath ./;
#N canvas 300 428 477 481 test-input 0;
#X obj 240 432 outlet~;
#X obj 156 305 -~;
#X obj 65 261 *~ 3;
#X obj 174 235 *~ 2;
#X floatatom 174 93 6 0 0 0 - - - 0;
#X obj 65 227 clip~ 0 0.667;
#X obj 174 147 mtof;
#X msg 258 154 1;
#X obj 258 188 adsr 100 100 2000 0 2000;
#X obj 174 56 inlet;
#X obj 174 181 phasor~;
#X text 221 93 <-- pitch;
#X obj 258 222 dbtorms~;
#X obj 156 339 hip~ 3;
#X obj 240 399 *~;
#X connect 1 0 13 0;
#X connect 2 0 1 0;
#X connect 3 0 1 1;
#X connect 4 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 2 0;
#X connect 6 0 10 0;
#X connect 7 0 8 0;
#X connect 8 0 12 0;
#X connect 9 0 4 0;
#X connect 10 0 5 0;
#X connect 10 0 3 0;
#X connect 12 0 14 1;
#X connect 13 0 14 0;
#X connect 14 0 0 0;
#X restore 87 185 pd test-input;
#X floatatom 87 155 6 10 130 0 - - - 0;
#X floatatom 147 221 6 0 100 0 - - - 0;
#X obj 87 294 output~;
#X text 27 57 Here is a simple recirculating reverberator. "Feedback" should be between 0 and 100 - if 100 \, the reverberation lasts forever.;
#N canvas 342 38 753 717 reverb 0;
#X obj 34 19 inlet~;
#X obj 34 281 +~;
#X obj 164 261 +~;
#X obj 34 649 outlet~;
#X obj 164 649 outlet~;
#X obj 201 345 +~;
#X obj 296 346 +~;
#X obj 233 345 -~;
#X obj 335 345 -~;
#X obj 200 414 +~;
#X obj 234 415 +~;
#X obj 278 416 -~;
#X obj 317 416 -~;
#X obj 548 21 inlet;
#X obj 200 607 delwrite~ loop-del1 60;
#X obj 234 584 delwrite~ loop-del2 71.9345;
#X obj 317 537 delwrite~ loop-del4 95.945;
#X obj 181 200 delread~ loop-del1 60;
#X obj 182 226 delread~ loop-del2 71.9345;
#X obj 353 297 delread~ loop-del4 95.945;
#X obj 335 272 delread~ loop-del3 86.7545;
#X obj 278 561 delwrite~ loop-del3 86.7545;
#X text 184 57 "early echo" generators \, which also increase echo density. Open one to see what they do., f 25;
#X text 184 124 Get the outputs of the recirculating delays. Add the inputs to two of them., f 26;
#X text 368 335 Do a power-conserving mix of them in pairs. First combine (1 \, 2) and (3 \, 4)..., f 21;
#X text 351 409 ...then (1 \, 3) and (2 \, 4), f 14;
#X text 376 492 The two mixing stages have a combined gain of 2 \, so the recirculation gain is limited to 0.5., f 48;
#X text 36 676 Tap outputs from here.;
#X text 569 140 feedback gain on a scale of 0 to 100 to control reverb time., f 20;
#X text 473 583 Put the signals back into the recirculating delays., f 25;
#X obj 548 55 clip 0 100;
#X obj 278 498 *~;
#X obj 234 497 *~;
#X obj 317 499 *~;
#X obj 200 496 *~;
#X obj 548 421 line~;
#X obj 548 83 / 200;
#X msg 548 107 \$1 10;
#X obj 34 53 reverb-echo 5.43216;
#X obj 34 77 reverb-echo 8.45346;
#X obj 34 101 reverb-echo 13.4367;
#X obj 34 125 reverb-echo 21.5463;
#X obj 34 149 reverb-echo 34.3876;
#X obj 34 173 reverb-echo 55.5437;
#X connect 0 0 38 0;
#X connect 1 0 3 0;
#X connect 1 0 5 0;
#X connect 1 0 7 0;
#X connect 2 0 4 0;
#X connect 2 0 5 1;
#X connect 2 0 7 1;
#X connect 5 0 9 0;
#X connect 5 0 11 0;
#X connect 6 0 11 1;
#X connect 6 0 9 1;
#X connect 7 0 10 0;
#X connect 7 0 12 0;
#X connect 8 0 10 1;
#X connect 8 0 12 1;
#X connect 9 0 34 0;
#X connect 10 0 32 0;
#X connect 11 0 31 0;
#X connect 12 0 33 0;
#X connect 13 0 30 0;
#X connect 17 0 1 1;
#X connect 18 0 2 1;
#X connect 19 0 6 1;
#X connect 19 0 8 1;
#X connect 20 0 6 0;
#X connect 20 0 8 0;
#X connect 30 0 36 0;
#X connect 31 0 21 0;
#X connect 32 0 15 0;
#X connect 33 0 16 0;
#X connect 34 0 14 0;
#X connect 35 0 33 1;
#X connect 35 0 34 1;
#X connect 35 0 32 1;
#X connect 35 0 31 1;
#X connect 36 0 37 0;
#X connect 37 0 35 0;
#X connect 38 0 39 0;
#X connect 38 1 39 1;
#X connect 39 0 40 0;
#X connect 39 1 40 1;
#X connect 40 0 41 0;
#X connect 40 1 41 1;
#X connect 41 0 42 0;
#X connect 41 1 42 1;
#X connect 42 0 43 0;
#X connect 42 1 43 1;
#X connect 43 0 1 0;
#X connect 43 1 2 0;
#X restore 87 250 pd reverb;
#X obj 251 316 declare -stdpath ./;
#X text 161 251 <-- open to see how it works;
#X text 196 221 <-- feedback (100 maximum);
#X msg 87 129 60;
#X text 63 388 Many improvements are possible. Much better reverberators can be found in the "extra" library. They are:, f 43;
#X obj 210 428 rev1~;
#X obj 260 428 rev2~, f 6;
#X obj 311 428 rev3~, f 8;
#X text 119 129 <-- pitch in MIDI (triggers envelope).;
#X text 140 155 <-- you can also click and drag.;
#X obj 66 15 cnv 5 5 25 empty empty Reverberator 15 13 0 16 #dfdfdf #202020 0;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 5 1;
#X connect 5 0 3 0;
#X connect 5 1 3 1;
#X connect 9 0 1 0;
