#N canvas 0 16 878 417 12;
#N canvas 213 187 495 352 input-sample 0;
#N canvas 0 0 450 300 graph1 0;
#X array array1 63024 float 0;
#X coords 0 1 63023 -1 400 300 1;
#X restore 56 23 graph;
#X text 151 393 INPUT SAMPLE;
#X restore 143 301 pd input-sample;
#N canvas 192 180 507 343 output-sample 0;
#N canvas 0 0 450 300 graph2 0;
#X array array2 441000 float 0;
#X coords 0 1 440999 -1 400 300 1;
#X restore 60 13 graph;
#X text 161 388 OUTPUT SAMPLE;
#X restore 143 325 pd output-sample;
#N canvas 41 102 912 552 guts 0;
#X msg 25 133 bang;
#X obj 15 468 openpanel;
#X obj 144 28 inlet;
#X obj 478 392 dac~;
#X obj 478 342 *~;
#X obj 494 301 line~;
#X obj 494 276 r master-amp;
#X msg 759 352 bang;
#X obj 759 377 savepanel;
#X obj 274 203 spigot;
#X msg 248 133 0;
#X msg 281 133 1;
#X obj 555 384 outlet;
#X obj 268 325 tabwrite~ array2;
#X msg 262 232 bang;
#X obj 456 312 +~;
#X obj 478 367 hip~ 7;
#X msg 480 228 bang;
#X obj 480 253 tabplay~ array2;
#X msg 759 402 write \$1 array2;
#X obj 759 427 soundfiler;
#N canvas 92 118 921 631 audio-transformation 0;
#X obj 320 509 outlet~;
#X obj 221 41 r transposition;
#X obj 287 175 r looplength;
#X obj 221 66 / 120;
#X obj 235 139 pow;
#X obj 221 91 t b f;
#X msg 221 115 2;
#X text 305 107 2 to the power (octaves);
#X text 304 123 gives speed change for the;
#X text 305 141 desired transposition;
#X text 280 65 transposition in octaves;
#X obj 470 264 * 441;
#X floatatom 470 234 0 0 0;
#X obj 426 352 samphold~;
#X obj 545 335 -~ 0.5;
#X obj 545 461 clip~ -0.5 0.5;
#X obj 545 437 *~ 1;
#X obj 545 486 cos~;
#X obj 545 365 wrap~;
#X obj 545 400 -~ 0.5;
#X obj 545 532 *~ -0.5;
#X obj 545 508 -~ 1;
#X floatatom 617 406 0 0 0;
#X obj 601 254 r smoothing;
#X obj 470 208 r startpoint;
#X obj 617 431 max 1;
#X obj 602 308 max 0.001;
#X obj 602 334 t b f;
#X obj 602 358 1;
#X obj 617 382 /;
#X obj 320 482 *~;
#X obj 320 456 tabread4~ array1;
#X obj 320 430 +~;
#X obj 227 472 print~;
#X msg 227 443 bang;
#X obj 601 61 loadbang;
#X msg 598 91 \; transposition 0 \; looplength 0 \; startpoint 0 \;
smoothing 0;
#X obj 236 263 ../../../extra/loop~;
#X obj 285 233 * 441;
#X obj 284 307 *~;
#X obj 133 41 loadbang;
#X obj 78 174 r running;
#X obj 78 203 sel 1;
#X obj 602 282 * 0.01;
#X obj 286 202 max 0.01;
#X connect 1 0 3 0;
#X connect 2 0 44 0;
#X connect 3 0 5 0;
#X connect 4 0 37 0;
#X connect 5 0 6 0;
#X connect 5 1 4 1;
#X connect 6 0 4 0;
#X connect 11 0 13 0;
#X connect 12 0 11 0;
#X connect 13 0 32 1;
#X connect 14 0 18 0;
#X connect 15 0 17 0;
#X connect 16 0 15 0;
#X connect 17 0 21 0;
#X connect 18 0 19 0;
#X connect 19 0 16 0;
#X connect 20 0 30 1;
#X connect 21 0 20 0;
#X connect 22 0 25 0;
#X connect 23 0 43 0;
#X connect 24 0 12 0;
#X connect 25 0 16 1;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 27 1 29 1;
#X connect 28 0 29 0;
#X connect 29 0 22 0;
#X connect 30 0 0 0;
#X connect 31 0 30 0;
#X connect 32 0 31 0;
#X connect 32 0 33 0;
#X connect 34 0 33 0;
#X connect 35 0 36 0;
#X connect 37 0 13 1;
#X connect 37 0 39 0;
#X connect 37 0 14 0;
#X connect 37 1 39 1;
#X connect 38 0 37 1;
#X connect 39 0 32 0;
#X connect 40 0 3 0;
#X connect 41 0 42 0;
#X connect 42 0 37 0;
#X connect 43 0 26 0;
#X connect 44 0 38 0;
#X restore 274 283 pd audio-transformation;
#X obj 553 331 env~ 16384;
#X obj 665 317 route normalized;
#X msg 667 457 write -normalize \$1 array2;
#X msg 667 407 bang;
#X obj 667 432 savepanel;
#X obj 667 482 soundfiler;
#X obj 15 518 soundfiler;
#X msg 15 493 read -resize -maxsize 1e+06 \$1 array1;
#X obj 330 100 r transposition;
#X obj 330 125 r looplength;
#X obj 330 175 r smoothing;
#X obj 708 110 timer;
#X obj 708 135 * 44.1;
#X obj 724 37 r running;
#X obj 708 60 f;
#X obj 708 85 sel 1;
#X obj 708 227 moses;
#X obj 753 227 r maxoutsize;
#X msg 708 252 \; array2 resize \$1;
#X msg 685 37 bang;
#X obj 144 53 route read run start hear save stop;
#X obj 312 427 delay;
#X obj 331 404 + 100;
#X obj 145 329 r maxoutsize;
#X obj 86 329 f;
#X msg 86 354 \; array2 resize \$1;
#X msg 312 452 \; action stop;
#X obj 331 379 / 44.1;
#X msg 62 271 \; pd dsp 1;
#X msg 334 240 \; running 1;
#X obj 202 28 r action;
#X msg 733 160 \; running 0 \; pd dsp 0;
#X obj 330 150 r startpoint;
#X obj 553 357 int;
#X connect 0 0 1 0;
#X connect 1 0 29 0;
#X connect 2 0 42 0;
#X connect 4 0 16 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 19 0;
#X connect 9 0 10 0;
#X connect 9 0 14 0;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 14 0 13 0;
#X connect 14 0 46 0;
#X connect 14 0 43 0;
#X connect 14 0 50 0;
#X connect 14 0 51 0;
#X connect 14 0 33 0;
#X connect 15 0 4 0;
#X connect 15 0 22 0;
#X connect 16 0 3 0;
#X connect 16 0 3 1;
#X connect 17 0 18 0;
#X connect 18 0 15 1;
#X connect 19 0 20 0;
#X connect 21 0 13 0;
#X connect 21 0 15 0;
#X connect 22 0 55 0;
#X connect 23 0 25 0;
#X connect 23 1 7 0;
#X connect 24 0 27 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 29 0 28 0;
#X connect 30 0 9 0;
#X connect 31 0 9 0;
#X connect 32 0 9 0;
#X connect 33 0 34 0;
#X connect 34 0 53 0;
#X connect 34 0 38 0;
#X connect 35 0 36 1;
#X connect 36 0 37 0;
#X connect 37 0 33 1;
#X connect 38 0 40 0;
#X connect 39 0 38 1;
#X connect 41 0 36 0;
#X connect 42 0 0 0;
#X connect 42 1 14 0;
#X connect 42 1 10 0;
#X connect 42 2 11 0;
#X connect 42 3 17 0;
#X connect 42 4 23 0;
#X connect 42 5 41 0;
#X connect 43 0 48 0;
#X connect 44 0 43 1;
#X connect 45 0 46 1;
#X connect 45 0 49 0;
#X connect 46 0 47 0;
#X connect 49 0 44 0;
#X connect 52 0 42 0;
#X connect 54 0 9 0;
#X connect 55 0 12 0;
#X restore 19 228 pd guts;
#X msg 19 96 run the transformation;
#X msg 19 163 hear the output buffer again;
#X text 19 55 click below to:;
#X msg 19 185 save the output buffer;
#X floatatom 367 337 0 0 120;
#N canvas 194 37 397 591 output 0;
#X obj 66 203 t b;
#X obj 66 152 f;
#X obj 66 102 inlet;
#X text 71 81 mute;
#X obj 66 228 f;
#X msg 134 244 0;
#X msg 66 127 bang;
#X obj 66 178 moses 1;
#X obj 134 218 t b f;
#X obj 96 442 outlet;
#X msg 96 416 set \$1;
#X obj 186 163 moses 1;
#X obj 224 444 dbtorms;
#X obj 224 469 pack 0 100;
#X obj 186 138 r master-lvl;
#X obj 96 382 r master-lvl;
#X obj 83 286 s master-lvl;
#X obj 224 494 s master-amp;
#X obj 208 244 loadbang;
#X msg 208 269 \; master-lvl 90;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 16 0;
#X connect 5 0 16 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 10 0 9 0;
#X connect 11 1 4 1;
#X connect 12 0 13 0;
#X connect 13 0 17 0;
#X connect 14 0 1 1;
#X connect 14 0 11 0;
#X connect 15 0 10 0;
#X connect 15 0 12 0;
#X connect 18 0 19 0;
#X restore 367 316 pd output;
#X msg 367 294 mute;
#X obj 367 359 s master-lvl;
#X text 410 293 <-- mute button;
#X floatatom 19 250 0 0 0;
#X text 20 294 100 maximum;
#X text 20 276 output meter;
#X text 405 336 <--set me;
#X msg 19 74 read an input file;
#X text 367 379 LINE OUT LEVEL in dB (100 norm);
#X msg 19 206 save normalized to max amplitude;
#X floatatom 368 73 0 0 1000;
#X floatatom 369 19 0 0 0;
#X obj 369 47 s transposition;
#X floatatom 369 170 0 0 100;
#X obj 369 192 s smoothing;
#X obj 368 95 s looplength;
#X text 418 73 <- loop length \, hundredths of a second;
#X floatatom 369 122 0 0 60000;
#X obj 369 144 s startpoint;
#X text 420 123 <- start point \, hundredths of a second;
#X text 419 171 <- envelope smoothing \, 0-100;
#X text 38 9 looping sample player.;
#X msg 19 118 start looping when I change something;
#X msg 19 140 stop looping;
#X floatatom 368 239 0 0 60;
#N canvas 0 0 265 196 length 0;
#X obj 48 24 inlet;
#X obj 49 104 * 44100;
#X msg 86 130 \; array2 resize \$1;
#X obj 48 49 min 60;
#X obj 62 78 s output-length;
#X obj 48 164 s maxoutsize;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 1 0 5 0;
#X connect 3 0 1 0;
#X connect 3 0 4 0;
#X restore 368 260 pd length;
#N canvas 219 38 198 151 /SUBPATCH/ 0;
#X obj 79 122 outlet;
#X obj 79 74 loadbang;
#X msg 79 98 10;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X restore 368 217 pd;
#X text 455 241 length in seconds of the output;
#X text 453 259 buffer... maximum 60;
#X text 404 241 <- set;
#X text 408 20 <- transposition up or down \, 10ths of a half step
;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 16 0 2 0;
#X connect 18 0 2 0;
#X connect 19 0 24 0;
#X connect 20 0 21 0;
#X connect 22 0 23 0;
#X connect 26 0 27 0;
#X connect 31 0 2 0;
#X connect 32 0 2 0;
#X connect 33 0 34 0;
#X connect 35 0 33 0;
