aboutsummaryrefslogtreecommitdiff
path: root/examples/peakit-listmoses.pd
blob: 0075dc6767cc329c87a52a42af0d5fa54a7b8e3d (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
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
#N canvas 0 0 769 391 10;
#N canvas 0 0 450 300 peakit 0;
#X obj 183 102 rfft~;
#X obj 184 57 inlet~;
#X obj 183 157 outlet;
#X obj 227 157 outlet;
#X obj 242 90 inlet;
#X obj 183 140 peakit~ 0;
#X text 89 185 argument sets minimum magnitude to report;
#X obj 315 76 switch~ 1024 1 1;
#X obj 315 51 inlet;
#X connect 0 0 5 0;
#X connect 0 1 5 1;
#X connect 1 0 0 0;
#X connect 4 0 5 2;
#X connect 5 0 2 0;
#X connect 5 1 3 0;
#X connect 8 0 7 0;
#X restore 447 134 pd peakit;
#X floatatom 447 69 5 0 0 0 - - -;
#X floatatom 237 168 0 0 0 0 - - -;
#X floatatom 288 168 0 0 0 0 - - -;
#X floatatom 339 168 0 0 0 0 - - -;
#X floatatom 390 168 0 0 0 0 - - -;
#X floatatom 441 168 0 0 0 0 - - -;
#X floatatom 492 168 0 0 0 0 - - -;
#X floatatom 529 168 0 0 0 0 - - -;
#X floatatom 580 168 0 0 0 0 - - -;
#X obj 367 256 listmoses;
#X floatatom 458 242 5 0 0 0 - - -;
#X floatatom 523 242 5 0 0 0 - - -;
#X obj 458 225 unpack f f;
#X floatatom 476 120 3 0 500 2 magnitude-threshold - -;
#X obj 458 191 loadbang;
#X msg 447 52 440;
#X obj 447 35 loadbang;
#X text 13 58 peakit~ finds the frequencies of each peak in an FFT
vector \, which it outputs as a list from the left outlet. It separates
out the magnitudes of those peaks also \, which it outputs from it's
right output. Right-to-left order is preserved so that the object may
be used with the listmoses external.;
#X msg 458 208 300 800;
#N canvas 0 0 615 349 sources 0;
#X obj 37 99 osc~ 440;
#X obj 135 82 sig~;
#X obj 135 99 phasor~ 440;
#X obj 134 121 -~ 0.5;
#X obj 244 100 tabplay~ testinput;
#X obj 65 35 inlet;
#X obj 302 22 inlet;
#X obj 372 100 spigot;
#X obj 302 39 route bang float;
#X obj 31 210 *~ 1;
#X obj 75 210 *~ 0;
#X msg 209 174 1;
#X msg 209 193 0;
#X obj 209 155 sel 0 1 2;
#X msg 232 174 1;
#X msg 232 193 0;
#X msg 255 174 1;
#X msg 255 193 0;
#X obj 119 210 *~ 0;
#X obj 75 251 outlet~;
#X obj 209 138 r \$0-select-input;
#X msg 160 245 set sine;
#X msg 218 245 set sawtooth;
#X msg 304 245 set sample;
#X obj 197 290 s \$0-label;
#X msg 413 67 bang;
#X obj 436 102 openpanel;
#X msg 436 119 read -resize \$1 testinput;
#X obj 436 136 soundfiler;
#X obj 452 203 loadbang;
#X obj 452 248 s \$0-main-on;
#X msg 452 225 1;
#X connect 0 0 9 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 10 0;
#X connect 4 0 18 0;
#X connect 4 1 7 0;
#X connect 5 0 0 0;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 7 0 4 0;
#X connect 8 0 4 0;
#X connect 8 1 7 1;
#X connect 8 2 25 0;
#X connect 9 0 19 0;
#X connect 10 0 19 0;
#X connect 11 0 9 1;
#X connect 12 0 9 1;
#X connect 13 0 11 0;
#X connect 13 0 15 0;
#X connect 13 0 17 0;
#X connect 13 0 21 0;
#X connect 13 1 12 0;
#X connect 13 1 14 0;
#X connect 13 1 17 0;
#X connect 13 1 22 0;
#X connect 13 2 12 0;
#X connect 13 2 15 0;
#X connect 13 2 16 0;
#X connect 13 2 23 0;
#X connect 14 0 10 1;
#X connect 15 0 10 1;
#X connect 16 0 18 1;
#X connect 17 0 18 1;
#X connect 18 0 19 0;
#X connect 20 0 13 0;
#X connect 21 0 24 0;
#X connect 22 0 24 0;
#X connect 23 0 24 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 29 0 31 0;
#X connect 31 0 30 0;
#X restore 447 86 pd sources;
#X obj 546 69 tgl 17 0 empty empty loop-sample 0 -6 0 8 -262144 -1
-1 0 1;
#N canvas 0 0 450 300 graph1 0;
#X array testinput 100 float 3;
#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0;
#X coords 0 1 99 -1 100 70 1;
#X restore 642 130 graph;
#X obj 513 27 hradio 15 1 0 3 \$0-select-input empty source 0 -6 0
8 -262144 -1 -1 0;
#X obj 521 69 bng 17 250 50 0 empty empty play 0 -6 0 8 -262144 -1
-1;
#X symbolatom 513 42 8 0 0 0 - #0-label -;
#X msg 570 69 load;
#N canvas 0 0 763 487 amp-segregation 0;
#X obj 36 148 listswap;
#X obj 37 49 tabplay~ testinput;
#N canvas 0 0 450 300 peakit 0;
#X obj 70 58 inlet~;
#X obj 67 95 rfft~;
#X obj 67 122 peakit~;
#X obj 67 152 outlet;
#X obj 116 152 outlet;
#X obj 200 125 switch~ 1024 1 1;
#X obj 201 95 inlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 2 1;
#X connect 2 0 3 0;
#X connect 2 1 4 0;
#X connect 6 0 5 0;
#X restore 36 118 pd peakit;
#X obj 118 92 tgl 15 0 empty empty on 0 -6 0 12 -262144 -1 -1 0 1;
#X obj 171 49 spigot;
#X obj 222 49 tgl 15 0 empty empty loop 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 37 34 bng 15 250 50 0 empty empty play 0 -6 0 8 -262144 -1 -1
;
#X obj 36 207 listmoses;
#X msg 113 138 10 100;
#X obj 113 155 unpack f f;
#X floatatom 113 172 5 0 0 0 - - -;
#X floatatom 178 172 5 0 0 0 - - -;
#X obj 113 121 loadbang;
#X floatatom 393 319 0 0 0 0 - - -;
#X floatatom 424 302 0 0 0 0 - - -;
#X floatatom 455 285 0 0 0 0 - - -;
#X floatatom 486 268 0 0 0 0 - - -;
#X floatatom 541 319 0 0 0 0 - - -;
#X floatatom 572 302 0 0 0 0 - - -;
#X floatatom 603 285 0 0 0 0 - - -;
#X floatatom 634 268 0 0 0 0 - - -;
#X floatatom 245 320 0 0 0 0 - - -;
#X floatatom 276 302 0 0 0 0 - - -;
#X floatatom 307 285 0 0 0 0 - - -;
#X floatatom 338 268 0 0 0 0 - - -;
#X text 413 235 freqs-MID;
#X obj 245 251 unpack f f f f;
#X obj 393 251 unpack f f f f;
#X obj 541 251 unpack f f f f;
#X text 560 234 freqs-LOUD;
#X text 260 235 freqs-QUIET;
#X floatatom 184 423 0 0 0 0 - - -;
#X floatatom 215 406 0 0 0 0 - - -;
#X floatatom 246 389 0 0 0 0 - - -;
#X floatatom 277 372 0 0 0 0 - - -;
#X floatatom 332 423 0 0 0 0 - - -;
#X floatatom 363 406 0 0 0 0 - - -;
#X floatatom 394 389 0 0 0 0 - - -;
#X floatatom 425 372 0 0 0 0 - - -;
#X floatatom 36 424 0 0 0 0 - - -;
#X floatatom 67 406 0 0 0 0 - - -;
#X floatatom 98 389 0 0 0 0 - - -;
#X floatatom 129 372 0 0 0 0 - - -;
#X obj 36 355 unpack f f f f;
#X obj 184 355 unpack f f f f;
#X obj 332 355 unpack f f f f;
#X text 51 339 mags-QUIET;
#X text 204 339 mags-MID;
#X text 351 338 mags-LOUD;
#X text 336 251 f...;
#X text 484 251 f...;
#X text 632 251 f...;
#X text 127 355 f...;
#X text 275 355 f...;
#X text 423 355 f...;
#X text 243 85 peakit~ / listmoses can also be used to segregate frequencies
according to their power. You nee the listswap abstraction for this.
1st 4 elements of each list shown...;
#X connect 0 0 7 0;
#X connect 0 1 7 1;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 0 0;
#X connect 2 1 0 1;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 4 1;
#X connect 6 0 1 0;
#X connect 7 0 43 0;
#X connect 7 1 44 0;
#X connect 7 2 45 0;
#X connect 7 3 26 0;
#X connect 7 4 27 0;
#X connect 7 5 28 0;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 11 0;
#X connect 10 0 7 2;
#X connect 11 0 7 3;
#X connect 12 0 8 0;
#X connect 26 0 21 0;
#X connect 26 1 22 0;
#X connect 26 2 23 0;
#X connect 26 3 24 0;
#X connect 27 0 13 0;
#X connect 27 1 14 0;
#X connect 27 2 15 0;
#X connect 27 3 16 0;
#X connect 28 0 17 0;
#X connect 28 1 18 0;
#X connect 28 2 19 0;
#X connect 28 3 20 0;
#X connect 43 0 39 0;
#X connect 43 1 40 0;
#X connect 43 2 41 0;
#X connect 43 3 42 0;
#X connect 44 0 31 0;
#X connect 44 1 32 0;
#X connect 44 2 33 0;
#X connect 44 3 34 0;
#X connect 45 0 35 0;
#X connect 45 1 36 0;
#X connect 45 2 37 0;
#X connect 45 3 38 0;
#X restore 69 235 pd amp-segregation;
#X obj 613 119 tgl 15 0 empty \$0-main-on on 0 -6 0 8 -262144 -1 -1
0 1;
#X floatatom 146 389 0 0 0 0 - - -;
#X floatatom 177 372 0 0 0 0 - - -;
#X floatatom 208 355 0 0 0 0 - - -;
#X floatatom 239 338 0 0 0 0 - - -;
#X floatatom 269 389 0 0 0 0 - - -;
#X floatatom 300 372 0 0 0 0 - - -;
#X floatatom 331 355 0 0 0 0 - - -;
#X floatatom 362 338 0 0 0 0 - - -;
#X floatatom 23 390 0 0 0 0 - - -;
#X floatatom 54 372 0 0 0 0 - - -;
#X floatatom 85 355 0 0 0 0 - - -;
#X floatatom 116 338 0 0 0 0 - - -;
#X text 166 305 freqs-MID;
#X obj 23 321 unpack f f f f;
#X obj 146 321 unpack f f f f;
#X obj 269 321 unpack f f f f;
#X floatatom 516 389 0 0 0 0 - - -;
#X floatatom 547 372 0 0 0 0 - - -;
#X floatatom 578 355 0 0 0 0 - - -;
#X floatatom 609 338 0 0 0 0 - - -;
#X floatatom 640 389 0 0 0 0 - - -;
#X floatatom 671 372 0 0 0 0 - - -;
#X floatatom 702 355 0 0 0 0 - - -;
#X floatatom 733 338 0 0 0 0 - - -;
#X floatatom 392 390 0 0 0 0 - - -;
#X floatatom 423 372 0 0 0 0 - - -;
#X floatatom 454 355 0 0 0 0 - - -;
#X floatatom 485 338 0 0 0 0 - - -;
#X obj 392 321 unpack f f f f;
#X obj 516 321 unpack f f f f;
#X obj 640 321 unpack f f f f;
#X text 536 305 mags-MID;
#X text 114 321 f...;
#X text 237 321 f...;
#X text 360 321 f...;
#X text 483 321 f...;
#X text 607 321 f...;
#X text 731 321 f...;
#X text 407 305 mags-LOW;
#X text 659 305 mags-HIGH;
#X text 38 305 freqs-LOW;
#X text 288 304 freqs-HIGH;
#X obj 313 151 unpack f f f f f f f f;
#X text 329 133 it's in here--->;
#X obj 17 21 peakit~;
#X text 17 21 peakit~ - FFT peak frequencies and magnitudes;
#X text 85 37 (c) Edward Kelly 2005 - GNU GPL;
#X connect 0 0 10 0;
#X connect 0 0 71 0;
#X connect 0 1 10 1;
#X connect 1 0 20 0;
#X connect 10 0 42 0;
#X connect 10 1 43 0;
#X connect 10 2 44 0;
#X connect 10 3 57 0;
#X connect 10 4 58 0;
#X connect 10 5 59 0;
#X connect 11 0 10 2;
#X connect 12 0 10 3;
#X connect 13 0 11 0;
#X connect 13 1 12 0;
#X connect 14 0 0 1;
#X connect 15 0 19 0;
#X connect 16 0 1 0;
#X connect 17 0 16 0;
#X connect 19 0 13 0;
#X connect 20 0 0 0;
#X connect 21 0 20 1;
#X connect 24 0 20 1;
#X connect 26 0 20 1;
#X connect 28 0 0 2;
#X connect 42 0 37 0;
#X connect 42 1 38 0;
#X connect 42 2 39 0;
#X connect 42 3 40 0;
#X connect 43 0 29 0;
#X connect 43 1 30 0;
#X connect 43 2 31 0;
#X connect 43 3 32 0;
#X connect 44 0 33 0;
#X connect 44 1 34 0;
#X connect 44 2 35 0;
#X connect 44 3 36 0;
#X connect 57 0 53 0;
#X connect 57 1 54 0;
#X connect 57 2 55 0;
#X connect 57 3 56 0;
#X connect 58 0 45 0;
#X connect 58 1 46 0;
#X connect 58 2 47 0;
#X connect 58 3 48 0;
#X connect 59 0 49 0;
#X connect 59 1 50 0;
#X connect 59 2 51 0;
#X connect 59 3 52 0;
#X connect 71 0 2 0;
#X connect 71 1 3 0;
#X connect 71 2 4 0;
#X connect 71 3 5 0;
#X connect 71 4 6 0;
#X connect 71 5 7 0;
#X connect 71 6 8 0;
#X connect 71 7 9 0;