aboutsummaryrefslogtreecommitdiff
path: root/pd/extra/loop~/help-loop~.pd
blob: 6acff93c6a20aa3faa76a1e95586264c28728473 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#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;