aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/57.delay.reverb.pd
blob: aad17023a599cfaeaf99d0cd1cddecf4450aedae (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
#N canvas 127 171 643 406 12;
#N canvas 0 0 499 321 test-input 0;
#X obj 75 253 outlet~;
#X obj 74 201 -~;
#X obj 74 177 *~ 3;
#X obj 111 183 *~ 2;
#X floatatom 74 81 0 0 0;
#X obj 74 153 clip~ 0 0.667;
#X text 124 80 <-- pitch;
#X obj 74 105 mtof;
#X msg 195 142 1;
#X obj 74 225 *~;
#X obj 74 129 phasor~ 0;
#X obj 195 190 tabread4~ dbtorms;
#X obj 195 166 adsr 100 100 2000 0 2000;
#X obj 73 54 inlet;
#N canvas 0 0 600 392 conversion-tables 0;
#N canvas 0 0 450 300 graph1 0;
#X array dbtorms 123 float 1;
#A 0 0 0 1.25893e-05 1.41254e-05 1.58489e-05 1.77828e-05 1.99526e-05
2.23872e-05 2.51189e-05 2.81838e-05 3.16228e-05 3.54813e-05 3.98107e-05
4.46684e-05 5.01187e-05 5.62341e-05 6.30957e-05 7.07946e-05 7.94328e-05
8.91251e-05 1e-04 0.000112202 0.000125893 0.000141254 0.000158489 0.000177828
0.000199526 0.000223872 0.000251189 0.000281838 0.000316228 0.000354813
0.000398107 0.000446684 0.000501187 0.000562341 0.000630957 0.000707946
0.000794328 0.000891251 0.001 0.00112202 0.00125893 0.00141254 0.00158489
0.00177828 0.00199526 0.00223872 0.00251189 0.00281838 0.00316228 0.00354813
0.00398107 0.00446684 0.00501187 0.00562341 0.00630957 0.00707946 0.00794328
0.00891251 0.01 0.0112202 0.0125893 0.0141254 0.0158489 0.0177828 0.0199526
0.0223872 0.0251189 0.0281838 0.0316228 0.0354813 0.0398107 0.0446684
0.0501187 0.0562341 0.0630957 0.0707946 0.0794328 0.0891251 0.1 0.112202
0.125893 0.141254 0.158489 0.177828 0.199526 0.223872 0.251189 0.281838
0.316228 0.354813 0.398107 0.446684 0.501187 0.562341 0.630957 0.707946
0.794328 0.891251 1 1.12202 1.25893 1.41254 1.58489 1.77828 1.99526
2.23872 2.51189 2.81838 3.16228 3.54813 3.98107 4.46684 5.01187 5.62341
6.30957 7.07946 7.94328 8.91251 10 11.2202 12.5893;
#X coords 0 10 123 0 200 100 1;
#X restore 70 45 graph;
#X text 272 138 0;
#X text 274 38 10;
#X text 89 148 ------ 123 samples ------;
#N canvas 0 0 450 300 graph2 0;
#X array mtof 130 float 1;
#A 0 8.1758 8.66196 9.17702 9.72272 10.3009 10.9134 11.5623 12.2499
12.9783 13.75 14.5676 15.4339 16.3516 17.3239 18.354 19.4454 20.6017
21.8268 23.1247 24.4997 25.9565 27.5 29.1352 30.8677 32.7032 34.6478
36.7081 38.8909 41.2034 43.6535 46.2493 48.9994 51.9131 55 58.2705
61.7354 65.4064 69.2957 73.4162 77.7817 82.4069 87.3071 92.4986 97.9989
103.826 110 116.541 123.471 130.813 138.591 146.832 155.563 164.814
174.614 184.997 195.998 207.652 220 233.082 246.942 261.626 277.183
293.665 311.127 329.628 349.228 369.994 391.995 415.305 440 466.164
493.883 523.251 554.365 587.33 622.254 659.255 698.456 739.989 783.991
830.609 880 932.328 987.767 1046.5 1108.73 1174.66 1244.51 1318.51
1396.91 1479.98 1567.98 1661.22 1760 1864.66 1975.53 2093 2217.46 2349.32
2489.02 2637.02 2793.83 2959.96 3135.96 3322.44 3520 3729.31 3951.07
4186.01 4434.92 4698.64 4978.03 5274.04 5587.65 5919.91 6271.93 6644.88
7040 7458.62 7902.13 8372.02 8869.84 9397.27 9956.06 10548.1 11175.3
11839.8 12543.9 13289.8 14080;
#X coords 0 12000 130 0 200 100 1;
#X restore 77 222 graph;
#X text 87 330 ------ 130 samples ------;
#X text 286 315 0;
#X text 288 215 12000;
#N canvas 244 212 672 338 regenerate-tables 0;
#X msg 415 84 bang;
#X obj 415 113 t b b;
#X obj 474 177 f;
#X obj 512 177 + 1;
#X msg 483 147 0;
#X obj 415 142 until;
#X obj 474 211 t f f;
#X obj 414 238 mtof;
#X obj 405 202 sel 129;
#X obj 413 264 tabwrite mtof;
#X obj 35 227 moses 2;
#X msg 19 76 bang;
#X obj 19 105 t b b;
#X obj 90 166 f;
#X obj 128 166 + 1;
#X msg 112 138 0;
#X obj 19 134 until;
#X obj 11 194 sel 122;
#X msg 35 258 0;
#X obj 79 259 dbtorms;
#X obj 90 194 t f f;
#X obj 35 291 tabwrite dbtorms;
#X text 18 49 bang to recalculate dbtorms table;
#X text 356 50 bang to recalculate the mtof table;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 2 0 6 0;
#X connect 2 0 8 0;
#X connect 3 0 2 1;
#X connect 4 0 2 1;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 6 1 9 1;
#X connect 7 0 9 0;
#X connect 8 0 5 1;
#X connect 10 0 18 0;
#X connect 10 1 19 0;
#X connect 11 0 12 0;
#X connect 12 0 16 0;
#X connect 12 1 15 0;
#X connect 13 0 14 0;
#X connect 13 0 17 0;
#X connect 13 0 20 0;
#X connect 14 0 13 1;
#X connect 15 0 13 1;
#X connect 16 0 13 0;
#X connect 17 0 16 1;
#X connect 18 0 21 0;
#X connect 19 0 21 0;
#X connect 20 0 10 0;
#X connect 20 1 21 1;
#X restore 375 76 pd regenerate-tables;
#X restore 260 101 pd conversion-tables;
#X connect 1 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 1 1;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 5 0 2 0;
#X connect 7 0 10 0;
#X connect 8 0 12 0;
#X connect 9 0 0 0;
#X connect 10 0 3 0;
#X connect 10 0 5 0;
#X connect 11 0 9 1;
#X connect 12 0 11 0;
#X connect 13 0 4 0;
#X restore 75 129 pd test-input;
#X text 328 322 updated for Pd version 0.26;
#X text 62 8 REVERBERATOR;
#X floatatom 75 100 0 0 0;
#X text 126 105 <-- pitch;
#X floatatom 137 219 0 0 0;
#N canvas 159 26 618 379 output 0;
#X obj 393 156 t b;
#X obj 393 106 f;
#X obj 393 56 inlet;
#X text 399 25 mute;
#X obj 393 181 f;
#X msg 480 174 0;
#X msg 393 81 bang;
#X obj 393 131 moses 1;
#X obj 480 149 t b f;
#X obj 452 113 moses 1;
#X obj 138 144 dbtorms;
#X obj 452 88 r master-lvl;
#X obj 138 38 r master-lvl;
#X obj 393 206 s master-lvl;
#X obj 22 140 inlet~;
#X obj 254 37 inlet;
#X text 254 14 level;
#X obj 254 96 s master-lvl;
#X msg 151 61 set \$1;
#X obj 151 85 outlet;
#X msg 269 60 \; pd dsp 1;
#X obj 138 190 line~;
#X obj 22 231 *~;
#X obj 138 167 pack 0 50;
#X text 34 118 audio;
#X text 148 106 show level;
#X obj 73 140 inlet~;
#X obj 73 232 *~;
#X obj 22 260 dac~ 1;
#X obj 73 260 dac~ 2;
#X obj 22 182 hip~ 5;
#X obj 73 181 hip~ 5;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 1 4 1;
#X connect 10 0 23 0;
#X connect 11 0 1 1;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 12 0 18 0;
#X connect 14 0 30 0;
#X connect 15 0 17 0;
#X connect 15 0 20 0;
#X connect 18 0 19 0;
#X connect 21 0 22 1;
#X connect 21 0 27 1;
#X connect 22 0 28 0;
#X connect 23 0 21 0;
#X connect 26 0 31 0;
#X connect 27 0 29 0;
#X connect 30 0 22 0;
#X connect 31 0 27 0;
#X restore 75 247 pd output;
#X msg 166 219 MUTE;
#X text 184 217 <-- output amplitude;
#N canvas 137 269 1056 577 reverb 0;
#X obj 77 37 inlet~;
#X obj 77 85 echo echo-del2 8.45346;
#X obj 77 61 echo echo-del1 5.43216;
#X obj 77 109 echo echo-del3 13.4367;
#X obj 77 133 echo echo-del4 21.5463;
#X obj 77 157 echo echo-del5 34.3876;
#X obj 77 181 echo echo-del6 55.5437;
#X obj 253 545 delwrite~ loop-del1 70;
#X obj 295 157 delread~ loop-del1 70;
#X obj 466 157 delread~ loop-del2 81.9345;
#X obj 416 545 delwrite~ loop-del2 81.9345;
#X obj 665 154 delread~ loop-del3 94.7545;
#X obj 855 154 delread~ loop-del4 115.945;
#X obj 622 545 delwrite~ loop-del3 94.7545;
#X obj 820 545 delwrite~ loop-del4 115.945;
#X obj 282 215 +~;
#X obj 443 215 +~;
#X obj 187 251 outlet~;
#X obj 364 244 outlet~;
#X obj 251 337 +~;
#X obj 619 328 +~;
#X obj 408 334 -~;
#X obj 791 327 -~;
#X obj 251 391 +~;
#X obj 411 397 +~;
#X obj 615 407 -~;
#X obj 785 388 -~;
#X obj 620 474 *~ 0;
#X obj 620 511 lop~ 5000;
#X obj 415 472 *~ 0;
#X obj 415 510 lop~ 5000;
#X obj 246 475 *~ 0;
#X obj 246 513 lop~ 5000;
#X obj 821 472 *~ 0;
#X obj 821 506 lop~ 5000;
#X obj 924 254 inlet;
#X obj 924 278 moses 100;
#X obj 926 325 moses -100;
#X msg 979 303 100;
#X msg 930 349 -100;
#X obj 934 386 / 200;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 1 1 3 1;
#X connect 2 0 1 0;
#X connect 2 1 1 1;
#X connect 3 0 4 0;
#X connect 3 1 4 1;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 5 0 6 0;
#X connect 5 1 6 1;
#X connect 6 0 15 0;
#X connect 6 1 16 0;
#X connect 8 0 15 1;
#X connect 9 0 16 1;
#X connect 11 0 19 1;
#X connect 11 0 21 1;
#X connect 12 0 20 1;
#X connect 12 0 22 1;
#X connect 15 0 17 0;
#X connect 15 0 19 0;
#X connect 15 0 21 0;
#X connect 16 0 18 0;
#X connect 16 0 20 0;
#X connect 16 0 22 0;
#X connect 19 0 23 0;
#X connect 19 0 25 0;
#X connect 20 0 25 1;
#X connect 20 0 23 1;
#X connect 21 0 24 0;
#X connect 21 0 26 0;
#X connect 22 0 24 1;
#X connect 22 0 26 1;
#X connect 23 0 27 0;
#X connect 24 0 29 0;
#X connect 25 0 31 0;
#X connect 26 0 33 0;
#X connect 27 0 28 0;
#X connect 28 0 13 0;
#X connect 29 0 30 0;
#X connect 30 0 10 0;
#X connect 31 0 32 0;
#X connect 32 0 7 0;
#X connect 33 0 34 0;
#X connect 34 0 14 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 37 0 39 0;
#X connect 37 1 40 0;
#X connect 38 0 37 0;
#X connect 39 0 40 0;
#X connect 40 0 33 1;
#X connect 40 0 31 1;
#X connect 40 0 29 1;
#X connect 40 0 27 1;
#X restore 50 193 pd reverb;
#X floatatom 108 163 0 0 0;
#X text 143 163 <-- feedback (100 maximum);
#X text 32 41 Here is a simple recirculating reverberator. "Feedback"
should be between -100 and 100;
#X text 37 285 You can spend a lifetime tweaking reverberators... we'll
just leave it at that for now.;
#X connect 0 0 9 0;
#X connect 0 0 6 0;
#X connect 3 0 0 0;
#X connect 5 0 6 2;
#X connect 6 0 5 0;
#X connect 7 0 6 3;
#X connect 9 0 6 0;
#X connect 9 1 6 1;
#X connect 10 0 9 1;