#N canvas 19 6 986 684 10; #X obj 126 505 dac~; #X msg 183 318 record; #X msg 271 39 play; #X obj 342 252 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1; #X text 309 250 0 %; #X text 476 251 100 %; #X obj 343 270 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 12700 1; #X text 310 271 0 %; #X text 478 269 100 %; #X msg 352 504 \; pd dsp 1; #X msg 414 505 \; pd dsp 0; #X text 606 251 Start Point; #X text 608 269 End Point; #X msg 19 21 bang; #X obj 19 41 openpanel; #X obj 19 187 soundfiler; #X msg 15 306 bang; #X msg 512 271 100; #X obj 544 270 loadbang; #X text 19 546 3s * samplerate / blocksize ( 3*44100/64 = 2067 ); #X floatatom 49 207 10 0 0; #X obj 18 207 / 64; #X msg 122 207 resize \$1; #X obj 19 63 t s b; #X text 35 592 Comments and bugs @ ydegoyon@free.fr; #X obj 65 63 float \$0; #X obj 19 80 route float; #X msg 339 318 flipblocks; #X text 410 318 Flip blocks ( reverse effect ); #X msg 338 294 swapblocks 0 50 20; #X text 23 5 Step 1 : Load a sound file; #X msg 274 132 phase \$1; #X obj 365 130 hsl 128 15 0 90 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1; #X obj 273 62 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 0 1; #X text 247 63 0 %; #X text 407 62 100 %; #X obj 274 81 hsl 128 15 0 100 0 0 empty empty empty 20 8 0 8 -262144 -1 -1 12700 1; #X text 248 84 0 %; #X text 409 80 100 %; #X text 551 61 Start Point; #X text 552 80 End Point; #X msg 443 78 100; #X obj 470 78 loadbang; #X text 630 69 Playback positions; #X msg 268 103 readspeed \$1; #X floatatom 399 103 5 0 0; #X text 553 101 Reading speed; #X obj 358 103 / 100; #X msg 448 104 100; #X obj 477 104 loadbang; #X obj 223 447 samplebox~ 2067; #X text 16 282 Step 2 : Record the sound; #X text 276 15 Step 3 : Play back recorded sound; #X text 341 222 Step 4 : modify parts of the sound; #X text 474 293 Swap sections [0% \, 20%] and [50% \, 70%] of [start \, end]; #X text 21 533 Note : initially \, this is a 3 seconds samplebox~ : ; #X text 34 581 Samplebox records and plays back a sound; #X text 342 235 Set portions of the sound to modify; #X text 500 132 100%; #X text 341 131 0%; #X obj 44 100 makefilename %d-leftsample; #X obj 511 512 table \$0-leftsample; #X obj 650 511 table \$0-rightsample; #X obj 45 123 makefilename %d-rightsample; #X obj 20 149 pack s s s; #X msg 19 170 read -resize \$1 \$2 \$3; #X obj 16 343 tabplay~ \$0-leftsample; #X obj 80 363 tabplay~ \$0-rightsample; #X obj 278 474 print recordend; #X obj 399 472 print playend; #X text 552 127 Switch channels ( use as pan for mono input ); #X msg 456 159 bang; #X text 557 161 Ping-pong ( requires countund object ); #X obj 305 160 countund 90; #X obj 113 481 *~; #X obj 144 479 / 100; #X floatatom 74 447 5 0 0; #X obj 184 478 *~; #X obj 211 477 / 100; #X obj 384 159 metro 100; #X obj 28 423 loadbang; #X msg 28 449 100; #X connect 1 0 50 0; #X connect 2 0 50 0; #X connect 3 0 50 4; #X connect 6 0 50 5; #X connect 13 0 14 0; #X connect 14 0 23 0; #X connect 15 0 21 0; #X connect 16 0 1 0; #X connect 16 0 66 0; #X connect 16 0 67 0; #X connect 17 0 6 0; #X connect 18 0 17 0; #X connect 20 0 22 0; #X connect 21 0 20 0; #X connect 22 0 50 0; #X connect 23 0 64 0; #X connect 23 1 25 0; #X connect 25 0 26 0; #X connect 26 0 60 0; #X connect 26 0 63 0; #X connect 27 0 50 0; #X connect 29 0 50 0; #X connect 31 0 50 0; #X connect 32 0 31 0; #X connect 33 0 50 2; #X connect 36 0 50 3; #X connect 41 0 36 0; #X connect 42 0 41 0; #X connect 44 0 50 0; #X connect 45 0 47 0; #X connect 47 0 44 0; #X connect 48 0 45 0; #X connect 49 0 48 0; #X connect 50 0 74 0; #X connect 50 1 77 0; #X connect 50 2 68 0; #X connect 50 3 69 0; #X connect 50 3 2 0; #X connect 60 0 64 1; #X connect 63 0 64 2; #X connect 64 0 65 0; #X connect 65 0 15 0; #X connect 66 0 50 0; #X connect 67 0 50 1; #X connect 71 0 79 0; #X connect 73 0 31 0; #X connect 74 0 0 0; #X connect 75 0 74 1; #X connect 76 0 75 0; #X connect 76 0 78 0; #X connect 77 0 0 1; #X connect 78 0 77 1; #X connect 79 0 73 0; #X connect 80 0 81 0; #X connect 81 0 76 0;