#N canvas 263 92 746 538 10; #X obj 379 186 soundfiler; #X obj 379 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 379 139 openpanel; #X msg 379 161 read -resize \$1 buffer_s; #X obj 473 7 s~ in_audio; #X obj -41 -29 cnv 15 200 40 empty empty Scratch!!!! 20 12 0 12 -261234 -66577 0; #N canvas 0 22 1033 619 escrach 0; #X obj 495 85 r sc_p_s; #X obj 495 128 *; #X obj 510 106 r b_len_nrm; #X obj 494 230 s~ scratch; #X obj 495 155 pack 0 100; #X obj 494 203 line~; #X obj 495 182 spigot; #X obj 551 176 r st_play; #X obj 551 197 expr 1-$f1; #X obj 426 152 s faseini; #X obj 426 129 / 1000; #X obj 104 380 *~ 0; #X obj 104 356 phasor~; #X obj 159 115 / 44100; #X obj 104 335 sig~; #X floatatom 104 310 5 0 0 0 - - -; #X obj 159 94 *; #X obj 296 90 r s_p_s; #X floatatom 296 111 5 0 0 0 - - -; #X floatatom 347 111 5 0 0 0 - - -; #X obj 347 90 r e_p_s; #X obj 313 153 -; #X obj 296 241 sig~; #X obj 104 405 +~; #X obj 296 195 *; #X obj 213 77 r b_len_nrm; #X obj 325 196 r b_len_nrm; #X obj 498 447 s~ buff_audio; #X obj 159 134 inv; #X obj 76 115 r _pitch; #X obj 313 174 s ch_len; #X obj 159 46 r ch_len; #X obj 498 416 tabread4~ buffer_s; #X obj 498 392 r~ scratch; #X obj 104 488 s~ n_play; #X msg 498 366 set scratch; #X msg 577 367 set n_play; #X floatatom 159 66 5 0 0 0 - - -; #X obj 238 499 /; #X obj 238 476 snapshot~; #X obj 300 477 r b_len_nrm; #X msg 278 429 bang; #X obj 238 519 s pos_sc; #X msg 238 428 stop; #X obj 149 161 r backwd; #X obj 149 196 expr 1-2*$f1; #X obj 104 212 *; #X floatatom 202 548 5 0 0 0 - - -; #X obj 238 449 metro 50; #X obj 104 181 *; #N canvas 0 22 450 300 play_pause 0; #X obj 161 129 outlet; #X obj 207 131 outlet; #X obj 173 71 moses 1; #X obj 173 51 r st_play; #X obj 212 92 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 174 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 0 0; #X restore 7 215 pd play_pause; #X floatatom 133 232 5 0 0 0 - - -; #N canvas 0 22 450 300 play_pause 0; #X obj 161 129 outlet; #X obj 207 131 outlet; #X obj 173 71 moses 1; #X obj 173 51 r st_play; #X obj 212 92 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 174 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 0 0; #X restore 238 403 pd play_pause; #X obj 119 263 r st_play; #X obj 104 290 *; #N canvas 0 22 450 300 play_pause 0; #X obj 161 129 outlet; #X obj 207 131 outlet; #X obj 173 71 moses 1; #X obj 173 51 r st_play; #X obj 212 92 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 174 104 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 2 0 5 0; #X connect 2 1 4 0; #X connect 3 0 2 0; #X connect 4 0 1 0; #X connect 5 0 0 0; #X restore 498 342 pd play_pause; #X obj 119 148 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 280 136 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 154 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 355 359 *; #X obj 382 359 r b_len_nrm; #X obj 355 311 r ch_len; #X floatatom 355 331 5 0 0 0 - - -; #X obj 356 402 s fase; #X obj 169 364 r fase; #X obj 296 267 s~ amplitud; #X obj 146 395 r~ amplitud; #X floatatom 356 381 7 0 0 0 - - -; #X floatatom 70 143 5 0 0 0 - - -; #X floatatom 296 219 8 0 0 0 - - -; #X msg 222 171 0; #X obj 358 14 loadbang; #X obj 262 37 delay 100; #X floatatom 42 176 5 0 0 0 - - -; #X text 724 55 Scratch engine; #X text 725 74 (c) 2009 Davebv.es; #X connect 0 0 1 0; #X connect 0 0 10 0; #X connect 1 0 4 0; #X connect 2 0 1 1; #X connect 4 0 6 0; #X connect 5 0 3 0; #X connect 6 0 5 0; #X connect 7 0 8 0; #X connect 8 0 6 1; #X connect 10 0 9 0; #X connect 11 0 23 0; #X connect 12 0 11 0; #X connect 13 0 28 0; #X connect 14 0 12 0; #X connect 15 0 14 0; #X connect 16 0 13 0; #X connect 17 0 18 0; #X connect 18 0 21 1; #X connect 18 0 24 0; #X connect 18 0 57 0; #X connect 19 0 21 0; #X connect 20 0 19 0; #X connect 21 0 30 0; #X connect 22 0 65 0; #X connect 23 0 34 0; #X connect 23 0 39 0; #X connect 24 0 69 0; #X connect 25 0 16 1; #X connect 26 0 24 1; #X connect 28 0 49 1; #X connect 29 0 68 0; #X connect 31 0 37 0; #X connect 32 0 27 0; #X connect 33 0 32 0; #X connect 35 0 33 0; #X connect 36 0 33 0; #X connect 37 0 16 0; #X connect 37 0 56 0; #X connect 38 0 42 0; #X connect 38 0 47 0; #X connect 39 0 38 0; #X connect 40 0 38 1; #X connect 41 0 48 0; #X connect 43 0 48 0; #X connect 44 0 45 0; #X connect 45 0 51 0; #X connect 45 0 46 1; #X connect 45 0 58 0; #X connect 46 0 54 0; #X connect 48 0 39 0; #X connect 49 0 46 0; #X connect 49 0 73 0; #X connect 50 0 54 0; #X connect 50 1 54 0; #X connect 50 1 49 0; #X connect 52 0 43 0; #X connect 52 1 41 0; #X connect 53 0 54 1; #X connect 54 0 15 0; #X connect 55 0 35 0; #X connect 55 1 36 0; #X connect 56 0 49 0; #X connect 57 0 21 0; #X connect 58 0 46 0; #X connect 59 0 67 0; #X connect 60 0 59 1; #X connect 61 0 62 0; #X connect 62 0 59 0; #X connect 64 0 11 1; #X connect 66 0 23 1; #X connect 67 0 63 0; #X connect 68 0 49 0; #X connect 69 0 22 0; #X connect 70 0 45 0; #X connect 71 0 70 0; #X connect 71 0 57 0; #X connect 71 0 72 0; #X connect 72 0 70 0; #X connect 72 0 57 0; #X coords 0 0 1 1 85 60 0; #X restore 90 -20 pd escrach; #X obj 473 -24 adc~ 1; #X msg 616 -3 dsp 1; #X obj 616 20 send pd; #X obj 616 -24 loadbang; #X obj 555 -24 r~ outss; #N canvas 104 22 688 389 midisetup 0; #X obj 62 22 ctlin; #X floatatom 62 49 5 0 0 0 - - -; #X floatatom 107 50 5 0 0 0 - - -; #X floatatom 157 50 5 0 0 0 - - -; #X obj 40 147 s play_toggle; #X obj 40 128 spigot; #X obj 139 126 spigot; #X obj 141 106 == 74; #X obj 139 149 s rec; #X obj 60 71 && 100; #X obj 197 127 spigot; #X obj 199 107 == 75; #X obj 197 150 s rev; #X obj 289 91 spigot; #X obj 289 159 s sc_ctr; #X obj 289 111 * 1000; #X obj 289 135 / 127; #X obj 355 90 spigot; #X obj 355 110 * 1000; #X obj 355 134 / 127; #X obj 355 158 s sc_ctr_st; #X obj 431 88 spigot; #X obj 431 108 * 1000; #X obj 431 132 / 127; #X obj 431 156 s sc_ctr_end; #X obj 30 201 spigot; #X obj 30 259 s mute; #X obj 61 177 == 65; #X obj 30 240 / 127; #X obj 30 220 * 100; #X obj 517 86 spigot; #X obj 517 130 / 127; #X obj 517 154 s sc_pitch; #X obj 517 106 * 6; #X obj 116 202 spigot; #X obj 117 252 s reset_pitch; #X obj 117 229 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 357 70 == 14; #X obj 433 68 == 15; #X obj 519 66 == 2; #X obj 71 104 == 3; #X obj 147 178 == 23; #X obj 291 71 == 4; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 0 2 3 0; #X connect 1 0 9 0; #X connect 1 0 13 0; #X connect 1 0 17 0; #X connect 1 0 21 0; #X connect 1 0 25 0; #X connect 1 0 30 0; #X connect 1 0 34 0; #X connect 2 0 7 0; #X connect 2 0 11 0; #X connect 2 0 27 0; #X connect 2 0 37 0; #X connect 2 0 38 0; #X connect 2 0 39 0; #X connect 2 0 40 0; #X connect 2 0 41 0; #X connect 2 0 42 0; #X connect 5 0 4 0; #X connect 6 0 8 0; #X connect 7 0 6 1; #X connect 9 0 5 0; #X connect 9 0 6 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 10 1; #X connect 13 0 15 0; #X connect 15 0 16 0; #X connect 16 0 14 0; #X connect 17 0 18 0; #X connect 18 0 19 0; #X connect 19 0 20 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 23 0 24 0; #X connect 25 0 29 0; #X connect 27 0 25 1; #X connect 28 0 26 0; #X connect 29 0 28 0; #X connect 30 0 33 0; #X connect 31 0 32 0; #X connect 33 0 31 0; #X connect 34 0 36 0; #X connect 36 0 35 0; #X connect 37 0 17 1; #X connect 38 0 21 1; #X connect 39 0 30 1; #X connect 40 0 5 1; #X connect 41 0 34 1; #X connect 42 0 13 1; #X restore 377 96 pd midisetup; #X obj 555 7 dac~; #N canvas 0 22 402 367 mezclador 0; #X obj 84 286 hip~ 5; #X obj 10 188 r~ in_audio; #X obj 83 236 +~; #X obj 7 43 vsl 15 128 0 100 0 0 empty empty Input -6 -9 0 10 -232576 -159808 -1 12700 0; #X obj 86 189 / 100; #X obj 60 43 vsl 15 128 0 100 0 0 empty mute Buffer -9 -9 0 10 -232576 -159808 -1 12700 0; #X obj 211 189 / 100; #X obj 125 189 r~ buff_audio; #X obj 118 43 vsl 15 128 0 100 0 0 empty empty DelayLine -22 -9 0 10 -232576 -159808 -1 0 0; #X obj 315 191 / 100; #X obj 83 258 +~; #X obj 253 192 r~ delayb; #X obj 65 211 *~ 0; #X obj 294 213 *~ 0; #X obj 84 308 s~ outss; #X obj 146 220 *~; #X obj 190 216 vline~; #X obj 218 263 pack 0 10; #X connect 0 0 14 0; #X connect 1 0 12 0; #X connect 2 0 10 0; #X connect 3 0 4 0; #X connect 4 0 12 1; #X connect 5 0 6 0; #X connect 6 0 17 0; #X connect 7 0 15 0; #X connect 8 0 9 0; #X connect 9 0 13 1; #X connect 10 0 0 0; #X connect 11 0 13 0; #X connect 12 0 2 0; #X connect 13 0 10 1; #X connect 15 0 2 1; #X connect 16 0 15 1; #X connect 17 0 16 0; #X coords 0 -1 1 1 150 180 1 0 0; #X restore 220 96 pd mezclador; #N canvas 0 22 740 648 g_scratcher 0; #N canvas 0 22 450 300 (subpatch) 0; #X array buffer_s 58879 float 2; #X coords 0 1 58879 -1 200 140 1; #X restore 46 148 graph; #X obj 306 303 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 306 342 10 0 0 0 - - -; #X obj 306 361 / 1000; #X obj 49 289 hsl 195 15 0 1000 0 0 s_p_s sc_ctr_st START 0 8 0 14 -257985 -1 -1 0 0; #X obj 49 305 hsl 195 15 0 1000 0 0 e_p_s empty END 170 8 0 14 -4032 -262144 -1 19400 0; #X obj 306 322 arraysize buffer_s; #X obj 49 321 hsl 195 40 0 1000 0 1 sc_p_s sc_p_s_pos SCRATCH 70 18 0 14 -258113 -1 -1 18974 0; #X obj 306 394 s b_len_nrm; #X obj 15 150 vsl 30 208 0.4 6 1 0 _pitch sc_pitch PITCH 0 5 0 10 -128992 -228856 -1 7004 1; #X obj 46 362 tgl 50 0 st_play t_play PLAY 13 25 0 10 -4034 -1 -1 0 1; #X floatatom 305 459 5 0 0 0 - - -; #X obj 305 437 r pos_sc; #X obj 196 362 tgl 50 0 backwd rev REVERSE 5 25 0 10 -66577 -204800 -228856 0 1; #X msg -28 44 1; #X obj 115 384 tgl 60 0 empty rec RECORD 3 30 0 15 -258113 -1 -1 0 1; #N canvas 429 164 701 405 looper_s 0; #X obj 51 100 delwrite~ buffer_delay 60000; #X obj 67 329 s~ delayb; #X floatatom 65 264 5 0 0 0 - - -; #X obj 267 18 inlet; #X obj 287 94 timer; #X floatatom 288 119 10 0 0 0 - - -; #X obj 267 45 moses 1; #X obj 267 65 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 307 66 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 50 9 sig~ 0; #X msg 128 50 set in_audio; #X obj 50 28 s~ ceros; #X obj 51 76 r~ ceros; #X floatatom 13 8 5 0 0 0 - - -; #X msg 54 215 0; #X msg 128 71 set delayb; #X obj 289 199 * 44.1; #X obj 201 329 tabwrite~ buffer_s; #X msg 289 225 \; buffer_s resize \$1; #X obj 67 289 delread~ buffer_delay 60000; #X msg 78 241 20000; #X floatatom 232 236 5 0 0 0 - - -; #X msg 110 23 set ceros; #X obj 190 155 outlet; #X connect 2 0 19 0; #X connect 3 0 6 0; #X connect 4 0 5 0; #X connect 5 0 16 0; #X connect 5 0 19 0; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 4 1; #X connect 7 0 15 0; #X connect 7 0 17 0; #X connect 7 0 23 0; #X connect 8 0 4 0; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 10 0 12 0; #X connect 12 0 0 0; #X connect 13 0 9 0; #X connect 14 0 2 0; #X connect 15 0 12 0; #X connect 16 0 18 0; #X connect 16 0 21 0; #X connect 19 0 1 0; #X connect 19 0 17 0; #X connect 20 0 2 0; #X connect 22 0 12 0; #X restore 306 282 pd looper_s; #X obj -28 10 loadbang; #X msg 395 442 1000; #X obj 398 346 loadbang; #X msg 389 372 50; #X obj -28 500 r play_toggle; #X obj 33 523 r sc_ctr; #X obj -14 567 r sc_ctr_end; #X obj 6 31 r reset_pitch; #X obj 445 323 r loadedwav; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 8 0; #X connect 6 0 2 0; #X connect 11 0 7 0; #X connect 12 0 11 0; #X connect 14 0 9 0; #X connect 15 0 16 0; #X connect 16 0 1 0; #X connect 17 0 14 0; #X connect 18 0 5 0; #X connect 19 0 18 0; #X connect 19 0 20 0; #X connect 20 0 8 0; #X connect 21 0 10 0; #X connect 22 0 7 0; #X connect 23 0 5 0; #X connect 24 0 14 0; #X connect 25 0 2 0; #X coords 0 -1 1 1 250 350 1 0 100; #X restore -37 96 pd g_scratcher; #X text -24 16 Live Scratch Sampler; #X text 462 95 <-- Setup your own midi controls; #X text 417 118 <-- Load a file if you do not want to record; #X text 222 282 <-- Select the starting point of the sample; #X text 222 297 <-- Select the ending point of the sample; #X text 224 328 <-- Move this to scratch when pused; #X text 105 455 ^ ---- Record from sound card; #X text 381 232 <-- Faders for input \, buffer \, and delay line; #X text 409 395 Please \, send me your suggestions and comments; #X text 425 412 or other improved patches to; #X text -24 35 (c) 2009 David Becerril www.davebv.com; #X obj 379 206 s loadedwav; #X text 438 438 david [at] davebv [dot] com; #X connect 0 0 27 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 0 0; #X connect 7 0 4 0; #X connect 8 0 9 0; #X connect 10 0 8 0; #X connect 11 0 13 0; #X connect 11 0 13 1;