#N canvas 58 22 589 629 10; #X obj -85 301 output~; #X obj 172 -89 loadsoundfile voice; #X obj 98 -38 playloop voice; #X obj 172 -109 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 98 -62 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 179 -62 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #N canvas 0 22 450 300 (subpatch) 0; #X array voice 162650 float 2; #X coords 0 1 162650 -1 200 100 1; #X restore 98 -165 graph; #X floatatom 70 104 5 0 0 0 - - -; #X obj 110 104 hsl 128 15 1000 6000 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 3000 1; #X text 134 102 Crossover Freq; #X obj 111 83 hsl 128 15 0 127 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 7400 1; #X text 135 82 Liveness; #X obj 110 125 hsl 128 15 0 127 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 2600 1; #X text 136 124 HF Damping; #X floatatom 72 83 5 0 0 0 - - -; #X floatatom 71 124 5 0 0 0 - - -; #N canvas 0 22 622 451 tests 0; #X obj 41 33 inlet; #X obj 309 189 inlet; #X obj 235 207 line~; #X obj 235 230 cos~; #X obj 235 68 loadbang; #X msg 235 91 -0.25; #X obj 235 276 *~; #X obj 186 309 hip~ 5; #X floatatom 308 218 0 0 0 0 - - -; #X obj 308 264 osc~ 440; #X obj 308 241 mtof; #X obj 235 253 *~ 0.1; #X obj 308 299 *~; #X obj 322 363 *~; #X obj 308 331 *~; #X msg 279 150 -0.25 \, 0.25 \$1; #X obj 31 148 biquad~ 0 0 1 -1 0; #X obj 37 70 t b; #X obj 78 72 del 3; #X obj 31 101 1; #X obj 70 101 0; #X obj 41 355 outlet~; #X obj 279 126 inlet; #X obj 41 192 *~; #X text 343 283 fundamental f_0; #X text 342 301 square to get 2f_0; #X text 341 330 square again for 4f_0; #X text 352 363 f_0 * 2f_0 for 3f_0; #X text 174 333 hi-pass to remove; #X text 161 343 DC terms from products; #X text -76 101 Step function...; #X text 77 170 ... and differentiate; #X text 93 89 turn off after 3ms; #X text 135 225 positive cosine; #X text 135 237 half-cycle; #X text 128 249 of given duration; #X connect 0 0 17 0; #X connect 1 0 8 0; #X connect 2 0 3 0; #X connect 3 0 11 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 7 0 21 0; #X connect 8 0 10 0; #X connect 9 0 6 1; #X connect 9 0 12 0; #X connect 9 0 12 1; #X connect 9 0 13 0; #X connect 10 0 9 0; #X connect 11 0 6 0; #X connect 12 0 13 1; #X connect 12 0 6 1; #X connect 12 0 14 0; #X connect 12 0 14 1; #X connect 13 0 6 1; #X connect 14 0 6 1; #X connect 15 0 2 0; #X connect 16 0 23 0; #X connect 17 0 18 0; #X connect 17 0 19 0; #X connect 18 0 20 0; #X connect 19 0 16 0; #X connect 19 0 23 1; #X connect 20 0 16 0; #X connect 20 0 23 1; #X connect 22 0 15 0; #X connect 23 0 21 0; #X restore -85 64 pd tests; #X msg -69 -51 10; #X msg -52 -29 20; #X msg -36 -5 100; #X msg -19 17 500; #X text -111 -71 impulse; #X floatatom -8 41 0 0 0 0 - - -; #X text 18 40 tone; #X text 16 51 pitch; #X text -14 -38 tone; #X text -13 -28 bursts; #X obj -156 -173 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj -156 -155 metro 1000; #X obj -85 92 +~ 0; #N canvas 0 22 491 317 xfade 0; #X obj 86 97 inlet~; #X obj 152 97 inlet~; #X obj 87 208 outlet~; #X obj 363 59 inlet; #X obj 363 99 vline~; #X obj 151 146 -~; #X obj 151 166 *~; #X text 77 29 Stereo linear crossfade based on RjDj c_xfade; #X obj 211 97 inlet~; #X obj 277 97 inlet~; #X obj 212 208 outlet~; #X obj 276 146 -~; #X obj 276 166 *~; #X connect 0 0 5 1; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 3 0 4 0; #X connect 4 0 6 1; #X connect 4 0 12 1; #X connect 5 0 6 0; #X connect 6 0 2 0; #X connect 8 0 11 1; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 11 0 12 0; #X connect 12 0 10 0; #X restore -85 270 pd xfade; #X obj 111 155 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 10000 1; #X obj -86 -154 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X obj 14 -70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg -85 -112 \$1 bang; #X obj -85 -91 route 0 1 2 3 4 5; #X obj -85 -133 f; #X obj -96 -173 hsl 128 15 100 5000 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 1700 1; #X text 109 154 Dry; #X text 220 154 Wet; #X floatatom 72 154 5 0 0 0 - - -; #X floatatom -135 -174 5 0 0 0 - - -; #N canvas 0 22 450 300 (subpatch) 0; #X array impresponse 88200 float 2; #X coords 0 1 88199 -1 200 100 1; #X restore 106 200 graph; #X obj 105 305 tabwrite~ impresponse; #X obj -156 -134 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 105 347 soundfiler; #X msg 105 326 write -wave ir.wav impresponse; #X msg -30 98 100; #N canvas 4 23 773 736 my_rev2 0; #X obj -166 88 inlet; #X obj -586 382 *~; #X obj -401 569 *~; #X obj -524 382 *~; #X obj -466 518 *~; #X obj -601 414 +~; #X obj -539 462 +~; #X obj -233 74 inlet; #X obj -522 634 line~; #X obj -166 245 line~; #X obj -586 82 delread~ \$0-del1 58.6435; #X obj -525 124 delread~ \$0-del2 69.4325; #X obj -466 166 delread~ \$0-del3 74.5234; #X obj -402 208 delread~ \$0-del4 86.1244; #X obj -601 697 *~; #X obj -539 697 *~; #X obj -287 720 delwrite~ \$0-del1 58.6435; #X obj -228 698 delwrite~ \$0-del2 69.4325; #X obj -168 676 delwrite~ \$0-del3 74.5234; #X obj -108 655 delwrite~ \$0-del4 86.1244; #X obj -522 562 dbtorms; #X obj -522 608 pack 0 30; #X obj -166 204 pack 0 50; #X obj -699 358 inlet~; #X obj -601 722 outlet~; #X obj -539 722 outlet~; #X obj -166 180 / 200; #X obj -166 155 clip 0 100; #X obj -571 255 lop~; #X obj -233 113 f \$1; #X obj -166 130 f \$2; #X obj -54 134 f \$3; #X obj 24 162 f \$4; #X obj 101 139 loadbang; #X obj -466 697 *~; #X obj -401 697 *~; #X obj -466 722 outlet~; #X obj -401 721 outlet~; #X obj -54 157 moses 1; #X msg -54 183 3000; #X obj 24 185 clip 0 100; #N canvas 728 103 355 597 early-reflect 0; #X obj 171 378 delread~ \$0-ref6 13.645; #X obj 171 354 delwrite~ \$0-ref6 13.645; #X obj 158 301 delread~ \$0-ref5 16.364; #X obj 158 277 delwrite~ \$0-ref5 16.364; #X obj 154 225 delread~ \$0-ref4 19.392; #X obj 154 201 delwrite~ \$0-ref4 19.392; #X obj 158 148 delread~ \$0-ref3 25.796; #X obj 158 124 delwrite~ \$0-ref3 25.796; #X obj 159 70 delread~ \$0-ref2 43.5337; #X obj 159 46 delwrite~ \$0-ref2 43.5337; #X obj 162 -9 delread~ \$0-ref1 75.2546; #X obj 136 20 -~; #X obj 101 20 +~; #X obj 102 96 +~; #X obj 137 97 -~; #X obj 136 176 -~; #X obj 101 175 +~; #X obj 134 250 -~; #X obj 100 251 +~; #X obj 135 329 -~; #X obj 101 329 +~; #X obj 117 -92 inlet~; #X obj 162 -33 delwrite~ \$0-ref1 75.2546; #X obj 41 449 outlet~; #X obj 111 448 outlet~; #X obj 47 332 *~ 10; #X obj 188 409 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 12700 1; #X text 281 428 Early echos; #X text 171 428 Direct; #N canvas 0 22 450 300 xfade2 0; #X obj 96 107 inlet~; #X obj 162 107 inlet~; #X obj 97 218 outlet~; #X obj 373 69 inlet; #X obj 373 109 vline~; #X obj 161 156 -~; #X obj 161 176 *~; #X text 87 39 Stereo linear crossfade based on RjDj c_xfade; #X obj 221 107 inlet~; #X obj 287 107 inlet~; #X obj 222 218 outlet~; #X obj 286 156 -~; #X obj 286 176 *~; #X connect 0 0 5 1; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 3 0 4 0; #X connect 4 0 6 1; #X connect 4 0 12 1; #X connect 5 0 6 0; #X connect 6 0 2 0; #X connect 8 0 11 1; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 11 0 12 0; #X connect 12 0 10 0; #X restore 51 413 pd xfade2; #X connect 0 0 29 3; #X connect 2 0 20 1; #X connect 2 0 19 1; #X connect 4 0 18 1; #X connect 4 0 17 1; #X connect 6 0 16 1; #X connect 6 0 15 1; #X connect 8 0 13 1; #X connect 8 0 14 1; #X connect 10 0 12 1; #X connect 10 0 11 1; #X connect 11 0 9 0; #X connect 12 0 14 0; #X connect 12 0 13 0; #X connect 13 0 16 0; #X connect 13 0 15 0; #X connect 14 0 7 0; #X connect 15 0 5 0; #X connect 16 0 18 0; #X connect 16 0 17 0; #X connect 17 0 3 0; #X connect 18 0 20 0; #X connect 18 0 19 0; #X connect 19 0 1 0; #X connect 20 0 29 1; #X connect 21 0 22 0; #X connect 21 0 12 0; #X connect 21 0 11 0; #X connect 21 0 25 0; #X connect 25 0 29 0; #X connect 25 0 29 2; #X connect 26 0 29 4; #X connect 29 0 23 0; #X connect 29 1 24 0; #X restore -699 384 pd early-reflect; #X obj -61 206 f; #X obj -61 105 inlet; #X obj 24 126 inlet; #X obj 24 208 f; #X obj 24 231 * 0.01; #X obj 24 255 pack 0 50; #X obj 24 279 line~; #X obj -571 288 -~; #X obj -571 319 *~; #X obj -586 350 +~; #X obj -509 259 lop~; #X obj -509 293 -~; #X obj -509 328 *~; #X obj -524 352 +~; #X obj -451 264 lop~; #X obj -451 292 -~; #X obj -451 333 *~; #X obj -466 358 +~; #X obj -387 268 lop~; #X obj -387 293 -~; #X obj -387 337 *~; #X obj -402 361 +~; #X obj -522 584 * 0.125; #X text -244 38 control inlets:; #X text -591 7 rev2 - simple \, cheap reverberator with; #X text -241 58 1: output level \, dB \, 0-100; #X text -591 19 one signal inlet and four signal outlets.; #X text 15 111 4: high frequency damping \, 0-100; #X text -77 90 3: crossover frequency in Hz. (3000 default); #X text -178 73 2: liveness \, 0-100 \, usually between 85 and 100 ; #X obj -399 189 hsl 128 15 0 86.1244 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 12700 1; #X obj -463 146 hsl 128 15 0 74.5234 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 12700 1; #X obj -522 105 hsl 128 15 0 69.4325 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 12700 1; #X obj -583 63 hsl 128 15 0 58.6435 0 1 empty empty empty -2 -8 0 10 -262144 -1 -1 12700 1; #X floatatom -265 188 5 0 0 0 - - -; #X floatatom -330 145 5 0 0 0 - - -; #X floatatom -389 104 5 0 0 0 - - -; #X floatatom -450 63 5 0 0 0 - - -; #X text -671 434 Mixing; #X text -672 449 network; #X obj -272 442 *~ 1; #X obj -212 442 *~ 1; #X obj -152 442 *~ 1; #X obj -92 442 *~ 1; #X obj -288 513 +~; #X obj -272 492 *~ 1; #X obj -228 513 +~; #X obj -168 513 +~; #X obj -152 492 *~ 1; #X obj -108 513 +~; #X obj -288 563 +~; #X obj -272 542 *~ 1; #X obj -228 563 +~; #X obj -212 542 *~ 1; #X obj -168 563 +~; #X obj -108 563 +~; #X obj -288 613 +~; #X obj -272 592 *~ 1; #X obj -228 613 +~; #X obj -168 613 +~; #X obj -108 613 +~; #X obj -92 592 *~ 1; #X obj -212 492 *~ -1; #X obj -92 492 *~ -1; #X obj -152 542 *~ -1; #X obj -92 542 *~ -1; #X obj -212 592 *~ -1; #X obj -152 592 *~ -1; #X text -696 298 x + k.(lop(x)-x); #X text -709 314 = (1-k).x + k.lop(x); #X text -588 38 Modified for experimentation - dpwe 2011-03-02; #X connect 0 0 30 0; #X connect 1 0 5 1; #X connect 2 0 35 0; #X connect 2 0 103 0; #X connect 2 0 99 0; #X connect 2 0 108 0; #X connect 2 0 109 0; #X connect 3 0 6 1; #X connect 4 0 34 0; #X connect 4 0 95 0; #X connect 4 0 93 0; #X connect 4 0 106 0; #X connect 4 0 107 0; #X connect 5 0 14 0; #X connect 5 0 85 0; #X connect 5 0 84 0; #X connect 5 0 83 0; #X connect 5 0 82 0; #X connect 6 0 15 0; #X connect 6 0 90 0; #X connect 6 0 87 0; #X connect 6 0 104 0; #X connect 6 0 105 0; #X connect 7 0 29 0; #X connect 8 0 14 1; #X connect 8 0 15 1; #X connect 8 0 34 1; #X connect 8 0 35 1; #X connect 9 0 3 1; #X connect 9 0 1 1; #X connect 9 0 4 1; #X connect 9 0 2 1; #X connect 10 0 28 0; #X connect 10 0 49 1; #X connect 10 0 51 0; #X connect 11 0 52 0; #X connect 11 0 53 1; #X connect 11 0 55 0; #X connect 12 0 59 0; #X connect 12 0 56 0; #X connect 12 0 57 1; #X connect 13 0 63 0; #X connect 13 0 61 1; #X connect 13 0 60 0; #X connect 14 0 24 0; #X connect 15 0 25 0; #X connect 20 0 64 0; #X connect 21 0 8 0; #X connect 22 0 9 0; #X connect 23 0 41 0; #X connect 26 0 22 0; #X connect 27 0 26 0; #X connect 28 0 49 0; #X connect 29 0 20 0; #X connect 30 0 27 0; #X connect 31 0 38 0; #X connect 32 0 40 0; #X connect 33 0 29 0; #X connect 33 0 30 0; #X connect 33 0 31 0; #X connect 33 0 32 0; #X connect 34 0 36 0; #X connect 35 0 37 0; #X connect 38 0 39 0; #X connect 38 1 42 0; #X connect 39 0 42 0; #X connect 40 0 45 0; #X connect 41 0 5 0; #X connect 41 1 6 0; #X connect 42 0 28 1; #X connect 42 0 52 1; #X connect 42 0 56 1; #X connect 42 0 60 1; #X connect 43 0 42 0; #X connect 44 0 32 0; #X connect 45 0 46 0; #X connect 46 0 47 0; #X connect 47 0 48 0; #X connect 48 0 50 1; #X connect 48 0 54 1; #X connect 48 0 58 1; #X connect 48 0 62 1; #X connect 49 0 50 0; #X connect 50 0 51 1; #X connect 51 0 1 0; #X connect 52 0 53 0; #X connect 53 0 54 0; #X connect 54 0 55 1; #X connect 55 0 3 0; #X connect 56 0 57 0; #X connect 57 0 58 0; #X connect 58 0 59 1; #X connect 59 0 4 0; #X connect 60 0 61 0; #X connect 61 0 62 0; #X connect 62 0 63 1; #X connect 63 0 2 0; #X connect 64 0 21 0; #X connect 72 0 13 0; #X connect 72 0 76 0; #X connect 73 0 12 0; #X connect 73 0 77 0; #X connect 74 0 11 0; #X connect 74 0 78 0; #X connect 75 0 10 0; #X connect 75 0 79 0; #X connect 82 0 86 0; #X connect 83 0 88 0; #X connect 84 0 89 0; #X connect 85 0 91 0; #X connect 86 0 92 0; #X connect 87 0 86 1; #X connect 88 0 94 0; #X connect 89 0 96 0; #X connect 90 0 89 1; #X connect 91 0 97 0; #X connect 92 0 98 0; #X connect 93 0 92 1; #X connect 94 0 100 0; #X connect 95 0 94 1; #X connect 96 0 101 0; #X connect 97 0 102 0; #X connect 98 0 16 0; #X connect 99 0 98 1; #X connect 100 0 17 0; #X connect 101 0 18 0; #X connect 102 0 19 0; #X connect 103 0 102 1; #X connect 104 0 88 1; #X connect 105 0 91 1; #X connect 106 0 96 1; #X connect 107 0 97 1; #X connect 108 0 100 1; #X connect 109 0 101 1; #X restore -54 147 pd my_rev2; #X text -158 -209 test_reverb_rev2.pd; #X text -160 376 2011-03-02 Dan Ellis dpwe@ee.columbia.edu; #X obj -18 73 loadbang; #X connect 2 0 29 0; #X connect 3 0 1 0; #X connect 4 0 2 0; #X connect 5 0 2 1; #X connect 7 0 48 3; #X connect 8 0 7 0; #X connect 10 0 14 0; #X connect 12 0 15 0; #X connect 14 0 48 2; #X connect 15 0 48 4; #X connect 16 0 29 0; #X connect 17 0 16 1; #X connect 18 0 16 1; #X connect 19 0 16 1; #X connect 20 0 16 1; #X connect 22 0 16 2; #X connect 27 0 28 0; #X connect 28 0 44 0; #X connect 29 0 30 0; #X connect 29 0 30 2; #X connect 29 0 48 0; #X connect 30 0 0 0; #X connect 30 0 43 0; #X connect 30 1 0 1; #X connect 31 0 40 0; #X connect 32 0 36 1; #X connect 34 0 35 0; #X connect 35 0 16 0; #X connect 35 1 17 0; #X connect 35 2 18 0; #X connect 35 3 19 0; #X connect 35 4 20 0; #X connect 35 5 4 0; #X connect 35 6 33 0; #X connect 36 0 34 0; #X connect 37 0 28 1; #X connect 37 0 41 0; #X connect 40 0 30 4; #X connect 44 0 36 0; #X connect 44 0 43 0; #X connect 46 0 45 0; #X connect 47 0 48 1; #X connect 48 0 30 1; #X connect 48 1 30 3; #X connect 51 0 47 0;