forked from pierreguillot/Pad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pad.sonogram~.pd
389 lines (389 loc) · 9.19 KB
/
pad.sonogram~.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
#N canvas 353 157 873 669 10;
#X declare -lib Gem;
#X obj 49 8 inlet~;
#X obj 49 151 *~;
#X obj 89 151 *~;
#X obj 49 118 rfft~, f 8;
#X obj 49 203 clip~ 0 1;
#X obj 49 179 /~ 511;
#N canvas 300 485 605 328 hueToRgb 0;
#X obj 138 53 inlet~;
#X obj 103 248 outlet~;
#X obj 198 237 outlet~;
#X obj 377 277 outlet~, f 16;
#X obj 377 163 cos~;
#X obj 377 185 +~ 1;
#X obj 377 207 *~ 0.5;
#X obj 205 148 cos~;
#X obj 205 170 +~ 1;
#X obj 205 192 *~ 0.5;
#X obj 205 85 -~ 0.5;
#X obj 107 152 cos~;
#X obj 107 174 +~ 1;
#X obj 107 196 *~ 0.5;
#X obj 107 89 -~ 1;
#X obj 205 125 clip~ -0.5 0.5;
#X obj 107 129 clip~ -0.5 0;
#X obj 377 255 wrap~;
#X obj 375 85 -~ 0.01;
#X obj 377 140 clip~ 0 0.49;
#X obj 375 235 +~ 0.02;
#X connect 0 0 10 0;
#X connect 0 0 14 0;
#X connect 0 0 18 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 20 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 9 0 2 0;
#X connect 10 0 15 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 1 0;
#X connect 14 0 16 0;
#X connect 15 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 3 0;
#X connect 18 0 19 0;
#X connect 19 0 4 0;
#X connect 20 0 17 0;
#X restore 49 227 pd hueToRgb;
#N canvas 573 230 700 367 gemrendering 0;
#X obj 27 30 gemhead;
#X obj 120 17 inlet~;
#X obj 191 17 inlet~;
#X obj 261 17 inlet~;
#X obj 27 203 rotateXYZ 0 0 90;
#X obj 27 264 translateXYZ 1.5 0 0;
#X obj 27 136 pix_sig2pix~ 512 512;
#X obj 27 295 square 3;
#X obj 27 171 pix_texture;
#X obj 419 226 block~ 262144 64;
#X obj 27 233 scaleXYZ 2.5 1.25 1;
#X obj 208 135 r \$0-width;
#X obj 308 134 r \$0-height;
#X obj 268 187 /;
#X obj 308 156 t b f;
#X obj 268 209 * 1.25;
#X obj 420 94 r \$0-fft;
#N canvas 0 22 450 300 toPowerOf2 0;
#X obj 230 98 log;
#X obj 230 120 /;
#X obj 230 47 t f b;
#X obj 260 100 log;
#X obj 260 76 f 2;
#X obj 230 142 int;
#X obj 230 164 max 1;
#X obj 229 233 pow, f 5;
#X obj 229 189 t b f;
#X obj 229 211 f 2;
#X obj 230 23 inlet;
#X obj 229 255 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 0 0;
#X connect 2 1 4 0;
#X connect 3 0 1 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 11 0;
#X connect 8 0 9 0;
#X connect 8 1 7 1;
#X connect 9 0 7 0;
#X connect 10 0 2 0;
#X restore 420 122 pd toPowerOf2;
#X obj 420 174 * 512;
#X msg 420 196 set \$1 64;
#X obj 423 30 r \$0-fftframe;
#X obj 437 149 t b f;
#N canvas 0 22 450 300 toPowerOf2 0;
#X obj 230 98 log;
#X obj 230 120 /;
#X obj 230 47 t f b;
#X obj 260 100 log;
#X obj 260 76 f 2;
#X obj 230 142 int;
#X obj 230 164 max 1;
#X obj 229 233 pow, f 5;
#X obj 229 189 t b f;
#X obj 229 211 f 2;
#X obj 230 23 inlet;
#X obj 229 255 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 0 0;
#X connect 2 1 4 0;
#X connect 3 0 1 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 11 0;
#X connect 8 0 9 0;
#X connect 8 1 7 1;
#X connect 9 0 7 0;
#X connect 10 0 2 0;
#X restore 422 52 pd toPowerOf2;
#X msg 495 88 set \$1;
#X obj 509 124 s \$0-fftframei;
#X msg 263 85 dimen \$1 \$2, f 16;
#X obj 266 58 pack 512 512;
#X connect 0 0 6 0;
#X connect 1 0 6 0;
#X connect 2 0 6 1;
#X connect 3 0 6 2;
#X connect 4 0 10 0;
#X connect 5 0 7 0;
#X connect 6 0 8 0;
#X connect 8 0 4 0;
#X connect 10 0 5 0;
#X connect 11 0 13 0;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 14 0 13 0;
#X connect 14 1 13 1;
#X connect 15 0 10 2;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 0 26 0;
#X connect 18 0 19 0;
#X connect 19 0 9 0;
#X connect 20 0 22 0;
#X connect 21 0 18 0;
#X connect 21 0 26 0;
#X connect 21 1 18 1;
#X connect 21 1 26 1;
#X connect 22 0 21 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 25 0 6 0;
#X connect 26 0 25 0;
#X restore 49 255 pd gemrendering;
#X obj 49 93 *~ 1, f 8;
#X obj 299 493 sel 1 0;
#X obj 298 593 gemwin;
#X msg 397 533 destroy;
#X msg 299 532 create \, 1;
#X obj 275 125 tgl 15 0 \$0-state \$0-statei empty 17 7 0 10 -262144
-1 -1 1 1;
#X obj 496 15 declare -lib Gem;
#X obj 110 8 r \$0-gain;
#X obj 299 432 r \$0-state;
#X obj 397 490 switch~ 512 4 1;
#X obj 616 112 loadbang;
#X msg 616 137 0;
#X obj 616 162 s \$0-statei;
#X text 201 123 State:;
#X obj 275 166 nbx 5 14 10 1e+37 0 0 \$0-width \$0-widthi empty 0 -8
0 10 -262144 -1 -1 300 256;
#X obj 67 488 t b f;
#X obj 275 186 nbx 5 14 10 1e+37 0 0 \$0-height \$0-heighti empty 0
-8 0 10 -262144 -1 -1 300 256;
#X text 202 182 Height:;
#X obj 67 575 s \$0-state;
#X obj 104 516 pack 300 300;
#X obj 275 206 nbx 5 14 0 1e+37 0 0 \$0-fft \$0-ffti empty 0 -8 0 10
-262144 -1 -1 512 256;
#X obj 66 411 r \$0-width;
#X obj 139 379 r \$0-height;
#X obj 167 486 t b b f;
#X text 202 162 Width:;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 136 20 1 0 0;
#X restore 200 100 graph;
#X msg 104 545 destroy \, dimen \$1 \$2;
#X obj 457 366 r \$0-fft;
#X msg 438 306 set \$1;
#N canvas 0 22 450 300 toPowerOf2 0;
#X obj 230 98 log;
#X obj 230 120 /;
#X obj 230 47 t f b;
#X obj 260 100 log;
#X obj 260 76 f 2;
#X obj 230 142 int;
#X obj 230 164 max 1;
#X obj 229 233 pow, f 5;
#X obj 229 189 t b f;
#X obj 229 211 f 2;
#X obj 230 23 inlet;
#X obj 229 255 outlet;
#X connect 0 0 1 0;
#X connect 1 0 5 0;
#X connect 2 0 0 0;
#X connect 2 1 4 0;
#X connect 3 0 1 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 11 0;
#X connect 8 0 9 0;
#X connect 8 1 7 1;
#X connect 9 0 7 0;
#X connect 10 0 2 0;
#X restore 448 404 pd toPowerOf2;
#X obj 299 457 f 0;
#X obj 617 232 s \$0-gaini;
#X obj 617 182 loadbang;
#X obj 616 257 loadbang;
#X obj 616 307 s \$0-widthi;
#X msg 616 282 300;
#X obj 616 330 loadbang;
#X msg 616 355 300;
#X obj 616 380 s \$0-heighti;
#N canvas 0 22 650 370 speedlim 0;
#X obj 206 212 metro 100;
#X obj 206 32 inlet;
#N canvas 0 22 720 312 activity-monitor 0;
#X obj 108 74 inlet;
#X obj 108 103 b;
#X obj 108 160 delay 100;
#X obj 168 73 inlet;
#X obj 108 198 outlet;
#X text 198 132 if no activity for X msec \, then bang outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X restore 228 154 pd activity-monitor;
#X msg 252 181 0;
#X msg 206 181 1;
#X obj 206 251 list append;
#X obj 206 278 outlet;
#X obj 206 89 spigot 1;
#X obj 274 89 == 0;
#X obj 206 56 t a b a;
#X obj 323 134 delay 100;
#X connect 0 0 5 0;
#X connect 1 0 9 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 3 0 8 0;
#X connect 4 0 0 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 7 0 4 0;
#X connect 8 0 7 1;
#X connect 9 0 7 0;
#X connect 9 1 2 0;
#X connect 9 1 10 0;
#X connect 9 2 5 1;
#X connect 10 0 3 0;
#X restore 145 425 pd speedlim;
#N canvas 0 22 650 370 speedlim 0;
#X obj 206 212 metro 100;
#X obj 206 32 inlet;
#N canvas 0 22 720 312 activity-monitor 0;
#X obj 108 74 inlet;
#X obj 108 103 b;
#X obj 108 160 delay 100;
#X obj 168 73 inlet;
#X obj 108 198 outlet;
#X text 198 132 if no activity for X msec \, then bang outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X restore 228 154 pd activity-monitor;
#X msg 252 181 0;
#X msg 206 181 1;
#X obj 206 251 list append;
#X obj 206 278 outlet;
#X obj 206 89 spigot 1;
#X obj 274 89 == 0;
#X obj 206 56 t a b a;
#X obj 323 134 delay 100;
#X connect 0 0 5 0;
#X connect 1 0 9 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 3 0 8 0;
#X connect 4 0 0 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 7 0 4 0;
#X connect 8 0 7 1;
#X connect 9 0 7 0;
#X connect 9 1 2 0;
#X connect 9 1 10 0;
#X connect 9 2 5 1;
#X connect 10 0 3 0;
#X restore 65 445 pd speedlim;
#X obj 616 400 loadbang;
#X obj 616 450 s \$0-ffti;
#X msg 616 425 512;
#X obj 452 342 s \$0-ffti;
#X obj 275 226 nbx 5 14 0 1e+37 0 0 \$0-fftframe \$0-fftframei empty
0 -8 0 10 -262144 -1 -1 512 256;
#X text 202 202 FFT Size:;
#X obj 616 470 loadbang;
#X msg 616 495 512;
#X obj 616 520 s \$0-fftframei;
#X obj 275 145 nbx 5 14 0 1e+37 0 0 \$0-gain \$0-gaini empty 0 -8 0
10 -262144 -1 -1 1.5 256;
#X msg 617 207 1;
#X text 202 222 FFT Frames:;
#X obj 470 47 inlet;
#X msg 438 426 set \$1 4 1;
#X text 202 142 Amplitude:;
#X obj 470 69 route float amp width height fftsize fftframes;
#X text 201 102 Sonogram;
#X text 416 604 pad.sonogram~ by Pierre Guillot;
#X connect 0 0 8 0;
#X connect 1 0 5 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 0 1 1;
#X connect 3 1 2 0;
#X connect 3 1 2 1;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 6 1 7 1;
#X connect 6 2 7 2;
#X connect 8 0 3 0;
#X connect 9 0 12 0;
#X connect 9 1 11 0;
#X connect 11 0 10 0;
#X connect 12 0 10 0;
#X connect 15 0 8 1;
#X connect 16 0 38 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 23 0 26 0;
#X connect 23 1 27 0;
#X connect 27 0 34 0;
#X connect 29 0 48 0;
#X connect 30 0 47 0;
#X connect 31 0 26 0;
#X connect 31 1 27 0;
#X connect 31 2 27 1;
#X connect 34 0 10 0;
#X connect 35 0 37 0;
#X connect 36 0 52 0;
#X connect 37 0 36 0;
#X connect 37 0 62 0;
#X connect 37 0 5 1;
#X connect 38 0 9 0;
#X connect 38 0 17 0;
#X connect 40 0 59 0;
#X connect 41 0 43 0;
#X connect 43 0 42 0;
#X connect 44 0 45 0;
#X connect 45 0 46 0;
#X connect 47 0 31 0;
#X connect 48 0 23 0;
#X connect 49 0 51 0;
#X connect 51 0 50 0;
#X connect 55 0 56 0;
#X connect 56 0 57 0;
#X connect 59 0 39 0;
#X connect 61 0 64 0;
#X connect 62 0 17 0;
#X connect 64 0 20 0;
#X connect 64 1 39 0;
#X connect 64 2 42 0;
#X connect 64 3 46 0;
#X connect 64 4 50 0;
#X connect 64 5 57 0;
#X coords 0 -1 1 1 136 144 2 200 100;