#N canvas 0 25 1440 847 12; #X declare -stdpath ./; #X floatatom 266 387 11 0 0 0 - - - 0; #X obj 265 417 s sampleSize; #X obj 245 462 expr 44100/ $f1; #X floatatom 99 405 5 0 0 0 - - - 0; #X obj 243 574 phasor~; #X obj 243 614 *~; #X obj 286 598 r sampleSize; #X obj 388 459 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X msg 385 501 0; #X obj 454 461 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 457 486 t b b; #X msg 374 543 0; #X obj 224 848 dac~; #X obj 100 364 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 382 664 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1; #X obj 110 434 hsl 128 15 -3 3 0 0 empty empty empty -2 -8 0 10 #fcfcfc #000000 #000000 0 1; #X floatatom 108 466 5 0 0 0 - - - 0; #X obj 211 195 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X obj 216 218 t b b; #X obj 715 -36 comport 1 115200; #X msg 691 -74 open 1; #X msg 775 -72 close; #X obj 717 8 serial_print; #X obj 725 45 pak l i; #X obj 725 77 route list; #X floatatom 725 158 5 0 0 0 - - - 0; #X obj 790 157 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X floatatom 851 163 5 0 0 0 - - - 0; #X obj 915 156 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X floatatom 979 154 5 0 0 0 - - - 0; #X obj 1044 158 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 725 113 route value_ch0 ch0on value_ch1 ch1on value_ch2 ch2on value_ch3 ch3on, f 73; #X floatatom 1107 154 5 0 0 0 - - - 0; #X obj 1169 155 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 718 204 s env; #X obj 853 199 s env2; #N canvas 423 96 824 602 reverb 0; #X obj 36 21 inlet~; #X obj 243 233 +~; #X obj 285 233 +~; #X obj 54 359 outlet~; #X obj 124 359 outlet~; #X obj 243 297 +~; #X obj 348 298 +~; #X obj 285 297 -~; #X obj 387 297 -~; #X obj 242 366 +~; #X obj 286 367 +~; #X obj 330 368 -~; #X obj 369 368 -~; #X obj 330 450 *~ 0; #X obj 286 449 *~ 0; #X obj 242 448 *~ 0; #X obj 369 451 *~ 0; #X obj 519 333 inlet; #X obj 519 405 / 200; #X obj 519 357 min 100; #X obj 519 380 max 0; #X obj 242 559 delwrite~ loop-del1 60; #X obj 286 536 delwrite~ loop-del2 71.9345; #X obj 369 489 delwrite~ loop-del4 95.945; #X obj 261 172 delread~ loop-del1 60; #X obj 303 198 delread~ loop-del2 71.9345; #X obj 405 249 delread~ loop-del4 95.945; #X obj 387 224 delread~ loop-del3 86.7545; #X obj 330 513 delwrite~ loop-del3 86.7545; #X obj 36 69 reverb-echo echo-del2 8.45346; #X obj 36 93 reverb-echo echo-del3 13.4367; #X obj 36 117 reverb-echo echo-del4 21.5463; #X obj 36 141 reverb-echo echo-del5 34.3876; #X obj 36 165 reverb-echo echo-del6 55.5437; #X text 256 49 "early echo" generators \, which also increase echo density. Open one to see what they do., f 44; #X text 260 128 Get the outputs of the recirculating delays. Add the inputs to two of them., f 38; #X text 420 287 Do a power-conserving mix of them in pairs. First combine (1 \, 2) and (3 \, 4)..., f 41; #X text 403 361 ...then (1 \, 3) and (2 \, 4), f 14; #X text 428 444 The two mixing stages have a combined gain of 2 \, so the recirculation gain is limited to 0.5., f 48; #X text 34 379 Tap outputs from here.; #X text 581 348 feedback gain on a scale of 0 to 100 to control reverb time., f 30; #X text 539 516 Put the signals back into the recirculating delays. , f 25; #X obj 36 45 reverb-echo echo-del1 5.43216; #X connect 0 0 42 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 15 0; #X connect 10 0 14 0; #X connect 11 0 13 0; #X connect 12 0 16 0; #X connect 13 0 28 0; #X connect 14 0 22 0; #X connect 15 0 21 0; #X connect 16 0 23 0; #X connect 17 0 19 0; #X connect 18 0 16 1; #X connect 18 0 15 1; #X connect 18 0 14 1; #X connect 18 0 13 1; #X connect 19 0 20 0; #X connect 20 0 18 0; #X connect 24 0 1 1; #X connect 25 0 2 1; #X connect 26 0 6 1; #X connect 26 0 8 1; #X connect 27 0 6 0; #X connect 27 0 8 0; #X connect 29 0 30 0; #X connect 29 1 30 1; #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 1 0; #X connect 33 1 2 0; #X connect 42 0 29 0; #X connect 42 1 29 1; #X restore 37 761 pd reverb; #X floatatom 98 714 5 0 0 0 - - - 0; #X obj 100 636 r env; #X obj 99 676 scale 0 1023 0 50; #X obj 737 681 declare -stdpath ./; #X obj 205 -34 loadbang; #X msg 205 -5 \; pd dsp 1; #N canvas 92 117 450 300 on 0; #X obj 181 56 inlet; #X obj 238 223 outlet; #X obj 176 221 outlet; #X obj 181 104 > 0; #X obj 179 136 change; #X obj 179 164 sel 1; #X connect 0 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 5 1 1 0; #X restore 788 230 pd on off; #X obj 789 265 s on1; #X obj 848 261 s off1; #X obj 101 333 r on1; #X obj 388 431 r off1; #X obj 576 534 r on1; #X obj 537 503 r off1; #X text 656 519 restart playback after x seconds, f 13; #N canvas 121 25 450 656 timer 0; #X obj 154 19 inlet; #X obj 172 106 t f f; #X obj 203 163 sel 1; #X obj 203 200 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; #X floatatom 205 250 5 0 0 0 - - - 0; #X obj 202 329 change; #X obj 199 362 sel 1; #X obj 173 81 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 225 22 inlet; #X msg 161 57 1; #X msg 218 62 0; #X obj 309 182 metro 1 60 permin; #X obj 205 226 timer 60 permin; #X obj 290 265 inlet; #X obj 198 400 outlet; #X obj 281 397 outlet; #X obj 202 292 >= 20, f 13; #X connect 0 0 9 0; #X connect 1 0 11 0; #X connect 1 1 2 0; #X connect 2 0 3 0; #X connect 3 0 12 0; #X connect 4 0 15 0; #X connect 4 0 16 0; #X connect 5 0 6 0; #X connect 6 0 14 0; #X connect 7 0 1 0; #X connect 8 0 10 0; #X connect 9 0 7 0; #X connect 10 0 7 0; #X connect 11 0 12 1; #X connect 12 0 4 0; #X connect 13 0 16 1; #X connect 16 0 5 0; #X restore 536 565 pd timer; #X f 12; #X floatatom 619 506 5 0 0 0 - - - 0; #X floatatom 617 598 5 0 0 0 - - - 0; #X obj 208 262 s b1; #X obj 454 434 r b1; #X obj 536 596 s reset1; #X obj 500 433 r reset1; #X obj 211 161 delay 100; #X obj 255 496 s pbk1; #X obj 148 333 r pbk1; #N canvas 92 117 450 300 location 0; #X obj 105 45 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1; #X obj 105 68 metro 50; #X obj 107 99 snapshot~; #X floatatom 107 128 5 0 0 0 - - - 0; #X obj 107 168 /; #X floatatom 105 195 5 0 0 0 - - - 0; #X obj 107 19 loadmess 1; #X obj 104 227 outlet; #X obj 214 85 r sampleSize; #X obj 40 55 inlet~; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 7 0; #X connect 6 0 0 0; #X connect 8 0 4 1; #X connect 9 0 2 0; #X restore 381 633 pd location; #X obj 90 552 *; #X obj 108 500 t b f; #X msg 160 406 1; #X floatatom 78 581 5 0 0 0 - - - 0; #X obj 10 406 loadmess 1; #X obj 620 470 loadmess 10; #X obj 245 647 tabread4~ array1L; #X obj 241 725 tabread4~ array1R; #N canvas 0 22 450 278 (subpatch) 0; #X array array1L 616072 float 2; #X coords 0 1 616072 -1 223 42 1; #X restore 382 53 graph; #N canvas 0 22 450 278 (subpatch) 0; #X array array1R 616072 float 2; #X coords 0 1 616072 -1 222 48 1; #X restore 382 113 graph; #X obj 242 350 soundfiler; #N canvas 92 117 450 300 on 0; #X obj 181 56 inlet; #X obj 238 223 outlet; #X obj 176 221 outlet; #X obj 181 104 > 0; #X obj 179 136 change; #X obj 179 164 sel 1; #X connect 0 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 5 1 1 0; #X restore 914 202 pd on off; #X obj 911 233 s on2; #X obj 974 233 s off2; #X msg 245 310 read -resize /Users/omer/Music/003.wav array1R; #X obj 323 269 soundfiler; #X msg 326 229 read -resize /Users/omer/Music/003.wav array1L; #X connect 0 0 1 0; #X connect 2 0 4 0; #X connect 2 0 59 0; #X connect 3 0 62 0; #X connect 4 0 5 0; #X connect 5 0 61 0; #X connect 5 0 68 0; #X connect 5 0 69 0; #X connect 6 0 5 1; #X connect 7 0 8 0; #X connect 8 0 4 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 10 1 8 0; #X connect 11 0 4 1; #X connect 13 0 64 0; #X connect 13 0 3 0; #X connect 15 0 16 0; #X connect 16 0 63 0; #X connect 17 0 18 0; #X connect 18 0 54 0; #X connect 18 1 76 0; #X connect 18 1 78 0; #X connect 19 0 22 0; #X connect 20 0 19 0; #X connect 21 0 19 0; #X connect 22 0 23 1; #X connect 22 1 23 0; #X connect 23 0 24 0; #X connect 24 0 31 0; #X connect 25 0 34 0; #X connect 26 0 43 0; #X connect 27 0 35 0; #X connect 28 0 73 0; #X connect 31 0 25 0; #X connect 31 1 26 0; #X connect 31 2 27 0; #X connect 31 3 28 0; #X connect 31 4 29 0; #X connect 31 5 30 0; #X connect 31 6 32 0; #X connect 31 7 33 0; #X connect 36 0 12 0; #X connect 37 0 36 1; #X connect 38 0 39 0; #X connect 39 0 37 0; #X connect 41 0 42 0; #X connect 41 0 58 0; #X connect 43 0 44 0; #X connect 43 1 45 0; #X connect 46 0 13 0; #X connect 47 0 7 0; #X connect 48 0 51 1; #X connect 49 0 51 0; #X connect 51 0 56 0; #X connect 51 1 53 0; #X connect 52 0 51 2; #X connect 55 0 9 0; #X connect 57 0 9 0; #X connect 58 0 17 0; #X connect 60 0 3 0; #X connect 61 0 14 0; #X connect 62 0 4 0; #X connect 62 0 65 0; #X connect 63 0 62 0; #X connect 63 1 62 1; #X connect 64 0 15 0; #X connect 66 0 15 0; #X connect 67 0 52 0; #X connect 68 0 36 0; #X connect 69 0 12 1; #X connect 72 0 0 0; #X connect 72 0 2 0; #X connect 73 0 74 0; #X connect 73 1 75 0; #X connect 76 0 72 0; #X connect 78 0 77 0;