aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/73.control.blocksize.pd
blob: 05bad0d28f802066c8edeeb5c404f76603560f1e (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#N canvas 100 17 662 466 12;
#X floatatom 130 389 0 0 0;
#N canvas 159 26 495 266 output 0;
#X obj 338 160 t b;
#X obj 338 110 f;
#X obj 338 60 inlet;
#X text 344 29 mute;
#X obj 338 185 f;
#X msg 425 178 0;
#X msg 338 85 bang;
#X obj 338 135 moses 1;
#X obj 397 110 moses 1;
#X obj 83 148 dbtorms;
#X obj 397 85 r master-lvl;
#X obj 83 42 r master-lvl;
#X obj 338 210 s master-lvl;
#X obj 18 152 inlet~;
#X obj 199 41 inlet;
#X text 199 18 level;
#X obj 197 104 s master-lvl;
#X msg 96 65 set \$1;
#X obj 96 89 outlet;
#X msg 214 64 \; pd dsp 1;
#X obj 83 194 line~;
#X obj 22 212 *~;
#X obj 22 241 dac~;
#X obj 83 171 pack 0 50;
#X text 16 129 audio;
#X text 93 110 show level;
#X obj 18 179 hip~ 5;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 12 0;
#X connect 5 0 12 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 5 0;
#X connect 8 1 4 1;
#X connect 9 0 23 0;
#X connect 10 0 1 1;
#X connect 10 0 8 0;
#X connect 11 0 9 0;
#X connect 11 0 17 0;
#X connect 13 0 26 0;
#X connect 14 0 16 0;
#X connect 14 0 19 0;
#X connect 17 0 18 0;
#X connect 20 0 21 1;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 23 0 20 0;
#X connect 26 0 21 0;
#X restore 92 415 pd output;
#X msg 167 389 MUTE;
#X text 206 388 <-- output amplitude;
#X obj 51 203 noise~;
#N canvas 0 0 760 350 delay-writer 0;
#X obj 75 100 inlet~;
#X obj 79 250 outlet~;
#X obj 90 194 delwrite~ delay3 1000;
#X obj 379 97 block~ 1;
#X obj 145 131 delread~ delay3;
#X obj 144 159 *~ 0.99;
#X obj 79 164 +~;
#X obj 146 100 inlet;
#X text 84 22 Because of the feedback \, the delwrite~ has to go after
the delread~. So we set the blocksize to 1 to minimize the resulting
delay.;
#X connect 0 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 2 0;
#X connect 6 0 1 0;
#X connect 7 0 4 0;
#X restore 91 328 pd delay-writer;
#X text 401 435 updated for Pd version 0.34;
#X obj 77 285 *~;
#X obj 273 275 expr 1000/$f1;
#X obj 273 249 mtof;
#X msg 176 220 1;
#X msg 176 282 0;
#X obj 177 164 metro 500;
#X obj 273 195 random 60;
#X obj 177 135 loadbang;
#X obj 216 217 del 2;
#X obj 273 221 + 30;
#X obj 51 228 lop~ 1000;
#X text 86 9 CONTROLLING DELAY WITH BLOCK~;
#X text 75 52 In situations where a delay read feeds pack to a delay
write \, you can shorten the minimum delay by changing the block size.
Do this in a subpatch...;
#X text 238 328 <-- here is the delay loop;
#X connect 0 0 1 1;
#X connect 1 0 0 0;
#X connect 2 0 1 2;
#X connect 4 0 17 0;
#X connect 5 0 1 0;
#X connect 7 0 5 0;
#X connect 8 0 5 1;
#X connect 9 0 8 0;
#X connect 10 0 7 1;
#X connect 11 0 7 1;
#X connect 12 0 10 0;
#X connect 12 0 13 0;
#X connect 12 0 15 0;
#X connect 13 0 16 0;
#X connect 14 0 12 0;
#X connect 15 0 11 0;
#X connect 16 0 9 0;
#X connect 17 0 7 0;