#N canvas 0 0 450 300 10; #N canvas 106 13 862 585 rs-scratcher~ 0; #X msg 36 550 \; pd dsp 1; #X msg 101 551 \; pd dsp 0; #X text 24 13 Scratcher~ : lets you record a sound; #X text 23 24 and \, then \, scratch it !!!; #X text 599 557 Comments and bugs @ ydegoyon@free.fr; #X obj 313 260 scratcher~ 151290 200 200 200 2 1e-04; #X obj 302 475 *~ 1; #X obj 334 474 / 100; #X floatatom 373 474 5 0 0; #X msg 31 88 bang; #X obj 31 108 openpanel; #X msg 33 227 resize \$1; #X obj 31 130 t s b; #X obj 31 168 pack s s; #X msg 33 189 read -resize \$1 \$2; #X obj 77 128 float \$0; #X obj 100 168 makefilename %d-sonosample; #X text 32 68 Step 1 : Load a sound file; #X obj 31 147 route float; #X text 84 80 ( a small one ); #X msg 524 45 play; #X text 522 24 Step 3 : Play the sound and scratch with the mouse; #X msg 559 45 stop; #X msg 527 243 reset; #X text 572 246 Reset normal reading speed; #X obj 36 524 loadbang; #X text 469 493 Note : the red line indicates the reading speed; #X text 446 527 Note 2 : only vertical movement will change reading speed; #X obj 176 557 table \$0-sonosample; #X msg 524 88 sensibility \$1; #X msg 561 65 25; #X floatatom 659 66 5 0 0; #X msg 524 66 5; #X text 620 88 Set mouse sensibility ( default : 25 ); #X obj 33 206 soundfiler; #X msg 607 223 showspeed 1; #X msg 527 223 showspeed 0; #X text 687 221 Toggle speed line display; #X msg 305 119 record; #X msg 269 119 bang; #X text 214 98 Step 2 : Record the sound; #X floatatom 664 120 5 0 0; #X msg 526 141 maxspeed \$1; #X text 603 140 Set speed limit ( default : 2 ); #X msg 526 119 2; #X msg 569 119 1.5; #X msg 603 119 1; #X msg 635 119 0.5; #X obj 257 146 tabplay~ \$0-sonosample; #X msg 592 65 100; #X msg 622 65 200; #X floatatom 645 174 5 0 0; #X text 603 193 Set turntable inertia ( default : 0.01 ); #X msg 525 193 inertia \$1; #X msg 609 173 0.01; #X msg 570 173 0.001; #X msg 526 173 1e-04; #X obj 289 509 outlet~; #X connect 5 0 6 0; #X connect 6 0 57 0; #X connect 7 0 6 1; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 5 0; #X connect 12 0 13 0; #X connect 12 1 15 0; #X connect 13 0 14 0; #X connect 14 0 34 0; #X connect 15 0 18 0; #X connect 16 0 13 1; #X connect 18 0 16 0; #X connect 20 0 5 0; #X connect 22 0 5 0; #X connect 23 0 5 0; #X connect 25 0 0 0; #X connect 29 0 5 0; #X connect 30 0 29 0; #X connect 31 0 29 0; #X connect 32 0 29 0; #X connect 34 0 11 0; #X connect 35 0 5 0; #X connect 36 0 5 0; #X connect 38 0 5 0; #X connect 39 0 38 0; #X connect 39 0 48 0; #X connect 41 0 42 0; #X connect 42 0 5 0; #X connect 44 0 42 0; #X connect 45 0 42 0; #X connect 46 0 42 0; #X connect 47 0 42 0; #X connect 48 0 5 0; #X connect 48 0 6 0; #X connect 49 0 29 0; #X connect 50 0 29 0; #X connect 51 0 53 0; #X connect 53 0 5 0; #X connect 54 0 53 0; #X connect 55 0 53 0; #X connect 56 0 53 0; #X restore 174 121 pd rs-scratcher~; #X text 201 77 Playing with the block size \,; #X text 201 87 so everything's in the subpatch; #X obj 171 160 dac~; #X connect 0 0 3 0; #X connect 0 0 3 1;