#N canvas 0 0 1208 663 12; #X floatatom 149 110 16 0 0 0 - #0-location-set -; #N canvas 90 42 882 667 fft-analysis 0; #X obj 51 477 *~; #X obj 18 477 *~; #X obj 18 499 -~; #X obj 167 475 *~; #X obj 136 475 *~; #X obj 136 497 +~; #X obj 109 193 *~; #X obj 78 193 *~; #X obj 50 193 *~; #X obj 19 193 *~; #X obj 19 218 +~; #X obj 127 379 *~; #X obj 20 622 *~; #X obj 238 430 rfft~; #X obj 108 161 rfft~; #X obj 19 564 rifft~; #X obj 21 646 outlet~; #X obj 97 379 *~; #X obj 97 401 +~; #X obj 124 218 -~; #X obj 18 431 *~; #X obj 51 432 *~; #X obj 425 542 block~; #X obj 19 349 +~ 1e-15; #X obj 19 598 *~; #X obj 52 598 tabreceive~ \$0-hann; #X obj 127 643 expr 2/(3*$f1); #X obj 673 454 loadbang; #X msg 425 517 set \$1 4; #X obj 97 425 q8_rsqrt~; #N canvas 139 1 1042 667 read-windows 0; #X obj 18 693 *~; #X obj 156 300 f; #X obj 102 139 /; #X obj 195 695 *~; #X obj 156 255 bang~; #X obj 17 551 line~; #X obj 102 164 * 1000; #X obj 198 302 +; #X obj 303 277 *; #X obj 183 470 +; #X obj 143 446 t f f; #X msg 17 523 \$1 \, \$2 \$3; #X obj 17 496 pack 0 0 0; #X obj 178 371 / 1000; #X obj 156 394 *; #X text 188 394 reading location (samples); #X obj 51 597 / 4; #X obj 303 250 * 0.01; #X floatatom 340 498 7 0 0 0 - - -; #X obj 340 474 *; #X obj 499 387 * 0.01; #X obj 501 408 + 69; #X obj 502 429 mtof; #X obj 502 451 / 440; #X obj 375 474 t b f; #X obj 19 719 outlet~; #X obj 195 720 outlet~; #X obj 218 664 tabreceive~ \$0-hann; #X msg 803 409 0; #X msg 738 530 set \$1; #X text 411 498 stretched window size (samples); #X msg 877 533 set \$1; #X msg 826 278 set \$1; #X obj 808 140 t b f; #X obj 826 257 f; #X obj 754 171 int; #X obj 754 203 sel 0; #X msg 813 174 1; #X msg 813 197 0; #X obj 754 228 del 300; #X obj 17 637 tabread4~ \$0-sample; #X obj 194 637 tabread4~ \$0-sample; #X obj 178 347 r \$0-insamprate; #X floatatom 111 187 5 0 0 0 - - -; #X obj 102 115 t f b; #X obj 142 139 samplerate~; #X obj 102 208 / 4; #X obj 193 420 / 2; #X obj 156 420 -; #X text 229 417 back up 1/2 window; #X obj 16 597 -~; #X text 43 6 Read two windows out of the recorded sample \, one 1/4 ahead of the other. The mid point of the front window is specified by "location". If "speed" is nonzero \, "location" automatically precesses. ; #X obj 528 720 * -0.5; #X text 91 587 "back" window 1/4 cycle behind "front" one; #X text 137 205 computation period (msec) for overlap of 4; #X text 164 186 msec in a window; #X obj 528 666 /; #X obj 528 691 * 1000; #X obj 528 642 t f b; #X obj 568 666 samplerate~; #X obj 528 619 f; #X text 341 280 loop to precess the location according; #X text 340 296 to the "speed" parameter.; #X text 611 31 if location changes \, update number box; #X text 610 50 in main window via "location-set" \, but; #X text 613 69 taking care to limit frequency of updates.; #X text 756 462 reflect control changes; #X text 756 479 in main window.; #X text 754 344 setting location by hand; #X text 752 362 sets speed to zero.; #X text 496 527 "rewind" control takes us; #X text 499 545 to a location depending on; #X text 499 564 stretched window size.; #X obj 102 91 r \$0-window-size; #X obj 808 94 r \$0-location; #X obj 817 116 r \$0-see-loc; #X obj 826 302 s \$0-location-set; #X obj 803 386 r \$0-location; #X obj 738 506 r \$0-speed; #X obj 877 507 r \$0-transpo; #X obj 738 555 s \$0-speed-set; #X obj 877 558 s \$0-transpo-set; #X obj 528 586 r \$0-rewind; #X obj 499 365 r \$0-transpo; #X obj 178 276 r \$0-location; #X obj 248 311 s \$0-see-loc; #X obj 303 229 r \$0-speed; #X obj 803 432 s \$0-speed; #X obj 340 448 r \$0-window-size; #X obj 875 635 r \$0-auto; #X obj 325 712 symbol \$0-location; #X obj 325 737 pack s f; #X msg 324 763 \; \$1 \$2; #X obj 528 744 t b f; #X obj 887 687 s \$0-rewind; #X obj 875 660 t f b; #X obj 875 713 s \$0-speed; #X connect 0 0 25 0; #X connect 1 0 7 0; #X connect 1 0 14 0; #X connect 2 0 6 0; #X connect 3 0 26 0; #X connect 4 0 1 0; #X connect 5 0 50 0; #X connect 5 0 41 0; #X connect 6 0 43 0; #X connect 6 0 46 0; #X connect 7 0 1 1; #X connect 7 0 85 0; #X connect 8 0 7 1; #X connect 9 0 12 1; #X connect 10 0 12 0; #X connect 10 1 9 0; #X connect 11 0 5 0; #X connect 12 0 11 0; #X connect 13 0 14 1; #X connect 14 0 48 0; #X connect 16 0 50 1; #X connect 17 0 8 0; #X connect 18 0 16 0; #X connect 18 0 9 1; #X connect 18 0 47 0; #X connect 18 0 60 1; #X connect 19 0 18 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 24 0 19 0; #X connect 24 1 19 1; #X connect 27 0 3 1; #X connect 27 0 0 1; #X connect 28 0 87 0; #X connect 29 0 80 0; #X connect 31 0 81 0; #X connect 32 0 76 0; #X connect 33 0 35 0; #X connect 33 1 34 1; #X connect 34 0 32 0; #X connect 35 0 36 0; #X connect 36 0 37 0; #X connect 36 0 39 0; #X connect 37 0 35 1; #X connect 38 0 35 1; #X connect 39 0 38 0; #X connect 39 0 34 0; #X connect 40 0 0 0; #X connect 41 0 3 0; #X connect 42 0 13 0; #X connect 44 0 2 0; #X connect 44 1 45 0; #X connect 45 0 2 1; #X connect 46 0 12 2; #X connect 46 0 8 1; #X connect 47 0 48 1; #X connect 48 0 10 0; #X connect 50 0 40 0; #X connect 52 0 93 0; #X connect 56 0 57 0; #X connect 57 0 52 0; #X connect 58 0 56 0; #X connect 58 1 59 0; #X connect 59 0 56 1; #X connect 60 0 58 0; #X connect 73 0 44 0; #X connect 74 0 33 0; #X connect 75 0 33 0; #X connect 77 0 28 0; #X connect 78 0 29 0; #X connect 79 0 31 0; #X connect 82 0 60 0; #X connect 83 0 20 0; #X connect 84 0 1 1; #X connect 86 0 17 0; #X connect 88 0 19 0; #X connect 89 0 95 0; #X connect 90 0 91 0; #X connect 91 0 92 0; #X connect 93 0 90 0; #X connect 93 1 91 1; #X connect 95 0 96 0; #X connect 95 1 94 0; #X restore 109 133 pd read-windows; #X text 312 5 recall previous output amplitude. Its phase will be added to the phase difference we measure from two windows in the the recorded sound.; #X obj 121 69 *~; #X obj 89 69 *~; #X obj 89 91 +~; #X obj 159 94 q8_rsqrt~; #X obj 159 71 +~ 1e-20; #X obj 73 119 *~; #X obj 19 118 *~; #X obj 29 245 lrshift~ 1; #X obj 24 269 lrshift~ -1; #X obj 141 245 lrshift~ 1; #X obj 133 269 lrshift~ -1; #X obj 35 300 *~; #X obj 159 312 *~; #X obj 19 325 +~; #X obj 125 331 +~; #X text 247 66 divide by the magnitude to make a unit-magnitude complex amplitude (phase only). The 1e-20 is to prevent overflows. q8_rsqrt~ is reciprocal square root.; #X text 247 165 Take FT of the window in back. Multiply its conjugate by the normalized previous output. The result has the magnitude of the input sound and phase (previous output phase) minus (back window phase).; #X text 282 238 If "lock" is on \, encourage neighboring channels to stay in phase by adding the two neighboring complex amplitudes. The result will tend toward the channel with the strongest amplitude. If the phase relationships between channels in the output and those in the input are in parallel \, then neighboring channels of the quotient will all have the same phase and this will not change any phases. (lrshift shifts the signal to the left or right depending on its argument.) ; #X text 386 458 'set' message to block; #X text 389 475 allows variable size; #X text 259 126 Read two windows \, one 1/4 length behind the other \, of the input sound \, with Hann window function (see inside).; #X obj 20 8 tabreceive~ \$0-prev-real; #X obj 73 29 tabreceive~ \$0-prev-imag; #X obj 181 290 r \$0-lock; #X obj 137 542 tabsend~ \$0-prev-imag; #X obj 136 567 tabsend~ \$0-prev-real; #X obj 127 622 r \$0-window-size; #X obj 425 493 r \$0-window-size; #X obj 649 583 512; #X obj 649 606 s \$0-window-size; #X obj 686 555 0; #X obj 688 580 s \$0-transpo; #X obj 725 557 s \$0-rewind; #X msg 761 516 \; pd dsp 1 \;; #X obj 673 484 t b b b b; #X connect 0 0 2 1; #X connect 1 0 2 0; #X connect 2 0 15 0; #X connect 2 0 57 0; #X connect 3 0 5 1; #X connect 4 0 5 0; #X connect 5 0 15 1; #X connect 5 0 56 0; #X connect 6 0 19 1; #X connect 7 0 19 0; #X connect 8 0 10 1; #X connect 9 0 10 0; #X connect 10 0 40 0; #X connect 10 0 39 0; #X connect 10 0 45 0; #X connect 11 0 18 1; #X connect 12 0 16 0; #X connect 13 0 1 1; #X connect 13 0 3 1; #X connect 13 1 0 1; #X connect 13 1 4 1; #X connect 14 0 9 1; #X connect 14 0 7 1; #X connect 14 1 6 1; #X connect 14 1 8 1; #X connect 15 0 24 0; #X connect 17 0 18 0; #X connect 18 0 29 0; #X connect 19 0 41 0; #X connect 19 0 42 0; #X connect 19 0 46 0; #X connect 20 0 1 0; #X connect 20 0 4 0; #X connect 21 0 0 0; #X connect 21 0 3 0; #X connect 23 0 17 1; #X connect 23 0 17 0; #X connect 23 0 20 0; #X connect 24 0 12 0; #X connect 25 0 24 1; #X connect 26 0 12 1; #X connect 27 0 66 0; #X connect 28 0 22 0; #X connect 29 0 20 1; #X connect 29 0 21 1; #X connect 30 0 14 0; #X connect 30 1 13 0; #X connect 32 0 34 1; #X connect 33 0 34 0; #X connect 34 0 36 0; #X connect 35 0 37 1; #X connect 35 0 38 1; #X connect 36 0 35 0; #X connect 37 0 8 0; #X connect 37 0 7 0; #X connect 38 0 9 0; #X connect 38 0 6 0; #X connect 39 0 43 0; #X connect 40 0 43 0; #X connect 41 0 44 0; #X connect 42 0 44 0; #X connect 43 0 45 1; #X connect 44 0 46 1; #X connect 45 0 23 0; #X connect 46 0 11 0; #X connect 46 0 11 1; #X connect 46 0 21 0; #X connect 53 0 33 1; #X connect 53 0 33 0; #X connect 53 0 38 0; #X connect 54 0 32 1; #X connect 54 0 32 0; #X connect 54 0 37 0; #X connect 55 0 43 1; #X connect 55 0 44 1; #X connect 58 0 26 0; #X connect 59 0 28 0; #X connect 60 0 61 0; #X connect 62 0 63 0; #X connect 66 0 60 0; #X connect 66 1 62 0; #X connect 66 2 64 0; #X connect 66 3 65 0; #X restore 155 -93 pd fft-analysis; #N canvas 260 23 647 667 phase-tables 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-prev-imag 4096 float 0; #X coords 0 1000 4096 -1000 400 300 1; #X restore 171 339 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-prev-real 4096 float 0; #X coords 0 500 4096 -500 400 300 1; #X restore 170 17 graph; #X restore 307 -90 pd phase-tables; #N canvas 0 110 565 454 hann-window 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-hann 1024 float 0; #X coords 0 1 1023 0 300 100 1; #X restore 82 311 graph; #X obj 392 165 osc~; #X obj 392 190 *~ -0.5; #X obj 392 214 +~ 0.5; #X obj 345 247 tabwrite~ \$0-hann; #X obj 38 173 /; #X obj 127 142 samplerate~; #X obj 201 204 swap; #X obj 201 228 /; #X obj 49 201 * 1000; #X obj 38 115 t f b f; #X msg 201 89 resize \$1; #X obj 201 113 s \$0-hann; #X msg 396 130 0; #X obj 344 131 t f b; #X text 15 8 calculate Hann window table (variable window size) and constants window-hz (fundamental frequency of analysis) \, window-sec and window-msec (analysis window size in seconds and msec).; #X obj 37 88 r \$0-window-size; #X obj 344 105 r \$0-window-hz; #X obj 201 252 s \$0-window-hz; #X obj 37 252 s \$0-window-sec; #X obj 49 229 s \$0-window-msec; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 5 0 9 0; #X connect 5 0 19 0; #X connect 6 0 5 1; #X connect 6 0 7 1; #X connect 7 0 8 0; #X connect 7 1 8 1; #X connect 8 0 18 0; #X connect 9 0 20 0; #X connect 10 0 5 0; #X connect 10 0 7 0; #X connect 10 1 6 0; #X connect 10 2 11 0; #X connect 11 0 12 0; #X connect 13 0 1 1; #X connect 14 0 1 0; #X connect 14 1 4 0; #X connect 14 1 13 0; #X connect 16 0 10 0; #X connect 17 0 14 0; #X restore 307 -66 pd hann-window; #N canvas 372 179 694 447 insample 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-sample 498112 float 0; #X coords 0 1 498111 -1 400 150 1; #X restore 281 135 graph; #X obj 28 184 unpack s f; #X obj 28 294 soundfiler; #X text 365 319 read a sample; #X obj 285 318 loadbang; #X obj 28 210 t s b; #X obj 84 209 symbol \$0-sample; #X obj 28 245 pack s s; #X msg 28 270 read -resize \$1 \$2; #X obj 83 156 44100; #X obj 28 157 t a b; #X obj 38 318 s \$0-samplength; #X obj 125 184 s \$0-insamprate; #X obj 28 357 /; #X obj 28 381 * 1000; #X obj 28 404 s \$0-samp-msec; #X obj 66 357 r \$0-insamprate; #X obj 29 70 hip~ 5; #X obj 29 46 adc~ 1; #X obj 29 9 inlet; #X obj 91 46 samplerate~; #X obj 29 93 tabwrite~ \$0-sample; #X obj 91 70 s \$0-insamprate; #X obj 276 20 inlet; #X obj 276 42 openpanel; #X obj 28 133 r \$0-read-sample; #X obj 276 68 s \$0-read-sample; #X msg 285 383 \; \$0-read-sample ../sound/voice.wav; #X obj 364 43 r \$1-sample; #X connect 1 0 5 0; #X connect 1 1 12 0; #X connect 2 0 11 0; #X connect 2 0 13 0; #X connect 4 0 27 0; #X connect 5 0 7 0; #X connect 5 1 6 0; #X connect 6 0 7 1; #X connect 7 0 8 0; #X connect 8 0 2 0; #X connect 9 0 12 0; #X connect 10 0 1 0; #X connect 10 1 9 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 16 0 13 1; #X connect 17 0 21 0; #X connect 18 0 17 0; #X connect 19 0 20 0; #X connect 19 0 18 0; #X connect 20 0 22 0; #X connect 23 0 24 0; #X connect 24 0 26 0; #X connect 25 0 10 0; #X connect 28 0 26 0; #X restore 243 184 pd insample; #X obj 33 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -62784 -1 -1 ; #X obj 322 6 panner_gop~; #N canvas 783 147 450 300 randpan 0; #X obj 188 36 random 100; #X obj 189 228 f; #X obj 188 64 / 100; #X obj 187 7 metro; #X obj 123 21 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 4 22 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 189 254 pack f f; #X obj 64 22 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 165 121 > 0.25; #X obj 228 120 < 0.75; #X obj 189 166 ==; #X obj 187 90 t f f f; #X obj 189 199 select 1; #X obj 122 4 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 4 188 outlet; #X connect 0 0 2 0; #X connect 1 0 6 0; #X connect 1 0 13 0; #X connect 2 0 11 0; #X connect 3 0 0 0; #X connect 4 0 3 0; #X connect 5 0 3 1; #X connect 6 0 14 0; #X connect 7 0 6 1; #X connect 8 0 10 0; #X connect 9 0 10 1; #X connect 10 0 12 0; #X connect 11 0 8 0; #X connect 11 1 9 0; #X connect 11 2 1 1; #X connect 12 0 1 0; #X coords 0 -1 1 1 150 40 1 0 0; #X restore 415 4 pd randpan; #X obj 112 20 vsl 18 60 0 3 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 42 163 16; #X obj 77 163 32; #X obj 112 163 64; #X obj 3 163 8; #X obj 3 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 22 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 41 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 60 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 3 185 s \$0_num_slices; #N canvas 251 27 658 656 slicer 0; #X obj 72 44 f; #X obj 23 19 notein; #X obj 49 97 f; #X obj 13 159 / 16; #X obj 66 184 *; #X obj 224 240 / 16; #X obj 231 283 +; #X obj 72 67 t b f b b; #X obj 364 216 *; #X obj 389 181 / 16; #X obj 147 212 f; #X obj 147 181 t b f; #X obj 199 205 t b f; #X obj 383 155 f; #X obj 354 124 t b f; #X obj 408 122 t b f; #X obj 301 124 t b f; #X obj 154 599 line; #X obj 85 20 r \$0_rex_note; #X obj 415 92 r \$0_num_slices; #X obj 258 94 r \$0_pitch; #X obj 203 180 r \$0_num_slices; #X obj 72 119 r \$0_num_slices; #X obj 354 66 r \$0_samplen_ms; #X obj 53 70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 91 94 r \$0-samplength; #X obj 147 152 r \$0-samplength; #X obj 341 471 expr ($f1 / $f2) * 1000; #X obj 341 421 r \$0-samplength; #X obj 483 421 r \$0-insamprate; #X obj 341 447 pack f f; #X obj 341 497 s \$0_samplen_ms; #X obj 312 524 print len_ms; #X obj 154 627 outlet; #X obj 7 327 expr ($f1 / $f2) * 1000; #X obj 84 301 r \$0-insamprate; #X obj 6 301 pack f f; #X obj 231 331 expr ($f1 / $f2) * 1000; #X obj 311 307 r \$0-insamprate; #X obj 231 307 pack f f; #X obj 151 386 f; #X obj 144 240 t b f f; #X obj 173 361 r \$0-reverse; #X obj 233 475 f; #X obj 197 475 f; #X obj 197 500 pack f f f; #X obj 196 449 t b b; #X obj 147 474 f; #X obj 111 474 f; #X obj 98 500 pack f f f; #X obj 110 448 t b b; #X obj 151 411 route 1 0; #X msg 100 525 \$1 \, \$2 \$3; #X msg 197 525 \$1 \, \$2 \$3; #X obj 362 242 t f f f; #X connect 0 0 7 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 41 0; #X connect 5 0 6 1; #X connect 6 0 39 0; #X connect 7 0 2 0; #X connect 7 0 24 0; #X connect 7 1 4 1; #X connect 8 0 54 0; #X connect 9 0 8 0; #X connect 10 0 5 0; #X connect 11 0 10 0; #X connect 11 1 10 1; #X connect 12 0 10 0; #X connect 12 1 5 1; #X connect 13 0 9 0; #X connect 14 0 13 0; #X connect 14 1 13 1; #X connect 15 0 13 0; #X connect 15 1 9 1; #X connect 16 0 13 0; #X connect 16 1 8 1; #X connect 17 0 33 0; #X connect 18 0 0 0; #X connect 19 0 15 0; #X connect 20 0 16 0; #X connect 21 0 12 0; #X connect 22 0 3 1; #X connect 23 0 14 0; #X connect 25 0 2 1; #X connect 26 0 11 0; #X connect 27 0 31 0; #X connect 27 0 32 0; #X connect 28 0 30 0; #X connect 29 0 30 1; #X connect 30 0 27 0; #X connect 34 0 44 1; #X connect 34 0 47 1; #X connect 35 0 36 1; #X connect 36 0 34 0; #X connect 37 0 43 1; #X connect 37 0 48 1; #X connect 38 0 39 1; #X connect 39 0 37 0; #X connect 40 0 51 0; #X connect 41 0 40 0; #X connect 41 1 36 0; #X connect 41 2 6 0; #X connect 42 0 40 1; #X connect 43 0 45 1; #X connect 44 0 45 0; #X connect 45 0 53 0; #X connect 46 0 44 0; #X connect 46 1 43 0; #X connect 47 0 49 1; #X connect 48 0 49 0; #X connect 49 0 52 0; #X connect 50 0 48 0; #X connect 50 1 47 0; #X connect 51 0 50 0; #X connect 51 1 46 0; #X connect 52 0 17 0; #X connect 53 0 17 0; #X connect 54 0 49 2; #X connect 54 1 45 2; #X restore 164 254 pd slicer; #X obj 143 185 s \$0_pitch; #X obj 81 112 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 3 256; #N canvas 517 268 584 418 vtest 0; #X restore 735 3 pd vtest; #X obj 68 -91 loadbang; #X obj 101 -59 1; #X obj 68 -58 0.5; #X obj 450 51 drum-delay-small; #X obj 300 51 drum-delay-small; #X obj 541 187 *~; #X obj 499 188 *~; #X obj 552 218 line~ 10; #X obj 190 -37 vcf~; #X obj 205 -63 sig~; #X msg 251 -62 1; #X msg 253 233 512; #X msg 293 233 1024; #X msg 340 233 2048; #X msg 387 233 4096; #N canvas 43 25 450 451 note_gen 0; #X obj 3 17 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 ; #X obj 141 372 random; #X obj 43 37 nbx 5 14 1 10 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 1 256; #X obj 3 36 bng 15 50 10 0 empty empty empty 17 7 0 10 -24198 -258699 -1; #X obj 204 62 threshold~ 0.9 10 0.5 10; #X obj 190 346 r \$0_num_slices; #X obj 204 34 *~; #X obj 205 8 inlet~; #X obj 204 121 realtime; #X obj 204 91 t b b; #X obj 142 158 f; #X obj 177 158 + 1; #X obj 142 219 select; #X msg 205 219 0; #X obj 212 158 t f b; #X obj 109 2 loadbang; #X obj 23 17 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 ; #X obj 18 402 s \$0-seqstep; #X obj 60 271 f; #X obj 124 32 0; #X msg 60 297 \$1 bang; #X obj 23 36 bng 15 50 10 0 empty empty empty 17 7 0 10 -62784 -262144 -1; #X obj 60 324 route 1 0; #X obj 141 401 s \$0_rex_note; #X connect 0 0 6 1; #X connect 1 0 23 0; #X connect 2 0 14 0; #X connect 4 0 9 0; #X connect 4 0 10 0; #X connect 5 0 1 1; #X connect 6 0 4 0; #X connect 7 0 6 0; #X connect 9 0 8 0; #X connect 9 1 8 1; #X connect 10 0 11 0; #X connect 10 0 12 0; #X connect 11 0 10 1; #X connect 12 0 13 0; #X connect 12 0 18 0; #X connect 13 0 10 0; #X connect 13 0 11 0; #X connect 14 0 12 1; #X connect 14 1 13 0; #X connect 15 0 2 0; #X connect 15 0 19 0; #X connect 16 0 18 1; #X connect 18 0 20 0; #X connect 19 0 16 0; #X connect 20 0 22 0; #X connect 22 0 17 0; #X connect 22 0 21 0; #X connect 22 1 1 0; #X connect 22 1 3 0; #X coords 0 -1 1 1 100 55 1 0 0; #X restore 6 19 pd note_gen; #X obj 151 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 170 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 189 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 208 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 138 23 5 0 0 0 - - -; #X msg 646 219 200; #X msg 690 198 100; #X msg 690 220 20; #X obj 462 255 outlet~; #X obj 532 255 outlet~; #X obj 293 258 s \$0-window-size; #X obj 150 284 s \$0-location; #X obj 475 -90 s \$0-transpo; #X obj 645 251 s \$0-auto; #X obj 3 -91 inlet~; #X obj 66 -24 inlet~; #X msg 9 245 -20; #X obj 138 53 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 236 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -261681 -1 -1; #X obj 254 85 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 360 185 s \$0-reverse; #X obj 9 212 r \$0-res; #N canvas 687 26 564 333 seqw 0; #X obj 101 159 metro; #X obj 154 162 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 1 256; #X obj 101 117 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 101 189 f; #X obj 135 189 + 1; #X obj 25 49 r \$0-gen; #X obj 377 90 r \$0-seqstep; #X obj 195 47 loadbang; #X obj 195 70 1; #X obj 292 48 print; #X obj 377 173 f; #X obj 411 173 + 1; #X obj 43 298 tabwrite \$0-seq_loop; #X obj 99 221 t f b f; #X obj 375 243 tabread \$0-seq_loop; #N canvas 681 117 475 359 seq-table 0; #N canvas 0 0 450 300 (subpatch) 0; #X array \$0-seq_loop 32 float 3; #A 0 14 3 40 14 51 8 18 14 18 57 35 14 38 26 17 28 13 11 5 1 6 3 7 4 3 2 4 0 7 10 12 11; #X coords 1 64 16 0 400 300 1; #X restore 43 45 graph; #X restore 21 11 pd seq-table; #X obj 376 272 s \$0_rex_note; #X obj 140 46 t b f; #X msg 140 71 0; #X obj 285 201 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 377 198 t f f; #X obj 274 88 select 16; #X obj 11 112 select 16; #X obj 43 265 random 64; #X msg 9 140 0; #X msg 273 117 0; #X connect 0 0 3 0; #X connect 1 0 0 1; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 3 0 13 0; #X connect 4 0 3 1; #X connect 5 0 2 0; #X connect 6 0 10 0; #X connect 6 0 19 0; #X connect 7 0 8 0; #X connect 8 0 1 0; #X connect 10 0 11 0; #X connect 10 0 20 0; #X connect 11 0 10 1; #X connect 13 0 22 0; #X connect 13 1 23 0; #X connect 13 2 12 1; #X connect 14 0 16 0; #X connect 17 0 18 0; #X connect 17 1 3 0; #X connect 18 0 2 0; #X connect 20 0 21 0; #X connect 20 1 14 0; #X connect 21 0 25 0; #X connect 22 0 24 0; #X connect 23 0 12 0; #X connect 24 0 17 0; #X connect 25 0 10 0; #X restore 507 -39 pd seqw; #X obj 732 162 s \$0-gen; #X obj 272 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 699 162 1; #X obj 150 327 r \$1slicepitch; #X obj 452 370 r \$1loc; #X obj 699 -82 r \$1pitch; #X obj 389 317 r \$1vol; #X obj 713 -62 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 694 -34 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 523 341 r \$0_samplen_ms; #X obj 523 369 / 1024; #X obj 494 396 *; #X obj 299 395 line 20; #X obj 387 396 - 20; #X obj 25 364 route 1 2 3 4; #X obj 36 324 r \$1chop; #X obj 592 -89 loadbang; #X msg 454 -39 3; #X obj 346 -25 10050; #X obj 712 130 r \$1cutoff; #X obj 234 14 vsl 15 60 0 10050 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 5900 1; #X obj 261 14 vsl 15 60 0 20 0 0 empty empty empty 0 -8 0 10 -262144 -1 -1 295 1; #X connect 0 0 49 0; #X connect 1 0 30 0; #X connect 5 0 4 1; #X connect 6 0 26 0; #X connect 6 1 25 0; #X connect 7 0 6 1; #X connect 8 0 29 0; #X connect 9 0 17 0; #X connect 10 0 17 0; #X connect 11 0 17 0; #X connect 12 0 17 0; #X connect 13 0 12 0; #X connect 14 0 9 0; #X connect 15 0 10 0; #X connect 16 0 11 0; #X connect 18 0 49 0; #X connect 20 0 19 0; #X connect 22 0 14 0; #X connect 22 0 23 0; #X connect 22 0 24 0; #X connect 23 0 20 0; #X connect 24 0 6 1; #X connect 25 0 27 0; #X connect 26 0 28 0; #X connect 27 0 47 0; #X connect 28 0 46 0; #X connect 29 0 27 1; #X connect 29 0 28 1; #X connect 30 0 6 0; #X connect 31 0 30 1; #X connect 32 0 30 2; #X connect 32 0 82 0; #X connect 33 0 48 0; #X connect 34 0 48 0; #X connect 35 0 48 0; #X connect 36 0 48 0; #X connect 38 0 33 0; #X connect 39 0 34 0; #X connect 40 0 35 0; #X connect 41 0 36 0; #X connect 42 0 50 0; #X connect 43 0 51 0; #X connect 44 0 51 0; #X connect 45 0 51 0; #X connect 53 0 37 0; #X connect 54 0 49 0; #X connect 54 0 55 0; #X connect 56 0 44 0; #X connect 57 0 58 0; #X connect 59 0 54 0; #X connect 62 0 63 0; #X connect 63 0 61 0; #X connect 64 0 20 0; #X connect 65 0 72 0; #X connect 66 0 69 0; #X connect 66 0 42 0; #X connect 67 0 8 0; #X connect 70 0 71 0; #X connect 71 0 72 1; #X connect 72 0 74 0; #X connect 73 0 49 0; #X connect 74 0 73 0; #X connect 75 0 13 0; #X connect 75 1 14 0; #X connect 75 2 15 0; #X connect 75 3 16 0; #X connect 76 0 75 0; #X connect 77 0 78 0; #X connect 77 0 15 0; #X connect 77 0 39 0; #X connect 77 0 32 0; #X connect 77 0 79 0; #X connect 78 0 20 0; #X connect 79 0 81 0; #X connect 80 0 81 0; #X connect 81 0 31 0; #X connect 82 0 30 2; #X coords 0 -1 -1 1 700 130 1 0 0;