-
Notifications
You must be signed in to change notification settings - Fork 0
/
input~.pd
executable file
·537 lines (537 loc) · 13.7 KB
/
input~.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
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
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
#N canvas 1567 568 713 608 10;
#X obj 275 291 *~;
#X text 297 13 gain-scaler;
#X text 410 28 limiter on off;
#X obj 297 107 line;
#X obj 297 34 r \$1-gain;
#X obj 413 54 r \$1-limiter;
#N canvas 0 22 345 409 switch~ 0;
#X text 63 22 switch between two audio inputs;
#X obj 73 134 inlet~;
#X text 73 116 input1;
#X obj 120 271 line~;
#X obj 208 214 line~;
#X obj 104 299 *~;
#X obj 191 302 *~;
#X obj 120 200 - 1;
#X obj 118 223 abs;
#X msg 119 243 \$1 30;
#X msg 208 186 \$1 30;
#X obj 175 330 +~;
#X obj 136 134 inlet~;
#X text 136 116 input2;
#X obj 207 133 inlet;
#X text 207 114 toggle;
#X obj 175 357 outlet~;
#X text 65 34 with toggle on it switsches to 2nd input;
#X obj 185 59 loadbang;
#X msg 186 89 0;
#X connect 1 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 6 1;
#X connect 5 0 11 0;
#X connect 6 0 11 1;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 3 0;
#X connect 10 0 4 0;
#X connect 11 0 16 0;
#X connect 12 0 6 0;
#X connect 14 0 10 0;
#X connect 14 0 7 0;
#X connect 18 0 19 0;
#X connect 19 0 10 0;
#X connect 19 0 7 0;
#X restore 275 380 pd switch~;
#X obj 297 134 s \$0-gain-s;
#X obj 292 181 r \$0-gain-r;
#X obj 413 86 s \$0-limiter-s;
#X obj 413 119 r \$0-limiter-r;
#X obj 275 509 outlet~ signal;
#N canvas 1072 87 384 423 hd_recording 0;
#X msg 219 256 stop;
#X obj 192 150 t f b;
#X obj 192 289 t a;
#X obj 101 66 select 0 1;
#X msg 129 237 start;
#X obj 156 122 f 0;
#X obj 129 96 t b b;
#X obj 47 355 writesf~ 1;
#X obj 46 38 inlet~;
#X text 48 14 signal;
#X msg 101 199 stop;
#X msg 192 229 open \$1;
#X obj 101 38 inlet;
#X obj 192 122 + 1;
#X obj 171 38 inlet;
#X msg 171 63 0;
#X obj 192 175 makefilename \$1-\$2_%d.wav;
#X symbolatom 192 203 20 0 0 0 - - - 0;
#X text 49 391 (c) 2007/2015 Achim Bornhoeft;
#X connect 0 0 2 0;
#X connect 1 0 16 0;
#X connect 1 1 0 0;
#X connect 2 0 7 0;
#X connect 3 0 10 0;
#X connect 3 1 6 0;
#X connect 4 0 7 0;
#X connect 5 0 13 0;
#X connect 6 0 4 0;
#X connect 6 1 5 0;
#X connect 8 0 7 0;
#X connect 10 0 7 0;
#X connect 11 0 2 0;
#X connect 12 0 3 0;
#X connect 13 0 5 1;
#X connect 13 0 1 0;
#X connect 14 0 15 0;
#X connect 15 0 5 1;
#X connect 16 0 17 0;
#X connect 17 0 11 0;
#X restore 355 427 pd hd_recording;
#X text 412 318 on/off;
#X obj 397 299 unpack f f;
#X obj 397 339 s \$0-in-rec-r;
#X obj 398 372 r \$0-in-rec-s;
#X obj 397 270 r \$1-in-rec;
#X obj 469 191 key;
#X floatatom 469 215 5 0 0 0 - - - 0;
#X obj 145 44 osc~ 440;
#X obj 145 107 *~;
#X obj 160 71 r \$0-testtone-r;
#N canvas 126 632 427 269 guilabel 0;
#X msg 43 107 label \$1;
#X obj 43 26 inlet;
#X obj 41 186 outlet;
#X obj 43 79 makefilename %s;
#X obj 43 131 s \$0-gain-no-s;
#X obj 41 161 r \$0-gain-no-r;
#N canvas 371 178 187 217 round 0;
#X msg 107 79 10;
#X obj 107 56 loadbang;
#X obj 27 84 * 1;
#X obj 27 19 inlet;
#X obj 68 131 / 1;
#X msg 68 109 1;
#X obj 27 109 + 0.5;
#X obj 27 134 div;
#X obj 27 181 outlet;
#X obj 27 157 * 1;
#X obj 107 102 pow 2;
#X obj 27 45 t f b;
#X connect 0 0 10 0;
#X connect 1 0 0 0;
#X connect 2 0 6 0;
#X connect 3 0 11 0;
#X connect 4 0 9 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 9 0 8 0;
#X connect 10 0 2 1;
#X connect 10 0 4 1;
#X connect 10 0 5 0;
#X connect 11 0 2 0;
#X connect 11 1 0 0;
#X restore 43 53 pd round;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 3 0 0 0;
#X connect 5 0 2 0;
#X connect 6 0 3 0;
#X restore 312 157 pd guilabel;
#X obj 117 23 adc~ \$1;
#X obj 469 237 sel 67 82;
#N canvas 0 22 345 409 switch~ 0;
#X text 63 22 switch between two audio inputs;
#X obj 73 134 inlet~;
#X text 73 116 input1;
#X obj 120 271 line~;
#X obj 208 214 line~;
#X obj 104 299 *~;
#X obj 191 302 *~;
#X obj 120 200 - 1;
#X obj 118 223 abs;
#X obj 136 134 inlet~;
#X text 136 116 input2;
#X obj 207 133 inlet;
#X text 207 114 toggle;
#X obj 175 357 outlet~;
#X text 65 34 with toggle on it switsches to 2nd input;
#X obj 185 59 loadbang;
#X msg 186 89 0;
#X msg 208 186 \$1 50;
#X msg 119 243 \$1 50;
#X connect 1 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 6 1;
#X connect 5 0 13 0;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 18 0;
#X connect 9 0 6 0;
#X connect 11 0 17 0;
#X connect 11 0 7 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 16 0 7 0;
#X connect 17 0 4 0;
#X connect 18 0 3 0;
#X restore 117 133 pd switch~;
#X text 524 211 R = reset soundfile number;
#X text 524 190 C = record on/off;
#X obj 285 482 s \$0-vu-in;
#X obj 10 10 cnv 10 90 15 empty \$1-channel in\ \$1 30 8 0 11 #404040 #ffffff 0;
#X obj 313 60 loadbang;
#X msg 313 81 0;
#X obj 305 215 > 0;
#X obj 305 262 switch~;
#X obj 305 240 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#N canvas 0 22 345 409 switch~ 0;
#X text 63 22 switch between two audio inputs;
#X obj 73 134 inlet~;
#X text 73 116 input1;
#X obj 120 271 line~;
#X obj 208 214 line~;
#X obj 104 299 *~;
#X obj 191 302 *~;
#X obj 120 200 - 1;
#X obj 118 223 abs;
#X obj 136 134 inlet~;
#X text 136 116 input2;
#X obj 207 133 inlet;
#X text 207 114 toggle;
#X obj 175 357 outlet~;
#X text 65 34 with toggle on it switsches to 2nd input;
#X obj 185 59 loadbang;
#X msg 186 89 0;
#X msg 208 186 \$1 50;
#X msg 119 243 \$1 50;
#X connect 1 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 6 1;
#X connect 5 0 13 0;
#X connect 6 0 13 0;
#X connect 7 0 8 0;
#X connect 8 0 18 0;
#X connect 9 0 6 0;
#X connect 11 0 17 0;
#X connect 11 0 7 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 16 0 7 0;
#X connect 17 0 4 0;
#X connect 18 0 3 0;
#X restore 117 214 pd switch~;
#X text 229 151 simulation;
#X obj 145 152 catch~ \$1-sim;
#X obj 174 194 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 174 172 r sim;
#N canvas 962 715 990 635 limit 0;
#X obj 227 572 outlet~;
#X obj 227 438 *~;
#X obj 227 546 *~;
#N canvas 0 22 450 300 delWrite 0;
#X obj 68 80 delwrite~ \$0-comp 500;
#X obj 68 39 inlet~;
#X obj 68 156 outlet~;
#X connect 1 0 0 0;
#X restore 87 221 pd delWrite;
#X obj 456 325 dbtorms;
#X obj 508 296 /;
#X obj 508 265 swap 1;
#X obj 561 272 /;
#X obj 561 250 swap 1000;
#X obj 242 398 lop~;
#X obj 242 343 clip~ 0 1;
#X obj 456 347 s \$0-thresh;
#X obj 508 318 s \$0-ratio;
#X obj 242 521 line~;
#X obj 242 500 pack f 5;
#X obj 242 476 r \$0-gain;
#X obj 613 229 s \$0-gain;
#N canvas 0 22 872 621 rms 0;
#X obj 257 107 env~ 512;
#X obj 257 245 -~;
#X obj 257 293 *~;
#X obj 257 345 +~;
#X obj 257 385 /~;
#X obj 378 221 +~ 0;
#X obj 272 220 r \$0-thresh;
#X obj 272 318 r \$0-thresh;
#X obj 272 269 r \$0-ratio;
#X obj 257 34 inlet~;
#X obj 257 407 outlet~;
#X obj 373 37 inlet;
#X obj 373 59 switch~;
#X obj 257 135 dbtorms~;
#X text 221 74 Input;
#X text 231 136 RMS;
#X text 424 59 turn DSP on/off for this sub-patch;
#X connect 0 0 13 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 4 1;
#X connect 6 0 1 1;
#X connect 7 0 3 1;
#X connect 8 0 2 1;
#X connect 9 0 0 0;
#X connect 11 0 12 0;
#X connect 13 0 1 0;
#X connect 13 0 5 0;
#X restore 242 220 pd rms;
#N canvas 0 22 859 606 peak 0;
#X obj 244 134 abs~;
#X obj 244 243 -~;
#X obj 244 291 *~;
#X obj 244 343 +~;
#X obj 244 383 /~;
#X obj 365 219 +~ 0;
#X obj 259 218 r \$0-thresh;
#X obj 259 316 r \$0-thresh;
#X obj 259 267 r \$0-ratio;
#X obj 244 49 inlet~;
#X obj 244 405 outlet~;
#X obj 470 125 inlet;
#X obj 470 147 switch~;
#X text 206 99 Input;
#X text 208 135 Peak;
#X text 521 148 turn DSP on/off for this sub-patch;
#X connect 0 0 1 0;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 10 0;
#X connect 5 0 4 1;
#X connect 6 0 1 1;
#X connect 7 0 3 1;
#X connect 8 0 2 1;
#X connect 9 0 0 0;
#X connect 11 0 12 0;
#X restore 290 220 pd peak;
#X obj 275 162 == 0;
#X obj 275 117 t f f;
#X obj 87 33 inlet~;
#X obj 275 93 r \$0-rmspeak;
#X obj 666 203 s \$0-rmspeak;
#X obj 718 179 s \$0-lookahead;
#X obj 144 273 r \$0-lookahead;
#X obj 456 155 route threshold ratio response gain rmspeak lookahead;
#X obj 456 26 loadbang;
#X obj 456 102 t a a;
#X obj 483 130 s \$0-dump;
#X obj 456 290 + 100;
#X obj 613 205 dbtorms;
#X obj 263 376 r \$0-response;
#X obj 561 294 s \$0-response;
#N canvas 0 22 450 300 delRead 0;
#X obj 68 41 inlet~;
#X obj 133 155 outlet~;
#X obj 133 42 inlet lookAhead;
#X obj 133 116 delread~ \$0-comp 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 87 297 pd delRead;
#X text 135 33 Input;
#X text 27 219 delwrite~;
#X text 53 252 dymmy;
#X text 52 264 cable;
#X text 33 297 delread~;
#X text 143 252 Lookahead in ms;
#X text 309 341 Clip signal;
#X text 273 397 Attack/release using LPF;
#X text 252 437 Gain Control;
#X text 293 243 Gain computation;
#X text 293 257 RMS/Peak;
#X text 305 476 Make-up gain;
#X text 314 117 RMS/Peak;
#X text 314 130 selector;
#X text 516 28 initialise controls;
#X text 513 113 send controls to UI;
#X text 454 369 Convert dB FS;
#X text 454 380 to Pd dB scale;
#X text 454 392 and then linear;
#X text 454 403 amplitude.;
#X text 576 319 inverse of ratio;
#X text 648 292 convert ms to frequency;
#X text 675 231 convert dBFS scale to Pd dB scale;
#X text 747 203 RMS/peak selection;
#X text 809 180 lookahead value in ms;
#X text 732 138 route incoming data;
#X text 454 472 Varun Nair;
#X text 454 485 2013;
#X text 455 498 re-sounding.com;
#X text 456 511 @ntkeep;
#X obj 720 345 inlet;
#X obj 720 382 switch~;
#X obj 613 183 + 100;
#X msg 456 55 threshold -2 \, ratio 1000 \, response 40 \, gain -1.2 \, rmspeak 0 \, lookahead 3;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 34 0;
#X connect 4 0 11 0;
#X connect 5 0 12 0;
#X connect 6 0 5 0;
#X connect 6 1 5 1;
#X connect 7 0 33 0;
#X connect 8 0 7 0;
#X connect 8 1 7 1;
#X connect 9 0 1 1;
#X connect 10 0 9 0;
#X connect 13 0 2 1;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 17 0 10 0;
#X connect 18 0 10 0;
#X connect 19 0 17 1;
#X connect 20 0 19 0;
#X connect 20 1 18 1;
#X connect 21 0 3 0;
#X connect 21 0 17 0;
#X connect 21 0 18 0;
#X connect 22 0 20 0;
#X connect 25 0 34 1;
#X connect 26 0 30 0;
#X connect 26 1 6 0;
#X connect 26 2 8 0;
#X connect 26 3 67 0;
#X connect 26 4 23 0;
#X connect 26 5 24 0;
#X connect 27 0 68 0;
#X connect 28 0 26 0;
#X connect 28 1 29 0;
#X connect 30 0 4 0;
#X connect 31 0 16 0;
#X connect 32 0 9 1;
#X connect 34 0 1 0;
#X connect 65 0 66 0;
#X connect 67 0 31 0;
#X connect 68 0 28 0;
#X restore 303 351 pd limit;
#N canvas 1187 539 446 411 vu-meter 0;
#X obj 122 204 abs~;
#X obj 122 308 snapshot~;
#X obj 122 331 rmstodb;
#X obj 122 352 - 100;
#X obj 122 375 outlet;
#X obj 188 174 expr 1000 / $f1;
#X floatatom 188 202 5 0 0 1 Hz - - 0;
#X obj 122 226 slop~ 0 0 0 0 1e+09;
#X floatatom 188 149 5 0 0 0 - - - 0;
#X text 288 174 convert to hz;
#X text 222 149 peak decay time in ms;
#X obj 23 261 t f b;
#X text 245 207 The slop~ object is used here for peak detection. We need to convert the output to dB with rmstodb and also subtract by 100 to convert it to dBFS., f 31;
#X text 237 331 Copy from PD documentation;
#X obj 109 16 loadbang;
#X floatatom 70 211 5 0 0 0 - - - 0;
#X obj 70 182 max;
#X msg 83 124 0;
#X obj 23 326 - 100;
#X obj 70 238 - 100;
#X obj 23 157 env~ 1024;
#X obj 23 354 pack f f;
#X obj 23 380 outlet;
#X obj 23 52 inlet~;
#X obj 83 101 metro \$1;
#X msg 188 120 500;
#X msg 128 75 10000;
#X obj 109 39 t b b b;
#X text 228 349 (c) 2023 AChim Bornhoeft;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 7 3;
#X connect 7 0 1 0;
#X connect 8 0 5 0;
#X connect 11 0 18 0;
#X connect 11 1 1 0;
#X connect 14 0 27 0;
#X connect 15 0 16 1;
#X connect 15 0 19 0;
#X connect 16 0 15 0;
#X connect 17 0 16 1;
#X connect 18 0 21 0;
#X connect 19 0 21 1;
#X connect 20 0 16 0;
#X connect 20 0 11 0;
#X connect 21 0 22 0;
#X connect 23 0 20 0;
#X connect 23 0 0 0;
#X connect 24 0 17 0;
#X connect 25 0 8 0;
#X connect 26 0 24 1;
#X connect 27 0 24 0;
#X connect 27 1 26 0;
#X connect 27 2 25 0;
#X restore 285 453 pd vu-meter;
#X obj 117 237 hip~ 1;
#X obj 64 454 loadbang;
#X floatatom 63 520 5 0 0 0 - - - 0;
#X obj 64 500 * 2;
#X obj 64 476 f \$3;
#X obj 63 569 s \$0-input~;
#X obj 153 570 namecanvas \$0-input~;
#X text 491 354 reset soundfile number to 1;
#X obj 494 337 s \$0-no1-in-r;
#X obj 494 371 r \$0-no1-in-s;
#X obj 10 27 cnv 16 90 180 empty empty empty 20 12 0 10 #f7f7f7 #404040 0;
#X obj 35 58 vu 14 120 \$0-vu-in empty -12 -8 0 7 #000000 #000000 1 0;
#X obj 20 58 vsl 14 119 0 2 0 0 \$0-gain-r \$0-gain-s empty 3 133 0 10 #ffffff #ff0400 #000000 0 1;
#X obj 77 94 tgl 12 0 \$0-limiter-r \$0-limiter-s lim 0 20 0 8 #ffffff #00ff04 #000000 0 1;
#X obj 24 37 cnv 10 60 10 empty \$1-name \$2 0 5 0 12 #ffffff #000000 0;
#X obj 77 125 tgl 12 0 \$0-in-rec-s \$0-in-rec-r rec 0 20 0 8 #ffffff #ff0400 #000000 0 1;
#X obj 77 155 bng 12 250 50 0 \$0-no1-in-s \$0-no1-in-r no1 0 20 0 8 #ffffff #ff0400 #000000;
#X obj 77 63 tgl 12 0 \$0-testtone-r \$0-testtone-s 440 0 20 0 8 #ffffff #ff0400 #000000 0 1;
#X obj 19 182 cnv 8 28 11 \$0-gain-no-r \$0-gain-no-s 0.5 4 7 1 10 #ffffff #000000 0;
#X msg 63 544 donecanvasdialog 100 100 \$1 0 0 1 1 90 195 10 10 \, dirty 0;
#X connect 0 0 6 0;
#X connect 0 0 41 0;
#X connect 3 0 7 0;
#X connect 4 0 3 0;
#X connect 5 0 9 0;
#X connect 6 0 11 0;
#X connect 6 0 12 0;
#X connect 6 0 42 0;
#X connect 8 0 0 1;
#X connect 8 0 23 0;
#X connect 8 0 33 0;
#X connect 10 0 6 2;
#X connect 10 0 41 1;
#X connect 14 0 15 0;
#X connect 14 1 51 0;
#X connect 16 0 12 1;
#X connect 17 0 14 0;
#X connect 18 0 19 0;
#X connect 19 0 25 0;
#X connect 20 0 21 0;
#X connect 21 0 26 1;
#X connect 22 0 26 2;
#X connect 22 0 21 1;
#X connect 23 0 7 0;
#X connect 24 0 26 0;
#X connect 25 0 15 0;
#X connect 25 1 51 0;
#X connect 26 0 36 0;
#X connect 32 0 3 0;
#X connect 33 0 35 0;
#X connect 35 0 34 0;
#X connect 36 0 43 0;
#X connect 38 0 36 1;
#X connect 39 0 36 2;
#X connect 40 0 39 0;
#X connect 41 0 6 1;
#X connect 42 0 29 0;
#X connect 43 0 0 0;
#X connect 44 0 47 0;
#X connect 45 0 62 0;
#X connect 46 0 45 0;
#X connect 47 0 46 0;
#X connect 52 0 12 2;
#X connect 62 0 48 0;
#X coords 0 0 1 1 90 195 2 10 10;