#N canvas 33 0 538 640 12; #X floatatom 55 169; #X obj 273 343 print~; #X msg 273 305 bang; #X obj 55 303 loop~; #X floatatom 80 244; #X msg 69 217 bang; #X obj 172 350 print~; #X msg 170 311 bang; #X graph graph1 0 -1 150000 1 306 586 506 436; #X array array2 150000 float; #X pop; #X msg 306 594 \; array2 resize 150000; #X obj 29 578 soundfiler; #X obj 55 419 tabread4~ array2; #X obj 55 373 *~; #X obj 55 488 dac~; #X obj 55 465 hip~ 5; #X obj 101 377 samphold~; #X obj 55 396 +~; #X floatatom 102 268; #X obj 102 291 *~ 1000; #X msg 47 533 read ../doc/sound/bell.aiff array2; #X msg 47 556 read ../doc/sound/vocal.aiff array2; #X msg 61 194 set 0.5; #X text 100 164 left signal input is transposition (1 is normal \, 2 is up an octave \, etc); #X text 37 6 loop~ - phase generator for looping samplers; #X text 121 193 set phase (0 to 1); #X text 121 213 reset phase to 0; #X text 118 243 right signal input is window size in samples; #X text 140 267 here's how to handle onsets; #X obj 55 442 *~; #X floatatom 171 397; #X obj 171 466 line~; #X obj 171 420 dbtorms; #X obj 171 443 pack 0 50; #X text 205 396 output level 0-100; #X text 170 290 print outputs; #X text 21 25 loop~ takes input signals to set a window size and transposition \, and outputs a phase and a sampled window size. The window size only changes at phase zero crossings and the phase output is adjusted so that changing window size doesn't change the transposition.; #X text 22 95 You can send "bang" or "set" message to force the phase to zero--you should mute the output before doing so. This may be desirable if you've set a large window size but then want to decrease it without waiting for the next phase crossing.; #X connect 0 0 3 0; #X connect 2 0 1 0; #X connect 3 0 6 0; #X connect 3 0 12 0; #X connect 3 0 15 1; #X connect 3 1 1 0; #X connect 3 1 12 1; #X connect 4 0 3 1; #X connect 5 0 3 0; #X connect 7 0 6 0; #X connect 11 0 28 0; #X connect 12 0 16 0; #X connect 14 0 13 0; #X connect 14 0 13 1; #X connect 15 0 16 1; #X connect 16 0 11 0; #X connect 17 0 18 0; #X connect 18 0 15 0; #X connect 19 0 10 0; #X connect 20 0 10 0; #X connect 21 0 3 0; #X connect 28 0 14 0; #X connect 29 0 31 0; #X connect 30 0 28 1; #X connect 31 0 32 0; #X connect 32 0 30 0;