-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfx.streamstretch~-help.pd
86 lines (86 loc) · 2.95 KB
/
fx.streamstretch~-help.pd
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#N canvas 537 36 660 504 10;
#X obj 56 127 readsf~;
#N canvas 128 250 891 606 commands 0;
#X obj 48 510 outlet;
#X obj 101 80 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 294 290 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 262 227 manual-trig bang;
#X text 273 89 Turn on buffering first or you won't hear anything;
#X msg 294 310 auto-trig-switch \$1;
#X msg 343 404 auto-trig-rate 250;
#X text 479 350 Set the probability of auto-triggering a new stream
on every tick that goes by (by default \, once per 500ms).;
#X text 509 405 Make the rate of ticks faster for more density;
#X msg 323 354 auto-trig-prob 50;
#X text 455 300 Or \, turn auto-trigger on to keep generating new streams
continuously;
#X text 405 226 Manually trigger a new stream (polyphonic up to 20
voices);
#X text 371 147 Transposition range in 100ths of a semitone (cents)
;
#X text 371 175 Playback speed from 0-100%;
#X msg 207 176 speed-range 50 90;
#X msg 353 454 window-size 4096;
#X text 509 455 Make the FFT analysis window bigger (overlap of 4 is
hard-coded);
#X msg 101 100 buffer-rec-switch \$1;
#X msg 49 33 buffer-rec-switch 0 \, trig-play-switch 0 \, window-size
2048 \, trig-prob 70 \, speed-range 50 90 \, transpo-range 0 0 \;;
#X text 438 39 Internal defaults;
#X msg 187 146 transpo-range -300 300;
#X connect 1 0 17 0;
#X connect 2 0 5 0;
#X connect 3 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 0 0;
#X connect 9 0 0 0;
#X connect 14 0 0 0;
#X connect 15 0 0 0;
#X connect 17 0 0 0;
#X connect 18 0 0 0;
#X connect 20 0 0 0;
#X restore 176 278 pd commands;
#X text 277 129 NOTE: The following parameters are hard-coded \, but
can be adjusted as you like by editing the abstraction;
#X text 284 417 [email protected];
#X text 284 397 www.williambrent.com;
#X text 284 377 William Brent 2013;
#X text 277 189 - The buffer length is hard-coded to about 10 seconds
;
#X msg 96 84 stop;
#X text 275 43 streamStretch~ buffers multiple copies of incoming live
audio and creates overlapping streams of time-stretched & transposed
output that trail the input. It is a Pd-vanilla abstraction.;
#X text 277 209 - streamStretch~ records to a new 10-second buffer
about once per second;
#X text 277 169 - Stream polyphony is hard-coded to 20 voices;
#X text 270 277 <<<< See commands inside to turn on buffering and activate
streams;
#X msg 56 44 open _samples/satie.wav \, start;
#X obj 56 313 fx.streamstretch~;
#X obj 56 412 mix.output~;
#X obj 122 375 hsl 100 15 0 1 0 0 empty empty empty -2 -8 0 10 -163060
-1 -1 8600 1;
#X text 155 374 gain;
#X obj 100 155 adc~;
#X obj 121 261 == 0;
#X obj 121 197 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 56 282 *~ 1;
#X obj 100 282 *~ 0;
#X connect 0 0 20 0;
#X connect 0 1 12 0;
#X connect 1 0 13 1;
#X connect 7 0 0 0;
#X connect 12 0 0 0;
#X connect 13 0 14 0;
#X connect 13 0 14 1;
#X connect 15 0 14 2;
#X connect 17 0 21 0;
#X connect 18 0 21 1;
#X connect 19 0 18 0;
#X connect 19 0 20 1;
#X connect 20 0 13 0;
#X connect 21 0 13 0;