#N canvas 240 136 1039 766 10; #X obj 49 -3 inlet; #X obj 77 656 outlet~; #X obj 234 660 outlet~; #X obj 86 625 *~; #X obj 240 629 *~; #X obj 243 -49 inlet pitch; #X obj 22 146 sig~ 1; #N canvas 1026 60 1278 964 grains 0; #X obj 272 634 outlet~; #X obj 98 24 inlet~; #X obj 230 25 inlet~; #X obj 371 630 outlet~; #X obj 743 38 inlet grain_length; #X obj 282 264 phasor~; #X obj 327 338 +~ 0.5; #X obj 304 362 wrap~; #X obj 296 234 *~ 1; #X obj 802 87 loadbang; #N canvas 0 90 1022 684 grain~ 0; #X obj 113 468 tabread4~; #X msg 163 436 set \$1; #X obj -29 81 inlet~ offset(normalized); #X obj 137 79 inlet~ phasor; #X obj 65 237 samphold~; #X obj 64 280 +~; #X obj 129 609 outlet~; #X obj 832 200 clip 0 0.5; #X obj 128 577 *~; #X obj 668 394 samphold~; #X obj 594 394 samphold~; #X obj 265 459 tabread4~; #X obj 276 616 outlet~; #X obj 275 584 *~; #X msg 333 420 set \$1; #X obj 830 254 expr 1-$f1; #X obj 658 320 sig~ 0.01; #X obj 774 347 sig~ 0.99; #X obj 138 228 *~ 7056; #X obj 610 170 unpack s s; #X obj 492 80 inlet tables; #X obj 714 74 inlet grain_length; #X obj 845 72 inlet grain_fade; #X obj 65 340 cyclone/pong~ 1 10000 40000; #X obj 113 285 r \$0-sampstart; #X obj 196 302 r \$0-sampend; #X obj 432 424 *~ 1; #X obj 451 394 r \$0han_size; #X obj 442 495 tabread4~ \$0han; #X connect 0 0 8 0; #X connect 1 0 0 0; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 3 0 10 1; #X connect 3 0 9 1; #X connect 3 0 18 0; #X connect 3 0 26 0; #X connect 4 0 5 0; #X connect 5 0 23 0; #X connect 7 0 15 0; #X connect 7 0 16 0; #X connect 8 0 6 0; #X connect 11 0 13 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 17 0; #X connect 16 0 10 0; #X connect 17 0 9 0; #X connect 18 0 5 1; #X connect 19 0 1 0; #X connect 19 1 14 0; #X connect 20 0 19 0; #X connect 21 0 18 1; #X connect 22 0 7 0; #X connect 23 0 11 0; #X connect 23 0 0 0; #X connect 24 0 23 1; #X connect 25 0 23 2; #X connect 26 0 28 0; #X connect 27 0 26 1; #X connect 28 0 8 1; #X connect 28 0 13 1; #X restore 166 512 pd grain~; #X obj 122 189 *~ 0; #X obj 125 245 +~ 0; #X obj 156 155 r \$0-samplength; #X obj 157 212 r \$0-sampstart; #X obj 473 38 inlet tables; #X obj 663 125 unpack f f; #X obj 342 97 t b f; #X obj 322 143 samplerate~; #X obj 328 180 /; #N canvas 1139 131 1022 684 grain~ 0; #X obj 113 468 tabread4~; #X msg 163 436 set \$1; #X obj -29 81 inlet~ offset(normalized); #X obj 137 79 inlet~ phasor; #X obj 65 237 samphold~; #X obj 64 280 +~; #X obj 129 609 outlet~; #X obj 832 200 clip 0 0.5; #X obj 128 577 *~; #X obj 668 394 samphold~; #X obj 594 394 samphold~; #X obj 265 459 tabread4~; #X obj 276 616 outlet~; #X obj 275 584 *~; #X msg 333 420 set \$1; #X obj 830 254 expr 1-$f1; #X obj 658 320 sig~ 0.01; #X obj 774 347 sig~ 0.99; #X obj 138 228 *~ 7056; #X obj 610 170 unpack s s; #X obj 492 80 inlet tables; #X obj 714 74 inlet grain_length; #X obj 845 72 inlet grain_fade; #X obj 75 350 cyclone/pong~ 1 10000 40000; #X obj 123 295 r \$0-sampstart; #X obj 206 312 r \$0-sampend; #X obj 442 434 *~ 1; #X obj 461 404 r \$0han_size; #X obj 452 505 tabread4~ \$0han; #X connect 0 0 8 0; #X connect 1 0 0 0; #X connect 2 0 4 0; #X connect 3 0 4 1; #X connect 3 0 10 1; #X connect 3 0 9 1; #X connect 3 0 18 0; #X connect 3 0 26 0; #X connect 4 0 5 0; #X connect 5 0 23 0; #X connect 7 0 15 0; #X connect 7 0 16 0; #X connect 8 0 6 0; #X connect 11 0 13 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 17 0; #X connect 16 0 10 0; #X connect 17 0 9 0; #X connect 18 0 5 1; #X connect 19 0 1 0; #X connect 19 1 14 0; #X connect 20 0 19 0; #X connect 21 0 18 1; #X connect 22 0 7 0; #X connect 23 0 0 0; #X connect 23 0 11 0; #X connect 24 0 23 1; #X connect 25 0 23 2; #X connect 26 0 28 0; #X connect 27 0 26 1; #X connect 28 0 8 1; #X connect 28 0 13 1; #X restore 384 528 pd grain~; #X msg 805 113 7056 0.5; #X connect 1 0 11 0; #X connect 2 0 8 0; #X connect 4 0 16 0; #X connect 5 0 6 0; #X connect 5 0 10 1; #X connect 6 0 7 0; #X connect 7 0 20 1; #X connect 8 0 5 0; #X connect 9 0 21 0; #X connect 10 0 0 0; #X connect 10 1 3 0; #X connect 11 0 12 0; #X connect 12 0 10 0; #X connect 12 0 20 0; #X connect 13 0 11 1; #X connect 14 0 12 1; #X connect 15 0 10 2; #X connect 15 0 20 2; #X connect 16 0 10 3; #X connect 16 0 17 0; #X connect 16 0 20 3; #X connect 16 1 10 4; #X connect 16 1 20 4; #X connect 17 0 18 0; #X connect 17 1 19 1; #X connect 18 0 19 0; #X connect 19 0 8 1; #X connect 20 0 0 0; #X connect 20 1 3 0; #X connect 21 0 16 0; #X restore 20 377 pd grains; #X obj 583 386 s \$0-sampstart; #X obj 676 386 s \$0-samplength; #X obj 500 385 s \$0-sampend; #N canvas 0 22 842 452 parse_sample 0; #X obj 392 336 outlet end; #X obj 493 335 outlet start; #X obj 600 336 outlet length; #X obj 265 336 outlet tables; #X obj 127 338 outlet base_freq; #N canvas 0 22 450 300 find_freq 0; #X obj 83 241 outlet; #N canvas 330 268 450 300 smpToFreq 0; #X obj 41 35 inlet; #X obj 135 179 samplerate~; #X obj 65 346 outlet; #X obj 41 67 sel 0; #X msg 46 154 0; #X obj 126 104 t b f; #X obj 132 281 /; #X connect 0 0 3 0; #X connect 1 0 6 0; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 4 0 2 0; #X connect 5 0 1 0; #X connect 5 1 6 1; #X connect 6 0 2 0; #X restore 249 100 pd smpToFreq; #X obj 120 96 samplerate~; #X obj 87 67 t f b; #X obj 80 169 *; #X obj 78 119 /; #X obj 269 12 inlet length; #X obj 72 18 inlet samples; #X connect 1 0 4 1; #X connect 2 0 5 1; #X connect 3 0 5 0; #X connect 3 1 2 0; #X connect 4 0 0 0; #X connect 5 0 4 0; #X connect 6 0 1 0; #X connect 7 0 3 0; #X restore 192 201 pd find_freq; #X obj 356 160 -; #X obj 277 72 sample_unpack; #X obj 231 252 zexy/demultiplex; #X obj 315 223 > 1; #X msg 210 277 list 0-\$1 0-\$1; #X msg 326 275 list 0-\$1 1-\$1; #X obj 218 5 inlet; #X obj 618 41 inlet; #X connect 5 0 4 0; #X connect 6 0 5 1; #X connect 6 0 2 0; #X connect 7 0 5 0; #X connect 7 2 8 0; #X connect 7 3 9 0; #X connect 7 4 6 0; #X connect 7 4 0 0; #X connect 7 5 6 1; #X connect 7 5 1 0; #X connect 8 0 10 0; #X connect 8 1 11 0; #X connect 9 0 8 1; #X connect 10 0 3 0; #X connect 11 0 3 0; #X connect 12 0 7 0; #X connect 13 0 7 1; #X restore 483 323 pd parse_sample; #N canvas 0 22 597 611 speed 0; #X obj 92 506 outlet; #X obj 278 22 inlet default; #X obj 43 16 inlet user; #X obj 93 75 route bang; #X obj 185 358 f; #X obj 154 124 /; #X msg 148 102 1000 \$1; #X obj 245 354 spigot 1; #X obj 125 255 t b b; #X msg 243 289 1; #X obj 154 159 t f b; #X msg 196 198 0; #X connect 1 0 7 0; #X connect 1 0 4 1; #X connect 2 0 3 0; #X connect 3 0 8 0; #X connect 3 1 6 0; #X connect 4 0 0 0; #X connect 5 0 10 0; #X connect 6 0 5 0; #X connect 7 0 0 0; #X connect 8 0 4 0; #X connect 8 1 9 0; #X connect 9 0 7 1; #X connect 10 0 0 0; #X connect 10 1 11 0; #X connect 11 0 7 1; #X restore 378 165 pd speed; #N canvas 0 22 787 526 hanning 0; #X obj 325 180 samplerate~; #X obj 325 207 * 0.016; #X obj 326 230 int; #X obj 327 316 until; #X obj 324 349 f; #X msg 359 313 0; #X obj 322 378 + 1; #X obj 470 344 s \$0han; #X msg 470 319 resize \$1; #X obj 314 426 expr cos(($f1/$f2+0.5)*6.283)/2.0+0.5; #X obj 329 255 + 1; #X obj 306 497 tabwrite \$0han; #X obj 321 400 t f f; #X obj 147 171 table \$0han 16; #X obj 331 67 inlet; #X obj 562 306 s \$0han_size; #X obj 329 282 t f b f f f; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 10 0; #X connect 3 0 4 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X connect 6 0 4 1; #X connect 6 0 12 0; #X connect 8 0 7 0; #X connect 9 0 11 0; #X connect 10 0 16 0; #X connect 12 0 9 0; #X connect 12 1 11 1; #X connect 14 0 0 0; #X connect 16 0 3 0; #X connect 16 1 5 0; #X connect 16 2 9 1; #X connect 16 3 8 0; #X connect 16 4 15 0; #X restore 617 98 pd hanning; #X obj 617 57 loadbang; #X obj 441 -34 inlet duration; #X obj 692 194 loadbang; #X obj 692 226 tof/argument 1; #X msg 696 257 sample \$1; #X obj 61 66 route bang float grain; #X obj 402 661 outlet~ progress; #X obj 592 658 outlet done; #N canvas 326 193 914 687 player 0; #X obj 91 29 inlet bang; #X obj 253 38 inlet float; #X obj 388 34 inlet pitch; #X obj 87 655 outlet~ phase; #X msg 172 265 0; #X obj 80 318 tof/phasorshot~; #X msg 310 229 1; #X msg 267 232 0; #X msg 528 383 1; #X msg 358 362 0; #X obj 350 144 sel 0; #N canvas 0 22 450 300 start_phase 0; #X obj 76 249 outlet; #X obj 244 26 inlet speed; #X obj 68 28 inlet bang; #X obj 74 145 < 0; #X obj 76 115 f 1; #X connect 1 0 4 1; #X connect 2 0 4 0; #X connect 3 0 0 0; #X connect 4 0 3 0; #X restore 132 200 pd start_phase; #X obj 236 380 spigot; #X obj 283 310 == 0; #X obj 254 266 t f f; #X obj 561 38 inlet speed; #X obj 294 587 line~; #X msg 295 561 \$1 5; #X obj 315 662 outlet~ volume; #X obj 667 661 outlet done; #X obj 363 600 cyclone/trapezoid~; #X obj 602 188 samplerate~; #X obj 631 137 t b f; #X obj 649 233 /; #X obj 603 85 sel 0; #X obj 631 113 abs; #X obj 654 291 /; #X obj 665 336 t f f; #X msg 709 368 1 \$1; #X obj 716 394 -; #X obj 640 381 sig~ 0.0015; #X obj 717 440 sig~ 0.9985; #X obj 315 631 *~; #X obj 544 657 outlet~ progress; #X obj 378 178 t b b b; #X obj 94 107 t b b b; #X obj 72 211 f 0; #X obj 75 249 sig~ 0; #X obj 354 336 delay 5; #X msg 450 289 stop; #X obj 380 287 t b b; #X msg 480 387 0; #X msg 360 560 0; #X obj 254 414 t b b b; #X msg 345 416 0; #X obj 803 646 outlet get; #X obj 432 243 t b b b b; #X msg 652 267 256 \$1; #X connect 0 0 35 0; #X connect 1 0 10 0; #X connect 2 0 11 1; #X connect 4 0 5 1; #X connect 5 0 3 0; #X connect 5 0 20 0; #X connect 5 0 33 0; #X connect 5 1 12 0; #X connect 5 2 12 0; #X connect 6 0 14 0; #X connect 7 0 14 0; #X connect 8 0 17 0; #X connect 9 0 37 0; #X connect 10 0 40 0; #X connect 10 1 34 0; #X connect 11 0 5 1; #X connect 12 0 43 0; #X connect 13 0 12 1; #X connect 14 0 5 2; #X connect 14 1 13 0; #X connect 15 0 24 0; #X connect 15 0 36 0; #X connect 16 0 32 0; #X connect 17 0 16 0; #X connect 20 0 32 1; #X connect 21 0 23 0; #X connect 22 0 21 0; #X connect 22 1 23 1; #X connect 23 0 47 0; #X connect 24 1 25 0; #X connect 25 0 22 0; #X connect 26 0 27 0; #X connect 27 0 30 0; #X connect 27 1 28 0; #X connect 28 0 29 0; #X connect 29 0 31 0; #X connect 30 0 20 1; #X connect 31 0 20 2; #X connect 32 0 18 0; #X connect 34 0 4 0; #X connect 34 1 6 0; #X connect 34 2 46 0; #X connect 35 0 11 0; #X connect 35 1 7 0; #X connect 35 2 46 0; #X connect 36 0 37 0; #X connect 37 0 5 0; #X connect 38 0 9 0; #X connect 39 0 38 0; #X connect 40 0 38 0; #X connect 40 1 41 0; #X connect 41 0 17 0; #X connect 42 0 16 0; #X connect 43 0 19 0; #X connect 43 1 42 0; #X connect 43 2 44 0; #X connect 44 0 37 0; #X connect 46 0 36 0; #X connect 46 1 39 0; #X connect 46 2 8 0; #X connect 46 3 45 0; #X connect 47 0 26 0; #X restore 173 235 pd player; #X connect 0 0 19 0; #X connect 3 0 1 0; #X connect 4 0 2 0; #X connect 5 0 6 0; #X connect 5 0 22 2; #X connect 6 0 7 1; #X connect 7 0 3 0; #X connect 7 1 4 0; #X connect 11 0 12 1; #X connect 11 1 7 2; #X connect 11 2 10 0; #X connect 11 3 8 0; #X connect 11 4 9 0; #X connect 12 0 22 3; #X connect 14 0 13 0; #X connect 15 0 12 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X connect 18 0 11 1; #X connect 19 0 22 0; #X connect 19 1 22 1; #X connect 19 2 7 3; #X connect 19 3 11 1; #X connect 22 0 7 0; #X connect 22 1 3 1; #X connect 22 1 4 1; #X connect 22 2 20 0; #X connect 22 3 21 0; #X connect 22 4 11 0;