#N canvas -12 63 1263 707 12; #X obj 477 516 adc~; #X obj 462 571 *~ 0.5; #X obj 529 593 dac~; #X msg 507 15 \; pd dsp 0 \;; #X obj 824 295 hip~ 5; #X floatatom 824 89 0 0 0 0 - - -; #X floatatom 911 133 0 0 0 0 - - -; #X obj 911 160 * 441; #X obj 889 209 +~ 1; #X obj 779 160 -~ 0.5; #X obj 760 235 cos~; #X obj 783 260 *~; #X obj 825 123 phasor~; #X obj 764 201 *~ 0.5; #X obj 889 184 *~; #X obj 946 293 tabwrite~ cos-output; #X obj 946 269 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 889 235 tabread4~ table18; #N canvas 0 0 450 300 graph1 0; #X array cos-output 44100 float 0; #X coords 0 1.02 44100 -1.02 200 130 1; #X restore 375 312 graph; #N canvas 0 0 450 300 graph1 0; #X array table18 4e+006 float 0; #X coords 0 1.02 4e+006 -1.02 200 130 1; #X restore 365 143 graph; #X obj -17 141 loadbang; #X obj -17 54 adc~ 1; #X msg 81 53 bang; #X obj 13 200 soundfiler; #X text 380 275 -- 44103 samples ---; #X obj 76 138 tabwrite~ table18; #X floatatom 19 243 8 0 0 0 - - -; #X msg 23 169 read -resize hum1.wav.wav table18; #X obj 76 138 tabwrite~ table18; #X obj 76 138 tabwrite~ table18; #X obj 303 504 tabread~ table18; #X obj 306 571 tabplay~ table18; #X obj 272 476 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X floatatom 923 31 0 0 0 0 - - -; #X floatatom 1064 40 0 0 0 0 - - -; #X obj 1111 64 * 441; #X obj 1131 164 +~ 1; #X obj 1053 102 -~ 0.5; #X obj 1063 220 cos~; #X obj 1116 253 *~; #X obj 973 56 phasor~; #X obj 1033 166 *~ 0.5; #X obj 1137 88 *~; #X obj 1140 226 tabwrite~ cos-output; #X obj 1208 157 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 929 57; #X text 874 105; #X text 960 142; #X text 950 132; #X text 967 266; #X text 977 276; #X obj 1166 312 hip~ 4; #X obj 795 858 tabplay~ table18; #X obj 755 973 loadbang; #X obj 803 910 adc~ 1; #X msg 901 909 bang; #X obj 876 1032 soundfiler; #X floatatom 797 1056 8 0 0 0 - - -; #N canvas 0 0 450 300 graph1 0; #X array table19 26302 float 2; #X coords 0 1 26302 -1 200 140 1; #X restore 373 631 graph; #X obj 915 962 tabread~ table19; #X msg 797 1001 read -resize hum2.wav table19; #X obj 1092 187 tabread4~ table19; #X obj 1091 585 hip~ 5; #X floatatom 1091 379 0 0 0 0 - - -; #X floatatom 1189 401 0 0 0 0 - - -; #X obj 1212 448 * 441; #X obj 1156 499 +~ 1; #X obj 1044 445 -~ 0.5; #X obj 1073 522 cos~; #X obj 1091 558 *~; #X obj 1092 413 phasor~; #X obj 1043 480 *~ 0.5; #X obj 1190 472 *~; #X obj 1213 583 tabwrite~ cos-output; #X obj 1213 559 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 1141 395 comment; #X obj 964 511 adc~; #X obj 949 618 *~ 0.5; #X obj 730 488 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 616 702 loadbang; #X obj 626 641 adc~ 1; #X msg 724 640 bang; #X obj 704 767 soundfiler; #X floatatom 636 796 8 0 0 0 - - -; #X obj 659 670 tabread~ table20; #X obj 758 539 tabplay~ table20; #X obj 790 499 tabread~ table20; #N canvas 0 0 450 300 graph2 0; #X array table20 405053 float 2; #X coords 0 1 405053 -1 200 140 1; #X restore 1068 632 graph; #X obj 1156 525 tabread4~ table20; #X msg 657 731 read -resize hum3.wav table20; #X obj 918 663 hsl 128 15 0 2 0 0 empty empty empty -2 -6 0 8 -262144 -1 -1 12700 1; #X obj 337 483 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144 -1 -1 12700 1; #X text 371 447; #X floatatom 598 227 0 10 130 0 - - -; #N canvas 96 169 966 618 reverb 0; #X obj 13 19 inlet~; #X obj 13 43 reverb-echo echo-del1 5.43216; #X obj 277 215 +~; #X obj 319 215 +~; #X obj 67 276 outlet~; #X obj 137 276 outlet~; #X obj 238 334 +~; #X obj 347 335 +~; #X obj 280 334 -~; #X obj 387 334 -~; #X obj 237 390 +~; #X obj 281 391 +~; #X obj 325 392 -~; #X obj 364 392 -~; #X obj 324 474 *~ 0; #X obj 282 473 *~ 0; #X obj 237 472 *~ 0; #X obj 365 475 *~ 0; #X obj 632 365 inlet; #X obj 632 437 / 200; #X obj 632 389 min 100; #X obj 632 412 max 0; #X obj 238 583 delwrite~ loop-del1 60; #X obj 283 561 delwrite~ loop-del2 71.9345; #X obj 364 515 delwrite~ loop-del4 95.945; #X obj 298 154 delread~ loop-del1 60; #X obj 340 179 delread~ loop-del2 71.9345; #X obj 408 233 delread~ loop-del4 95.945; #X obj 386 208 delread~ loop-del3 86.7545; #X obj 325 538 delwrite~ loop-del3 86.7545; #X obj 13 67 reverb-echo echo-del2 8.45346; #X obj 13 91 reverb-echo echo-del3 13.4367; #X obj 13 115 reverb-echo echo-del4 21.5463; #X obj 13 139 reverb-echo echo-del5 34.3876; #X obj 13 163 reverb-echo echo-del6 55.5437; #X text 286 42 "early echo" generators \, which also increase echo density. Open one to see what they do.; #X text 300 115 Get the outputs of the recirculating delays. Add the inputs to two of them.; #X text 420 313 Do a power-conserving mix of them in pairs. First combine (1 \, 2) and (3 \, 4)...; #X text 402 385 ...then (1 \, 3) and (2 \, 4); #X text 446 469 The two mixing stages have a combined gain of 2 \, so the recirculation gain is limited to 0.5.; #X text 586 542 Put the signals back into the; #X text 584 557 recirculating delays.; #X text 29 296 Tap outputs from here.; #X text 708 381 0 to 100 to control reverb; #X text 719 396 time.; #X text 691 364 feedback gain on a scale of; #X connect 0 0 1 0; #X connect 1 0 30 0; #X connect 1 1 30 1; #X connect 2 0 4 0; #X connect 2 0 6 0; #X connect 2 0 8 0; #X connect 3 0 5 0; #X connect 3 0 6 1; #X connect 3 0 8 1; #X connect 6 0 10 0; #X connect 6 0 12 0; #X connect 7 0 12 1; #X connect 7 0 10 1; #X connect 8 0 11 0; #X connect 8 0 13 0; #X connect 9 0 11 1; #X connect 9 0 13 1; #X connect 10 0 16 0; #X connect 11 0 15 0; #X connect 12 0 14 0; #X connect 13 0 17 0; #X connect 14 0 29 0; #X connect 15 0 23 0; #X connect 16 0 22 0; #X connect 17 0 24 0; #X connect 18 0 20 0; #X connect 19 0 17 1; #X connect 19 0 16 1; #X connect 19 0 15 1; #X connect 19 0 14 1; #X connect 20 0 21 0; #X connect 21 0 19 0; #X connect 25 0 2 1; #X connect 26 0 3 1; #X connect 27 0 7 1; #X connect 27 0 9 1; #X connect 28 0 7 0; #X connect 28 0 9 0; #X connect 30 0 31 0; #X connect 30 1 31 1; #X connect 31 0 32 0; #X connect 31 1 32 1; #X connect 32 0 33 0; #X connect 32 1 33 1; #X connect 33 0 34 0; #X connect 33 1 34 1; #X connect 34 0 2 0; #X connect 34 1 3 0; #X restore 590 387 pd reverb; #X floatatom 691 321 0 0 100 0 - - -; #N canvas 0 0 507 329 table18-input 0; #X obj 75 253 outlet~; #X obj 74 201 -~; #X obj 74 177 *~ 3; #X obj 111 183 *~ 2; #X floatatom 74 81 0 0 0 0 - - -; #X obj 74 153 clip~ 0 0.667; #X text 124 80 <-- pitch; #X obj 74 105 mtof; #X msg 195 142 1; #X obj 74 225 *~; #X obj 74 129 phasor~ 0; #X obj 195 190 tabread4~ dbtorms; #X obj 195 166 adsr 100 100 2000 0 2000; #X obj 73 54 inlet; #N canvas 0 0 600 392 conversion-tables 0; #N canvas 0 0 450 300 graph1 0; #X array dbtorms 123 float 1; #A 0 0 0 1.25893e-005 1.41254e-005 1.58489e-005 1.77828e-005 1.99526e-005 2.23872e-005 2.51189e-005 2.81838e-005 3.16228e-005 3.54813e-005 3.98107e-005 4.46684e-005 5.01187e-005 5.62341e-005 6.30957e-005 7.07946e-005 7.94328e-005 8.91251e-005 0.0001 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828 0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813 0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946 0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489 0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813 0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328 0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526 0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684 0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202 0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838 0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946 0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526 2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341 6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893; #X coords 0 10 123 0 200 100 1; #X restore 70 45 graph; #X text 272 138 0; #X text 274 38 10; #X text 89 148 ------ 123 samples ------; #N canvas 0 0 450 300 graph2 0; #X array mtof 130 float 1; #A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499 12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017 21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478 36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705 61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989 103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814 174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183 293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164 493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991 830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51 1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32 2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07 4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88 7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3 11839.8 12543.9 13289.8 14080; #X coords 0 12000 130 0 200 100 1; #X restore 77 222 graph; #X text 87 330 ------ 130 samples ------; #X text 286 315 0; #X text 288 215 12000; #N canvas 244 212 672 338 regenerate-tables 0; #X msg 415 84 bang; #X obj 415 113 t b b; #X obj 474 177 f; #X obj 512 177 + 1; #X msg 483 147 0; #X obj 415 142 until; #X obj 474 211 t f f; #X obj 414 238 mtof; #X obj 405 202 sel 129; #X obj 413 264 tabwrite mtof; #X obj 35 227 moses 2; #X msg 19 76 bang; #X obj 19 105 t b b; #X obj 90 166 f; #X obj 128 166 + 1; #X msg 112 138 0; #X obj 19 134 until; #X obj 11 194 sel 122; #X msg 35 258 0; #X obj 79 259 dbtorms; #X obj 90 194 t f f; #X obj 35 291 tabwrite dbtorms; #X text 18 49 bang to recalculate dbtorms table; #X text 356 50 bang to recalculate the mtof table; #X connect 0 0 1 0; #X connect 1 0 5 0; #X connect 1 1 4 0; #X connect 2 0 3 0; #X connect 2 0 6 0; #X connect 2 0 8 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 6 1 9 1; #X connect 7 0 9 0; #X connect 8 0 5 1; #X connect 10 0 18 0; #X connect 10 1 19 0; #X connect 11 0 12 0; #X connect 12 0 16 0; #X connect 12 1 15 0; #X connect 13 0 14 0; #X connect 13 0 17 0; #X connect 13 0 20 0; #X connect 14 0 13 1; #X connect 15 0 13 1; #X connect 16 0 13 0; #X connect 17 0 16 1; #X connect 18 0 21 0; #X connect 19 0 21 0; #X connect 20 0 10 0; #X connect 20 1 21 1; #X restore 375 76 pd regenerate-tables; #X restore 260 101 pd conversion-tables; #X connect 1 0 9 0; #X connect 2 0 1 0; #X connect 3 0 1 1; #X connect 4 0 7 0; #X connect 4 0 8 0; #X connect 5 0 2 0; #X connect 7 0 10 0; #X connect 8 0 12 0; #X connect 9 0 0 0; #X connect 10 0 3 0; #X connect 10 0 5 0; #X connect 11 0 9 1; #X connect 12 0 11 0; #X connect 13 0 4 0; #X restore 593 284 pd table18-input; #X obj 608 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 276 539 rev 2; #X floatatom 256 511 5 0 0 0 - - -; #X msg 391 15 \; pd dsp 1 \;; #X obj 22 271 grid grid1 200 0 199 200 0 199 1 1 1 10 10 98 118; #X floatatom 21 499 5 0 0 0 - - -; #X floatatom 215 500 5 0 0 0 - - -; #X obj 22 531 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 12700 1; #X obj 219 536 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 2900 1; #X floatatom 18 684 5 0 0 0 - - -; #X floatatom 212 685 5 0 0 0 - - -; #X obj 680 560 *~ 0.5; #X obj 253 603 *~ 0.5; #X obj 154 552 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 5300 1; #X obj 764 330 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 1400 1; #X connect 0 0 1 0; #X connect 0 0 30 0; #X connect 1 0 2 0; #X connect 1 0 2 1; #X connect 4 0 2 0; #X connect 4 0 2 1; #X connect 5 0 12 0; #X connect 6 0 7 0; #X connect 7 0 14 1; #X connect 8 0 17 0; #X connect 9 0 13 0; #X connect 10 0 11 0; #X connect 10 0 15 0; #X connect 11 0 4 0; #X connect 12 0 9 0; #X connect 12 0 14 0; #X connect 13 0 10 0; #X connect 14 0 8 0; #X connect 16 0 15 0; #X connect 17 0 11 1; #X connect 20 0 27 0; #X connect 21 0 25 0; #X connect 22 0 25 0; #X connect 23 0 26 0; #X connect 27 0 23 0; #X connect 30 0 1 0; #X connect 31 0 94 0; #X connect 31 0 1 0; #X connect 31 0 109 0; #X connect 32 0 31 0; #X connect 33 0 40 0; #X connect 34 0 35 0; #X connect 35 0 42 1; #X connect 36 0 61 0; #X connect 37 0 41 0; #X connect 38 0 39 0; #X connect 38 0 43 0; #X connect 39 0 51 0; #X connect 40 0 37 0; #X connect 40 0 42 0; #X connect 41 0 38 0; #X connect 42 0 36 0; #X connect 44 0 43 0; #X connect 51 0 2 0; #X connect 51 0 2 1; #X connect 53 0 60 0; #X connect 54 0 59 0; #X connect 55 0 59 0; #X connect 56 0 57 0; #X connect 60 0 56 0; #X connect 61 0 39 1; #X connect 62 0 2 0; #X connect 62 0 2 1; #X connect 63 0 70 0; #X connect 64 0 65 0; #X connect 65 0 72 1; #X connect 66 0 88 0; #X connect 67 0 71 0; #X connect 68 0 69 0; #X connect 68 0 73 0; #X connect 69 0 62 0; #X connect 70 0 67 0; #X connect 70 0 72 0; #X connect 71 0 68 0; #X connect 72 0 66 0; #X connect 74 0 73 0; #X connect 76 0 77 0; #X connect 76 0 86 0; #X connect 77 0 2 0; #X connect 77 0 2 1; #X connect 78 0 85 0; #X connect 79 0 89 0; #X connect 80 0 84 0; #X connect 81 0 84 0; #X connect 82 0 83 0; #X connect 85 0 77 0; #X connect 85 0 108 0; #X connect 86 0 77 0; #X connect 88 0 69 1; #X connect 89 0 82 0; #X connect 90 0 77 1; #X connect 91 0 1 1; #X connect 93 0 96 0; #X connect 94 0 1 0; #X connect 95 0 94 1; #X connect 96 0 94 0; #X connect 97 0 93 0; #X connect 98 0 31 0; #X connect 99 0 98 0; #X connect 101 0 102 0; #X connect 101 1 103 0; #X connect 102 0 104 0; #X connect 103 0 105 0; #X connect 104 0 106 0; #X connect 105 0 107 0; #X connect 106 0 1 1; #X connect 107 0 77 1; #X connect 108 0 2 1; #X connect 109 0 1 0; #X connect 110 0 109 1; #X connect 111 0 108 1;