#N canvas 219 98 1061 622 10; #X obj 45 113 soundfiler; #X obj 45 51 openpanel; #X obj 45 24 bng 15 250 50 0 empty load empty 17 7 0 10 -262144 -1 -1; #X floatatom 45 164 9 0 0 0 - - -; #X obj 45 193 /; #X floatatom 45 221 5 0 0 0 - - -; #X obj 45 583 dac~; #X obj 45 550 *~; #X obj 83 552 hsl 100 18 0 1 0 0 empty vol Volume 25 9 1 10 -204786 -1 -1 5940 1; #X text 70 23 <-- load file; #X obj 120 164 samplerate~; #X obj 120 164 samplerate~; #X obj 45 137 t f b; #X obj 267 31 loadbang; #X obj 423 32 cnv 15 300 200 empty empty empty 20 12 0 14 -261682 -66577 0; #N canvas 0 22 450 300 (subpatch) 0; #X array sound_looper 131263 float 2; #X coords 0 1 131263 -1 300 200 1; #X restore 424 31 graph; #X floatatom 45 287 0 0 0 0 - - -; #X text 121 289 <-- frequency (Hz.); #X floatatom 117 416 0 0 0 0 - - -; #X obj 45 466 *~ 0; #X obj 45 493 +~ 1; #X text 91 469 <-- readjust phase for range 0 - (chunk size); #X text 90 493 <-- add one to avoid beginning of table; #X obj 117 389 samplerate~; #X obj 66 442 *; #X obj 407 33 vsl 15 195 0 1 0 0 vol mst_vol V 4 100 1 12 -4034 -1 -1 11640 1; #X text 200 554 <-- forward; #X text 166 418 <-- duration to play (seconds); #X obj 45 391 phasor~; #X obj 425 232 hsl 297 15 0 1 0 0 empty pos-fw position 20 8 0 10 -262144 -1 -1 0 1; #X obj 407 232 bng 15 250 50 0 empty empty empty 17 7 0 10 -1 -1 -1 ; #N canvas 508 468 450 300 pos 0; #X obj 193 42 inlet~; #X obj 193 67 env~; #X obj 193 94 dbtorms; #X obj 193 122 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X restore 1 418 pd pos; #X floatatom 1 444 5 0 0 0 - - pos-fw; #X text 85 222 <-- duration in seconds (can be set manually); #X obj 425 249 hsl 297 15 0 10 0 0 empty speedval speed_=_1 20 7 0 10 -162280 -1 -1 2960 1; #X obj 407 249 bng 15 250 50 0 empty empty empty 17 7 0 10 -1 -1 -1 ; #X text 141 264 <-- speed of phasor~ set to 1/freq; #X obj 376 30 cnv 15 30 235 empty empty empty 20 12 0 14 -128992 -66577 0; #X obj 381 53 bng 20 250 50 0 load empty L 7 10 0 12 -4034 -4160 -1 ; #X obj 381 115 bng 20 250 50 0 1x empty 1x 4 10 0 10 -228856 -258113 -1; #X obj 381 150 bng 20 250 50 0 2x empty 2x 4 10 0 10 -228856 -258113 -1; #X obj 381 183 bng 20 250 50 0 5x empty 5x 4 10 0 10 -228856 -258113 -1; #X obj 381 215 bng 20 250 50 0 10x empty 10x 2 10 0 10 -228856 -258113 -1; #X msg 45 83 read -resize \$1 sound_looper; #X obj 45 519 tabread4~ sound_looper; #X floatatom 449 302 5 0 0 0 - - speed; #X obj 45 344 * 1; #X obj 422 275 t b f; #X obj 381 80 bng 20 250 50 0 stop empty S 7 10 0 12 -258113 -4160 -1; #X msg 449 334 \; speedval label speed_=_\$1; #X msg 200 165 \; speedval 1; #X obj 45 257 expr 1/$f1; #X obj 45 365 t f b; #X obj 770 413 square; #X obj 770 121 gemhead; #X text 827 412 <-- draw a square; #X obj 813 381 hsl 128 15 1 4 0 0 empty size change_size_(1-4) -2 -8 0 10 -262144 -1 -1 12700 1; #X obj 795 149 bng 25 250 50 0 empty empty empty 0 -6 0 8 -4034 -1 -1; #X obj 795 178 openpanel; #X msg 795 211 open \$1; #X msg 855 227 auto \$1; #X obj 855 205 tgl 15 0 empty empty empty 0 -6 0 8 -4034 -1 -1 0 1 ; #X obj 770 279 pix_film; #X obj 770 332 pix_texture; #X obj 882 299 unpack 0 0 0; #X floatatom 882 322 5 0 0 3 length - frames; #X floatatom 931 322 5 0 0 3 width - -; #X floatatom 981 322 5 0 0 3 height - -; #X obj 936 280 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; #X floatatom 926 161 5 0 0 0 - - -; #X obj 926 196 *; #X obj 965 174 r frames; #X floatatom 926 227 5 0 0 0 - - -; #X obj 926 127 r pos-fw; #X obj 770 466 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 22 454 304 gemwin 0; #X obj 131 164 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X obj 67 41 route create; #X msg 67 70 set destroy; #X msg 142 68 set create; #X msg 198 112 destroy; #X msg 131 140 create \, 1 \, lighting 1; #X obj 298 149 world_light; #X obj 298 122 gemhead; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 7 0; #X connect 3 1 5 0; #X connect 3 1 6 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X connect 9 0 8 0; #X restore 775 504 pd gemwin; #X msg 775 485 create; #X text 771 465 Create window:; #N canvas 242 129 294 248 controls 0; #X obj 24 16 r stop; #X msg 24 40 \; speedval 0; #X obj 26 90 r 1x; #X obj 60 90 r 2x; #X obj 98 90 r 5x; #X obj 132 90 r 10x; #X msg 26 125 \; speedval 1; #X msg 132 167 \; speedval 10; #X msg 59 167 \; speedval 2; #X msg 98 124 \; speedval 5; #X connect 0 0 1 0; #X connect 2 0 6 0; #X connect 3 0 8 0; #X connect 4 0 9 0; #X connect 5 0 7 0; #X restore 506 302 pd controls; #X msg 268 59 \; mst_vol 0.6 \; speedval 1 \; size 4 \; pd dsp 1; #X connect 0 0 12 0; #X connect 1 0 43 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 18 0; #X connect 5 0 51 0; #X connect 7 0 6 0; #X connect 7 0 6 1; #X connect 8 0 7 1; #X connect 10 0 4 1; #X connect 12 0 3 0; #X connect 12 1 10 0; #X connect 12 1 50 0; #X connect 13 0 79 0; #X connect 16 0 46 0; #X connect 18 0 24 0; #X connect 19 0 20 0; #X connect 20 0 44 0; #X connect 23 0 24 1; #X connect 24 0 19 1; #X connect 28 0 19 0; #X connect 28 0 31 0; #X connect 31 0 32 0; #X connect 34 0 47 0; #X connect 43 0 0 0; #X connect 44 0 7 0; #X connect 46 0 52 0; #X connect 47 0 46 0; #X connect 47 1 45 0; #X connect 47 1 49 0; #X connect 47 1 46 1; #X connect 51 0 16 0; #X connect 52 0 28 0; #X connect 52 1 23 0; #X connect 54 0 62 0; #X connect 56 0 53 1; #X connect 57 0 58 0; #X connect 58 0 59 0; #X connect 59 0 62 0; #X connect 60 0 62 0; #X connect 61 0 60 0; #X connect 62 0 63 0; #X connect 62 1 64 0; #X connect 62 2 68 0; #X connect 63 0 53 0; #X connect 64 0 65 0; #X connect 64 1 66 0; #X connect 64 2 67 0; #X connect 69 0 70 0; #X connect 70 0 72 0; #X connect 71 0 70 1; #X connect 72 0 62 1; #X connect 73 0 69 0; #X connect 75 0 76 0; #X connect 76 0 75 0;