#N canvas 191 210 731 455 10;
#N canvas 196 253 980 638 looplayer 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array wave 352800 float 2;
#X coords 0 1 352800 -1 200 140 1;
#X restore 439 7 graph;
#X obj 145 -10 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 145 38 openpanel;
#X msg 145 70 read -resize \$1 wave;
#X obj 145 102 soundfiler;
#X floatatom 250 116 12 0 0 0 - - -;
#X floatatom 83 161 8 0 0 0 - - -;
#X obj 142 134 expr 44100 / $f1;
#X obj 250 135 s samplesize;
#X obj 379 308 r samplesize;
#X obj 148 291 phasor~;
#X obj 148 325 *~;
#X obj 149 533 tabread4~ wave;
#X text 201 292 tool to read table;
#X obj 147 573 *~;
#X msg 184 556 0;
#X obj 184 211 hsl 128 15 0 1 0 0 empty speed empty -2 -8 0 10 -262144
-1 -1 1587 1;
#X obj 444 155 hsl 195 15 0 1 0 0 empty playpos empty -2 -8 0 10 -262144
-1 -1 4485 1;
#X obj 227 385 snapshot~;
#X obj 229 356 metro 50;
#X text 298 392 where the sound is in time;
#X obj 232 330 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 245 413 10 0 0 0 - - -;
#X obj 263 438 /;
#X obj 358 421 r samplesize;
#X floatatom 288 464 5 0 0 0 - - -;
#X obj 288 484 s playpos;
#X text 488 172 195 about the size of array;
#X text 281 153 comment;
#X text 447 423 resize to 0-1;
#X obj 19 307 vsl 15 50 0 1 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#X text 10 378 Playback Position;
#X msg 43 242 0;
#X obj 20 -12 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 10 274 0;
#X obj 21 106 t b b;
#X obj 19 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 37 60 stop and rewind;
#X text 42 -16 play;
#X obj 20 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 40 18 pause;
#X text 165 -11 open file;
#X text 322 212 playback speed;
#X obj 287 174 bng 15 250 50 0 empty originalspeed empty 17 7 0 10
-262144 -1 -1;
#X text 322 176 original speed;
#X obj 484 504 loadbang;
#X msg 269 28 open loop.wav;
#X floatatom 217 239 5 0 0 0 - - -;
#X obj 225 641 outlet~ L;
#X obj 332 642 outlet~ R;
#X obj 478 638 outlet playpos;
#X obj 478 612 r playpos;
#X obj 581 193 inlet speed;
#X obj 255 266 s speedorig;
#X obj 603 611 r speedorig;
#X obj 604 641 outlet speedorig;
#X obj 556 241 inlet originalspeed;
#X msg 214 572 1;
#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 4 0 7 0;
#X connect 5 0 8 0;
#X connect 6 0 10 0;
#X connect 6 0 16 0;
#X connect 7 0 6 0;
#X connect 7 0 10 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 11 0 18 0;
#X connect 12 0 14 0;
#X connect 14 0 48 0;
#X connect 14 0 49 0;
#X connect 15 0 14 1;
#X connect 16 0 10 0;
#X connect 16 0 47 0;
#X connect 18 0 22 0;
#X connect 19 0 18 0;
#X connect 21 0 19 0;
#X connect 22 0 23 0;
#X connect 23 0 25 0;
#X connect 24 0 23 1;
#X connect 25 0 26 0;
#X connect 30 0 10 1;
#X connect 32 0 10 0;
#X connect 33 0 6 0;
#X connect 34 0 30 0;
#X connect 35 0 34 0;
#X connect 35 1 32 0;
#X connect 36 0 35 0;
#X connect 39 0 32 0;
#X connect 43 0 6 0;
#X connect 45 0 57 0;
#X connect 45 0 21 0;
#X connect 45 0 46 0;
#X connect 46 0 3 0;
#X connect 47 0 53 0;
#X connect 51 0 50 0;
#X connect 52 0 16 0;
#X connect 54 0 55 0;
#X connect 56 0 43 0;
#X connect 57 0 14 1;
#X restore 81 106 pd looplayer;
#X obj 80 22 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 153 161 5 0 0 0 - - -;
#X floatatom 199 114 5 0 0 0 - - -;
#N canvas 233 173 589 524 mixer 0;
#X obj 108 441 outlet~;
#X text 141 483 Out to DAC;
#X obj 104 70 inlet~;
#X obj 103 100 *~ \$1;
#X obj 451 108 hsl 50 15 0 1 0 0 empty loop_vol_right empty -2 -8 0
10 -262144 -1 -1 4900 1;
#X obj 33 278 vu 15 120 empty empty -1 -8 0 10 -66577 -1 1 0;
#X obj 11 421 env~;
#X obj 11 446 - 100;
#X obj 456 80 hsl 50 15 0 1 0 0 empty loop_vol_left empty -2 -8 0 10
-262144 -1 -1 4900 1;
#X obj 452 140 hsl 50 15 0 1 0 0 empty sample_vol empty -2 -8 0 10
-262144 -1 -1 4900 1;
#X obj 211 70 inlet~;
#X obj 159 69 inlet~;
#X obj 220 105 *~ \$1;
#X obj 168 106 *~ \$1;
#X obj 399 9 loadbang;
#X msg 378 36 1;
#X obj 106 229 throw~ sumL;
#X obj 261 233 throw~ sumR;
#X obj 102 377 catch~ sumL;
#X obj 212 390 catch~ sumR;
#X obj 220 448 outlet~;
#X text 516 79 Loop L;
#X text 514 107 Loop R;
#X text 512 140 Sample;
#X connect 2 0 3 0;
#X connect 3 0 16 0;
#X connect 4 0 13 1;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 3 1;
#X connect 9 0 12 1;
#X connect 10 0 12 0;
#X connect 11 0 13 0;
#X connect 12 0 16 0;
#X connect 12 0 17 0;
#X connect 13 0 17 0;
#X connect 14 0 15 0;
#X connect 15 0 8 0;
#X connect 15 0 4 0;
#X connect 15 0 9 0;
#X connect 18 0 0 0;
#X connect 18 0 6 0;
#X connect 19 0 20 0;
#X restore 86 355 pd mixer;
#X obj 98 412 dac~;
#X obj 149 23 vsl 15 50 0.02 0.25 0 0 empty empty empty 0 -9 0 10 -262144
-1 -1 0 1;
#N canvas 744 283 666 277 pitchselect 0;
#X obj 95 163 outlet;
#X obj 374 -44 table melody;
#X obj 94 92 tabread melody;
#X floatatom 95 132 5 0 0 0 - - -;
#X floatatom 94 45 5 0 0 0 - - -;
#X obj 315 -44 loadbang;
#X text 138 130 Midi note number;
#X text 337 39 Melody Table;
#N canvas 659 313 985 527 select 0;
#X obj 171 55 inlet;
#X obj 2 147 >= 0;
#X obj 26 176 *;
#X floatatom 26 201 5 0 0 0 - - -;
#X obj 26 222 select 1;
#X obj 26 248 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X floatatom 78 80 5 0 0 0 - - -;
#X obj 290 181 *;
#X floatatom 290 206 5 0 0 0 - - -;
#X obj 290 227 select 1;
#X obj 290 253 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 404 183 *;
#X floatatom 404 208 5 0 0 0 - - -;
#X obj 404 229 select 1;
#X obj 404 255 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 514 183 *;
#X floatatom 514 208 5 0 0 0 - - -;
#X obj 514 229 select 1;
#X obj 514 255 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 622 184 *;
#X floatatom 622 209 5 0 0 0 - - -;
#X obj 622 230 select 1;
#X obj 622 256 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 735 185 *;
#X floatatom 735 210 5 0 0 0 - - -;
#X obj 735 231 select 1;
#X obj 735 257 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 397 431 outlet;
#X msg 317 329 1;
#X obj 850 187 *;
#X floatatom 850 212 5 0 0 0 - - -;
#X obj 850 233 select 1;
#X obj 850 259 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 265 152 >= 0.789;
#X obj 326 152 < 0.799;
#X obj 380 154 >= 0.8;
#X obj 429 154 < 0.9;
#X obj 647 155 < 0.25;
#X obj 711 156 >= 0.4;
#X obj 760 156 < 0.45;
#X obj 826 158 >= 0.6;
#X obj 875 158 < 0.65;
#X msg 31 322 2;
#X obj 598 155 >= 0.2;
#X msg 532 326 3;
#X msg 432 331 0;
#X obj 950 187 *;
#X floatatom 950 212 5 0 0 0 - - -;
#X obj 950 233 select 1;
#X obj 950 259 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 974 343 2;
#X obj 926 158 >= 0.3;
#X obj 975 158 < 0.39;
#X obj 51 146 < 0.19;
#X msg 628 334 4;
#X msg 759 341 2;
#X msg 874 343 6;
#X obj 1063 188 *;
#X floatatom 1063 213 5 0 0 0 - - -;
#X obj 1063 234 select 1;
#X obj 1063 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 1087 344 2;
#X obj 1039 159 >= 0.25;
#X obj 1088 159 < 0.29;
#X obj 491 153 >= 0.5;
#X obj 541 153 < 0.59;
#X obj 139 181 *;
#X floatatom 139 206 5 0 0 0 - - -;
#X obj 139 227 select 1;
#X obj 139 253 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 166 329 1;
#X obj 114 152 >= 0.7;
#X obj 176 153 < 0.788;
#X connect 0 0 1 0;
#X connect 0 0 6 0;
#X connect 0 0 33 0;
#X connect 0 0 34 0;
#X connect 0 0 35 0;
#X connect 0 0 36 0;
#X connect 0 0 37 0;
#X connect 0 0 38 0;
#X connect 0 0 39 0;
#X connect 0 0 40 0;
#X connect 0 0 41 0;
#X connect 0 0 43 0;
#X connect 0 0 51 0;
#X connect 0 0 52 0;
#X connect 0 0 53 0;
#X connect 0 0 62 0;
#X connect 0 0 63 0;
#X connect 0 0 64 0;
#X connect 0 0 65 0;
#X connect 0 0 71 0;
#X connect 0 0 72 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 42 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 28 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 45 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 44 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 22 0 54 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 55 0;
#X connect 28 0 27 0;
#X connect 29 0 30 0;
#X connect 30 0 31 0;
#X connect 31 0 32 0;
#X connect 32 0 56 0;
#X connect 33 0 7 0;
#X connect 34 0 7 1;
#X connect 35 0 11 0;
#X connect 36 0 11 1;
#X connect 37 0 19 1;
#X connect 38 0 23 0;
#X connect 39 0 23 1;
#X connect 40 0 29 0;
#X connect 41 0 29 1;
#X connect 42 0 27 0;
#X connect 43 0 19 0;
#X connect 44 0 27 0;
#X connect 45 0 27 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 49 0 50 0;
#X connect 50 0 27 0;
#X connect 51 0 46 0;
#X connect 52 0 46 1;
#X connect 53 0 2 1;
#X connect 54 0 27 0;
#X connect 55 0 27 0;
#X connect 56 0 27 0;
#X connect 57 0 58 0;
#X connect 58 0 59 0;
#X connect 59 0 60 0;
#X connect 60 0 61 0;
#X connect 61 0 27 0;
#X connect 62 0 57 0;
#X connect 63 0 57 1;
#X connect 64 0 15 0;
#X connect 65 0 15 1;
#X connect 66 0 67 0;
#X connect 67 0 68 0;
#X connect 68 0 69 0;
#X connect 69 0 70 0;
#X connect 70 0 27 0;
#X connect 71 0 66 0;
#X connect 72 0 66 1;
#X restore 94 18 pd select;
#X text 159 21 Note chooser;
#X obj 36 18 inlet;
#X msg 314 -4 \; melody 0 60 64 59 62 60 57 65 69;
#X text 319 81 Stores melody notes in order to play the soundeffect
according to the loop's harmony.;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 2 0;
#X connect 5 0 11 0;
#X connect 8 0 4 0;
#X connect 10 0 4 0;
#X restore 284 251 pd pitchselect;
#X text 13 4 original speed;
#X text 143 2 speed;
#X obj 378 185 bng 15 250 50 0 empty playsample empty 17 7 0 10 -262144
-1 -1;
#X text 215 130 original speed;
#X text 137 414 audio out (to hardware);
#X obj 378 215 t b b;
#X text 189 160 position;
#N canvas 898 275 485 295 timeline 0;
#X obj 147 46 inlet;
#X floatatom 147 72 5 0 0 0 - - -;
#X floatatom 147 122 5 0 0 0 - - -;
#X obj 147 93 * 8;
#X obj 147 144 hradio 30 1 0 8 empty empty empty 0 -8 0 10 -262144
-1 -1 1;
#X floatatom 147 179 5 0 0 0 - - -;
#X obj 70 180 outlet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 4 0 6 0;
#X restore 153 198 pd timeline;
#X obj 290 306 osc~;
#X obj 380 284 pip_env_simple;
#X obj 365 338 *~;
#X obj 290 279 mtof;
#X text 371 165 Play synced soundeffect!;
#X obj 317 142 loadbang;
#X text 224 198 Defines beat;
#X text 313 7 MELODIC SOUND EFFECT MACHINE;
#X text 386 247 --> Selects the pitch to be played from a list;
#X text 319 56 Real crappy loop demonstrating how we can fire off differently
pitched sounds depending on the position of the song.;
#X text 457 426 pip;
#X connect 0 0 4 0;
#X connect 0 1 4 1;
#X connect 0 2 2 0;
#X connect 0 3 3 0;
#X connect 1 0 0 0;
#X connect 2 0 15 0;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 6 0 0 1;
#X connect 7 0 19 0;
#X connect 10 0 13 0;
#X connect 13 0 17 0;
#X connect 15 0 7 0;
#X connect 16 0 18 0;
#X connect 17 0 18 1;
#X connect 18 0 4 2;
#X connect 19 0 16 0;
#X connect 21 0 10 0;
