#N canvas 182 21 637 706 10; #X obj 17 622 freeverb~; #X obj 17 662 dac~; #X floatatom 177 170 5 0 0 0 - - -; #X floatatom 177 236 5 0 0 0 - - -; #X floatatom 177 298 5 0 0 0 - - -; #X floatatom 177 356 5 0 0 0 - - -; #X floatatom 177 436 5 0 0 0 - - -; #X msg 177 558 print; #X obj 177 314 / 100; #X obj 66 166 *~ 0; #X obj 177 252 / 100; #X obj 18 165 *~ 0; #X obj 85 114 / 100; #X floatatom 85 87 5 0 0 0 - - -; #X msg 177 205 roomsize \$1; #X msg 177 271 damping \$1; #X msg 177 333 width \$1; #X msg 177 372 wet \$1; #X msg 177 452 dry \$1; #X text 137 23 written by Olaf Matthes ; #X text 138 37 based on "Freeverb" written by Jezar at Dreampoint; #X text 252 582 freeverb~ is a simple implementation of the standard Schroeder/Moorer reverb model. It uses 8 comb filters in parallel on both channels. It then feeds the result of the reverb through 4 allpass filters in series on both channels. These "smooth" the sound. The filters on the right channel are slightly detuned compared to the left channel in order to create a stereo effect.; #N canvas 0 22 510 310 pulses 0; #X obj 49 249 outlet~; #X obj 139 250 outlet~; #X obj 49 205 *~ 0; #X obj 138 204 *~ 0; #X msg 171 133 0; #X msg 130 124 1; #X msg 291 149 0; #X msg 255 133 1; #X obj 169 19 loadbang; #X obj 80 70 noise~; #X obj 294 119 delay 80; #X obj 277 20 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 276 75 metro 550; #X obj 169 65 metro 850; #X obj 172 100 delay 120; #X obj 48 20 osc~ 400; #X connect 2 0 0 0; #X connect 3 0 1 0; #X connect 4 0 2 1; #X connect 5 0 2 1; #X connect 6 0 3 1; #X connect 7 0 3 1; #X connect 8 0 12 0; #X connect 8 0 13 0; #X connect 9 0 3 0; #X connect 10 0 6 0; #X connect 11 0 12 0; #X connect 11 0 13 0; #X connect 12 0 7 0; #X connect 12 0 10 0; #X connect 13 0 5 0; #X connect 13 0 14 0; #X connect 14 0 4 0; #X connect 15 0 2 0; #X restore 18 87 pd pulses; #X text 127 86 turn test signal on here; #X obj 177 186 min 1; #X obj 177 398 loadbang; #X msg 177 417 0.22; #X obj 177 477 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X text 59 9 freeverb~ :: Schroeder/Moorer reverb model (stereo); #X text 253 557 print internal values to console; #X text 137 52 find sources at http://www.akustische-kunst.org/; #X text 253 235 damping in % (default = 50): determines the damping chracteristics of the room to be simulated (i.e. how much signal gets reflected from the walls) \, also - in combination with the above - affects the reverberation time; #X text 255 295 stereo width in % (default = 100): controls the stereo width of the reverb tail; #X text 254 355 wet signal level (default = 0.3): signal level of the reverberated signal; #X text 253 436 dry signal level (default = 0): signal level of the original (input) signal to be passed through; #X text 253 474 set 'freeze mode' to freeze the reverb tail: a 'sample and hold' function for the reverb signal; #X text 254 168 roomsize (default = 0.5): determines the length of the reverb tail (reverberation time) \, if this value is higher than 1 freeverb~ will create some sort of 'feedback' or 'resonance' (getting louder and louder); #X msg 177 494 freeze \$1; #X obj 177 518 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X text 253 515 set 'freeze mode' to freeze the reverb tail: a 'sample and hold' function for the reverb signal; #X msg 177 537 bypass \$1; #X connect 0 0 1 0; #X connect 0 1 1 1; #X connect 2 0 24 0; #X connect 3 0 10 0; #X connect 4 0 8 0; #X connect 5 0 17 0; #X connect 6 0 18 0; #X connect 7 0 0 0; #X connect 8 0 16 0; #X connect 9 0 0 1; #X connect 10 0 15 0; #X connect 11 0 0 0; #X connect 12 0 11 1; #X connect 12 0 9 1; #X connect 13 0 12 0; #X connect 14 0 0 0; #X connect 15 0 0 0; #X connect 16 0 0 0; #X connect 17 0 0 0; #X connect 18 0 0 0; #X connect 22 0 11 0; #X connect 22 1 9 0; #X connect 24 0 14 0; #X connect 25 0 26 0; #X connect 26 0 6 0; #X connect 27 0 37 0; #X connect 37 0 0 0; #X connect 38 0 40 0; #X connect 40 0 0 0;