#N canvas 0 22 450 300 10; #N canvas 0 22 1024 720 (subpatch) 0; #X obj -91 207 t b f; #X obj 114 280 +~ 0.5; #X obj 115 300 wrap~; #X obj 5 372 +~; #X obj -152 96 * 0.001; #X obj 59 190 t b f; #X obj 4 228 expr (pow(2 \, $f1/120)-$f3)/$f2; #X obj -313 -100 openpanel; #X obj -313 -37 soundfiler; #X obj 2 3 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1 ; #N canvas 0 22 450 300 (subpatch) 0; #X array \$0-source-array 2.75628e+06 float 2; #X coords 0 1 2.75628e+06 -1 170 100 1 0 0; #X restore 107 68 graph; #X obj 6 393 hip~ 1; #X obj 4 254 phasor~; #X obj 5 67 hsl 85 12 0 100 0 1 empty empty chunk-size 6 6 1 8 -262144 -1 -1 3300 1; #X floatatom 2 81 5 0 0 0 - - -; #X obj -315 295 *~; #X obj -315 249 vline~; #X msg -315 230 0 \, 1 \$1 0; #X obj -315 164 f; #X msg -315 96 bang; #X obj -299 141 * 0.0226757; #N canvas 713 376 209 273 samplegrain 0; #X obj 0 232 *~; #X obj 52 159 +~; #X obj 52 69 *~; #X obj 0 161 -~ 0.5; #X obj 0 181 *~ 0.5; #X obj 0 201 cos~; #X obj 51 90 *~ 44100; #X obj 0 254 outlet~; #X obj 0 0 inlet~ phase; #X obj 68 46 sig~; #X obj 68 22 r \$0-chunk-size; #X obj 68 137 inlet~ \$0-position; #X obj 52 180 tabread4~ \$0-source-array; #X connect 0 0 7 0; #X connect 1 0 12 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 8 0 3 0; #X connect 8 0 2 0; #X connect 9 0 2 1; #X connect 10 0 9 0; #X connect 11 0 1 1; #X connect 12 0 0 1; #X restore 115 350 pd samplegrain; #X obj -315 206 /; #X obj -315 318 *~ 1; #X obj 5 137 hsl 85 12 0 5 0 1 empty empty speed 6 6 1 8 -262144 -1 -1 1260 1; #X obj 5 102 hsl 85 12 -50 50 0 1 empty empty pitch 6 6 1 8 -262144 -1 -1 3213 1; #X floatatom 2 151 5 0 0 0 - - -; #X floatatom 2 116 5 0 0 0 - - -; #N canvas 741 468 283 300 samplegrain 0; #X obj 13 245 *~; #X obj 65 172 +~; #X obj 65 82 *~; #X obj 13 174 -~ 0.5; #X obj 13 194 *~ 0.5; #X obj 13 214 cos~; #X obj 64 103 *~ 44100; #X obj 13 267 outlet~; #X obj 13 13 inlet~ phase; #X obj 81 59 sig~; #X obj 81 35 r \$0-chunk-size; #X obj 81 150 inlet~ \$0-position; #X obj 65 193 tabread4~ \$0-source-array; #X connect 0 0 7 0; #X connect 1 0 12 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 8 0 3 0; #X connect 8 0 2 0; #X connect 9 0 2 1; #X connect 10 0 9 0; #X connect 11 0 1 1; #X connect 12 0 0 1; #X restore 5 350 pd samplegrain; #X obj 55 3 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 6 415 *~ 0.9; #X obj -268 -148 loadbang; #X obj 7 437 outlet~; #X text 72 1 Play; #X text 20 1 Load; #X floatatom -314 11 25 0 0 0 - - -; #X floatatom 202 3 10 0 0 1 ms - -; #X obj 124 -96 expr 1000/($f1/60); #X floatatom 115 3 10 0 0 1 bpm - -; #X obj 140 -72 expr 60 / $f1 * 1000; #X obj -315 70 metro 500; #X obj 2 31 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 ; #X obj 466 153 * 0.0226757; #X obj 452 174 f; #X obj 452 216 /; #X obj 460 242 expr 60 / $f1 * 1000; #X msg 424 151 bang; #X msg -146 -124 1; #X msg -185 -123 1; #X text 20 30 Loop; #X obj 449 29 * 2.26757; #X obj 435 51 *; #X msg -33 -60 set \$1; #X symbolatom 54 31 35 0 0 0 - - -; #X obj -33 -40 splitfilename /; #X obj -313 -80 pack s f; #X obj -268 -124 f \$0; #X msg -313 -60 read -resize \$1 \$2-source-array; #X obj -299 118 r \$0-filesize; #X obj -299 185 r \$0-speed; #X obj -299 271 r \$0-filesize; #X obj -314 342 s~ \$0-position; #X obj -313 -15 s \$0-filesize; #X obj -152 119 s \$0-chunk-size; #X obj -91 182 r \$0-chunk-size; #X obj 180 186 s \$0-speed; #X obj 86 324 r~ \$0-position; #X obj 196 326 r~ \$0-position; #X obj 467 127 r \$0-filesize; #X obj 450 4 r \$0-filesize; #X floatatom -251 -99 5 0 0 0 - - -; #X text -357 -131 Init; #X text -354 47 Position and looping; #X text -87 229 Processing; #X text 421 -18 Calculate speed from bpm; #X obj 468 195 r \$0-speed; #X text 419 103 Calculate bpm from speed; #X text 160 -124 Bpm to ms and ms to bpm; #X text 300 -96 BPM = Beats per minute a sample having a bpm of 3 means that if looped it will play three time over a minute ( that is to say that the sample's length is 20 sec); #X connect 0 0 6 0; #X connect 0 1 6 1; #X connect 1 0 2 0; #X connect 2 0 21 0; #X connect 3 0 11 0; #X connect 4 0 63 0; #X connect 5 0 6 0; #X connect 5 1 6 2; #X connect 6 0 12 0; #X connect 7 0 52 0; #X connect 7 0 55 0; #X connect 8 0 35 0; #X connect 8 0 62 0; #X connect 9 0 7 0; #X connect 11 0 30 0; #X connect 12 0 1 0; #X connect 12 0 28 0; #X connect 13 0 14 0; #X connect 13 0 4 0; #X connect 14 0 13 0; #X connect 15 0 23 0; #X connect 16 0 15 0; #X connect 17 0 16 0; #X connect 18 0 22 0; #X connect 19 0 18 0; #X connect 20 0 18 1; #X connect 21 0 3 1; #X connect 22 0 17 0; #X connect 23 0 61 0; #X connect 24 0 5 0; #X connect 24 0 26 0; #X connect 24 0 46 0; #X connect 24 0 65 0; #X connect 25 0 6 0; #X connect 25 0 27 0; #X connect 26 0 24 0; #X connect 27 0 25 0; #X connect 28 0 3 0; #X connect 29 0 19 0; #X connect 30 0 32 0; #X connect 31 0 47 0; #X connect 31 0 48 0; #X connect 31 0 56 0; #X connect 36 0 39 0; #X connect 36 0 40 1; #X connect 37 0 36 0; #X connect 38 0 37 0; #X connect 38 0 51 0; #X connect 39 0 38 0; #X connect 40 0 19 0; #X connect 41 0 40 0; #X connect 42 0 43 1; #X connect 43 0 44 0; #X connect 44 0 45 0; #X connect 45 0 38 0; #X connect 46 0 43 0; #X connect 47 0 25 0; #X connect 48 0 24 0; #X connect 50 0 51 1; #X connect 51 0 24 0; #X connect 52 0 54 0; #X connect 54 1 53 0; #X connect 55 0 57 0; #X connect 56 0 55 1; #X connect 56 0 70 0; #X connect 57 0 8 0; #X connect 58 0 20 0; #X connect 59 0 22 1; #X connect 60 0 15 1; #X connect 64 0 0 0; #X connect 66 0 28 1; #X connect 67 0 21 1; #X connect 68 0 42 0; #X connect 69 0 50 0; #X connect 75 0 44 1; #X coords 0 1 100 -1 280 170 1 0 0; #X restore -133 -95 graph; #N canvas 0 22 450 300 (subpatch) 0; #X obj 59 155 inlet; #X obj 3 89 inlet~; #X obj 58 182 change; #X msg 60 246 set \$1; #X obj 60 227 tosymbol; #X obj 59 204 sprintf Bus%d; #X obj 3 282 throw~ Bus0; #X obj 2 3 popup 124 25 #ffffff popup Bus0 Bus1 Bus2 Bus3 Bus4 Bus5 Bus6 Bus7 Bus8 Bus9 Bus10 Bus11 Bus12 Bus13 Bus14 Bus15 Bus16; #X obj 1 32 route bang; #X obj 154 202 *~; #X obj 141 7 tgl 15 0 empty empty Dac 19 7 0 10 -262144 -1 -1 0 1; #X obj 155 238 dac~; #X obj 1 -53 loadbang; #X text 59 -54 Bus0 mutes; #X msg 1 -34 options Bus0 Bus1 Bus2 Bus3 Bus4 Bus5 Bus6 Bus7 Bus8 Bus9 Bus10 Bus11 Bus12 Bus13 Bus14 Bus15 Bus16; #X connect 0 0 2 0; #X connect 1 0 6 0; #X connect 1 0 9 0; #X connect 2 0 5 0; #X connect 3 0 6 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 7 0 8 0; #X connect 8 1 2 0; #X connect 9 0 11 0; #X connect 9 0 11 1; #X connect 10 0 9 1; #X connect 12 0 14 0; #X connect 14 0 7 0; #X coords 0 1 100 -1 180 30 1 0 0; #X restore -133 75 graph; #X connect 0 0 1 0;