/
splitspec~-help.pd
404 lines (404 loc) · 12.8 KB
/
splitspec~-help.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
#N canvas 531 40 755 671 12;
#X obj 40 139 noise~;
#N canvas 68 56 1298 641 splitspec-rfft 0;
#X obj 33 76 inlet~;
#X obj 33 520 outlet~;
#X obj 33 146 rfft~, f 6;
#X obj 33 581 block~ 1024 8;
#X obj 33 335 poltocar~;
#X obj 33 365 rifft~;
#X obj 33 467 windowvec~;
#X obj 33 395 *~ 0;
#X obj 1107 163 *;
#X msg 1059 85 1 1024 8;
#X obj 1059 116 unpack f f f;
#X obj 1059 195 /;
#X floatatom 1059 227 12 0 0 0 - - -;
#X text 962 228 rescale factor;
#X obj 1059 54 loadbang;
#X obj 1059 256 s \$0-rescale;
#X obj 67 385 r \$0-rescale;
#X obj 161 520 outlet~;
#X obj 161 343 poltocar~;
#X obj 161 373 rifft~;
#X obj 161 467 windowvec~;
#X obj 161 403 *~ 0;
#X obj 195 393 r \$0-rescale;
#X obj 280 520 outlet~;
#X obj 280 343 poltocar~;
#X obj 280 373 rifft~;
#X obj 280 467 windowvec~;
#X obj 280 403 *~ 0;
#X obj 314 393 r \$0-rescale;
#X obj 407 520 outlet~;
#X obj 407 351 poltocar~;
#X obj 407 381 rifft~;
#X obj 407 467 windowvec~;
#X obj 407 411 *~ 0;
#X obj 441 401 r \$0-rescale;
#X obj 537 520 outlet~;
#X obj 537 353 poltocar~;
#X obj 537 383 rifft~;
#X obj 537 467 windowvec~;
#X obj 537 413 *~ 0;
#X obj 571 403 r \$0-rescale;
#X obj 664 520 outlet~;
#X obj 664 361 poltocar~;
#X obj 664 391 rifft~;
#X obj 664 467 windowvec~;
#X obj 664 421 *~ 0;
#X obj 698 411 r \$0-rescale;
#X obj 783 520 outlet~;
#X obj 783 361 poltocar~;
#X obj 783 391 rifft~;
#X obj 783 467 windowvec~;
#X obj 783 421 *~ 0;
#X obj 817 411 r \$0-rescale;
#X obj 910 520 outlet~;
#X obj 910 369 poltocar~;
#X obj 910 399 rifft~;
#X obj 910 467 windowvec~;
#X obj 910 429 *~ 0;
#X obj 944 419 r \$0-rescale;
#X obj 444 100 inlet;
#X obj 501 100 inlet;
#X obj 562 100 inlet;
#X obj 626 100 inlet;
#X obj 1060 520 outlet;
#X obj 1199 523 outlet;
#X obj 33 281 lyonpotpourri/splitspec~ 8, f 159;
#X obj 33 108 lyonpotpourri/windowvec~;
#X obj 33 181 lyonpotpourri/cartopol~;
#X text 140 582 <= set FFT size to 1024 with overlap factor 8;
#X obj 1060 465 list prepend set;
#X obj 1060 489 list trim;
#X connect 0 0 66 0;
#X connect 2 0 67 0;
#X connect 2 1 67 1;
#X connect 4 0 5 0;
#X connect 4 1 5 1;
#X connect 5 0 7 0;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X connect 8 0 11 1;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 8 0;
#X connect 10 2 8 1;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 14 0 9 0;
#X connect 16 0 7 1;
#X connect 18 0 19 0;
#X connect 18 1 19 1;
#X connect 19 0 21 0;
#X connect 20 0 17 0;
#X connect 21 0 20 0;
#X connect 22 0 21 1;
#X connect 24 0 25 0;
#X connect 24 1 25 1;
#X connect 25 0 27 0;
#X connect 26 0 23 0;
#X connect 27 0 26 0;
#X connect 28 0 27 1;
#X connect 30 0 31 0;
#X connect 30 1 31 1;
#X connect 31 0 33 0;
#X connect 32 0 29 0;
#X connect 33 0 32 0;
#X connect 34 0 33 1;
#X connect 36 0 37 0;
#X connect 36 1 37 1;
#X connect 37 0 39 0;
#X connect 38 0 35 0;
#X connect 39 0 38 0;
#X connect 40 0 39 1;
#X connect 42 0 43 0;
#X connect 42 1 43 1;
#X connect 43 0 45 0;
#X connect 44 0 41 0;
#X connect 45 0 44 0;
#X connect 46 0 45 1;
#X connect 48 0 49 0;
#X connect 48 1 49 1;
#X connect 49 0 51 0;
#X connect 50 0 47 0;
#X connect 51 0 50 0;
#X connect 52 0 51 1;
#X connect 54 0 55 0;
#X connect 54 1 55 1;
#X connect 55 0 57 0;
#X connect 56 0 53 0;
#X connect 57 0 56 0;
#X connect 58 0 57 1;
#X connect 59 0 65 0;
#X connect 60 0 65 2;
#X connect 61 0 65 3;
#X connect 62 0 65 4;
#X connect 65 0 4 0;
#X connect 65 1 4 1;
#X connect 65 2 18 0;
#X connect 65 3 18 1;
#X connect 65 4 24 0;
#X connect 65 5 24 1;
#X connect 65 6 30 0;
#X connect 65 7 30 1;
#X connect 65 8 36 0;
#X connect 65 9 36 1;
#X connect 65 10 42 0;
#X connect 65 11 42 1;
#X connect 65 12 48 0;
#X connect 65 13 48 1;
#X connect 65 14 54 0;
#X connect 65 15 54 1;
#X connect 65 16 69 0;
#X connect 65 17 64 0;
#X connect 66 0 2 0;
#X connect 67 0 65 0;
#X connect 67 1 65 1;
#X connect 69 0 70 0;
#X connect 70 0 63 0;
#X restore 40 256 pd splitspec-rfft;
#X obj 368 230 hsl 128 15 0 1 0 0 empty empty manual_override_controller
-2 -8 0 10 -204786 -1 -1 0 1;
#X obj 368 156 hsl 128 15 0 1 0 0 empty empty table_offset -2 -8 0
10 -204786 -1 -1 0 1;
#X obj 368 193 hsl 128 15 0 1 0 0 empty empty bin_offset -2 -8 0 10
-204786 -1 -1 0 1;
#X obj 114 169 r splitspec-help-msgs;
#N canvas 197 462 884 460 messages 0;
#X msg 322 119 scramble;
#X obj 440 85 metro 5000;
#X obj 440 51 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 44 180 spiral;
#X obj 395 154 loadbang;
#X msg 395 183 ramptime 5000;
#X msg 527 243 manual_override \$1;
#X obj 527 205 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 461 45 use for constantly changing spectra;
#X msg 222 113 bypass \$1;
#X obj 222 87 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 337 302 s splitspec-help-msgs;
#X text 545 206 slider control of x-fade amount;
#X text 245 86 turn off spectral splitting;
#X text 490 176 interpolation time in ms.;
#X text 91 175 spiral configuration;
#X text 27 27 break into contiguous blocks of spectrum (power of 2
only);
#X msg 30 55 squantize 7;
#X text 381 120 scramble bin assignments;
#X connect 0 0 11 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 11 0;
#X connect 4 0 5 0;
#X connect 5 0 11 0;
#X connect 6 0 11 0;
#X connect 7 0 6 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 17 0 11 0;
#X restore 40 473 pd messages;
#X floatatom 40 549 5 0 0.25 0 - - -;
#X obj 43 524 hsl 128 15 0 2 0 0 empty empty gain -2 -8 0 10 -204800
-1 -1 0 1;
#X obj 40 577 s splitspec-help-mgain;
#N canvas 0 22 1204 446 gain8 0;
#X obj 36 44 inlet~;
#X obj 36 106 outlet~;
#X obj 36 76 *~;
#X obj 79 44 r splitspec-help-mgain;
#X obj 223 44 inlet~;
#X obj 223 106 outlet~;
#X obj 223 76 *~;
#X obj 266 44 r splitspec-help-mgain;
#X obj 409 44 inlet~;
#X obj 409 106 outlet~;
#X obj 409 76 *~;
#X obj 452 44 r splitspec-help-mgain;
#X obj 596 44 inlet~;
#X obj 596 106 outlet~;
#X obj 596 76 *~;
#X obj 639 44 r splitspec-help-mgain;
#X obj 781 44 inlet~;
#X obj 781 106 outlet~;
#X obj 781 76 *~;
#X obj 824 44 r splitspec-help-mgain;
#X obj 968 44 inlet~;
#X obj 968 106 outlet~;
#X obj 968 76 *~;
#X obj 1011 44 r splitspec-help-mgain;
#X obj 1154 44 inlet~;
#X obj 1154 106 outlet~;
#X obj 1154 76 *~;
#X obj 1197 44 r splitspec-help-mgain;
#X obj 1341 44 inlet~;
#X obj 1341 106 outlet~;
#X obj 1341 76 *~;
#X obj 1384 44 r splitspec-help-mgain, f 35;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 6 0 5 0;
#X connect 7 0 6 1;
#X connect 8 0 10 0;
#X connect 10 0 9 0;
#X connect 11 0 10 1;
#X connect 12 0 14 0;
#X connect 14 0 13 0;
#X connect 15 0 14 1;
#X connect 16 0 18 0;
#X connect 18 0 17 0;
#X connect 19 0 18 1;
#X connect 20 0 22 0;
#X connect 22 0 21 0;
#X connect 23 0 22 1;
#X connect 24 0 26 0;
#X connect 26 0 25 0;
#X connect 27 0 26 1;
#X connect 28 0 30 0;
#X connect 30 0 29 0;
#X connect 31 0 30 1;
#X restore 40 314 pd gain8;
#X floatatom 366 297 5 0 0 0 sync-phase - -;
#N canvas 244 54 706 474 storage 0;
#X obj 191 298 s splitspec-help-msgs;
#X msg 85 125 store \$1;
#X msg 80 82 1;
#X msg 119 79 2;
#X msg 159 80 3;
#X msg 202 178 recall \$1;
#X msg 212 133 1;
#X msg 251 130 2;
#X msg 291 131 3;
#X text 247 55 store and then recall bin configuration patterns;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X restore 293 473 pd storage;
#N canvas 600 60 737 752 current-bin-configuration 0;
#X obj 123 50 inlet;
#X msg 123 105 119 71 363 150 306 13 72 392 318 56 224 446 259 305
60 77 460 136 334 273 245 177 276 216 415 59 10 196 341 252 380 499
11 299 172 164 137 465 186 495 46 201 366 483 411 32 452 85 28 503
484 204 396 243 15 418 487 62 65 228 425 190 459 170 101 300 174 19
330 406 116 250 0 225 80 491 402 436 407 6 304 86 102 473 193 171 222
340 67 38 493 323 182 400 281 183 369 138 58 132 368 51 274 361 279
320 247 210 168 275 474 504 155 249 153 78 428 322 349 489 21 126 388
79 422 105 103 485 139 440 370 202 37 444 129 347 229 337 121 115 287
98 100 123 433 68 313 27 203 291 420 285 188 419 142 200 93 424 451
360 382 89 109 73 207 508 356 134 296 286 26 107 397 403 234 54 352
223 117 263 44 232 246 335 409 146 221 355 33 52 143 426 87 135 288
152 39 497 265 173 376 227 477 449 181 57 272 253 500 84 293 343 256
214 448 266 342 124 258 254 447 441 3 405 455 381 40 486 36 328 18
336 490 393 106 348 365 464 244 269 437 235 442 97 470 35 159 481 61
297 50 231 506 83 149 408 371 439 280 133 374 378 310 70 282 31 466
482 63 76 395 319 213 454 333 443 469 505 401 377 197 120 2 208 189
468 271 91 364 430 283 338 41 488 354 151 289 112 176 127 154 390 421
262 404 438 267 195 344 414 431 205 8 130 472 507 277 384 233 463 331
509 158 248 498 450 255 169 99 389 165 180 45 209 284 29 362 191 69
268 412 314 315 353 429 49 206 108 96 480 329 53 492 479 17 471 125
194 23 161 242 92 218 311 432 166 456 7 398 317 391 239 111 346 64
212 238 423 22 387 339 427 292 30 461 413 110 316 324 394 476 332 358
198 359 379 307 386 128 453 74 494 373 156 94 5 434 148 326 118 20
230 383 241 82 192 399 264 290 199 88 270 511 122 16 179 75 385 462
295 215 66 211 478 187 42 43 294 278 309 251 308 114 113 184 501 372
303 90 240 357 147 417 47 261 445 167 144 4 375 301 48 81 321 257 416
9 12 55 302 34 260 219 457 435 458 220 95 367 467 163 24 350 226 14
325 162 141 178 104 217 185 25 327 160 312 410 351 510 145 131 175
236 237 298 502 345 475 140 496 1 157;
#X msg 176 27 showstate;
#X obj 176 55 s splitspec-help-msgs;
#X text 255 29 report current state of split spectrum;
#N canvas 481 729 777 645 recall-previous-configuration 0;
#X obj 123 37 inlet;
#X msg 123 105 setstate 119 71 363 150 306 13 72 392 318 56 224 446
259 305 60 77 460 136 334 273 245 177 276 216 415 59 10 196 341 252
380 499 11 299 172 164 137 465 186 495 46 201 366 483 411 32 452 85
28 503 484 204 396 243 15 418 487 62 65 228 425 190 459 170 101 300
174 19 330 406 116 250 0 225 80 491 402 436 407 6 304 86 102 473 193
171 222 340 67 38 493 323 182 400 281 183 369 138 58 132 368 51 274
361 279 320 247 210 168 275 474 504 155 249 153 78 428 322 349 489
21 126 388 79 422 105 103 485 139 440 370 202 37 444 129 347 229 337
121 115 287 98 100 123 433 68 313 27 203 291 420 285 188 419 142 200
93 424 451 360 382 89 109 73 207 508 356 134 296 286 26 107 397 403
234 54 352 223 117 263 44 232 246 335 409 146 221 355 33 52 143 426
87 135 288 152 39 497 265 173 376 227 477 449 181 57 272 253 500 84
293 343 256 214 448 266 342 124 258 254 447 441 3 405 455 381 40 486
36 328 18 336 490 393 106 348 365 464 244 269 437 235 442 97 470 35
159 481 61 297 50 231 506 83 149 408 371 439 280 133 374 378 310 70
282 31 466 482 63 76 395 319 213 454 333 443 469 505 401 377 197 120
2 208 189 468 271 91 364 430 283 338 41 488 354 151 289 112 176 127
154 390 421 262 404 438 267 195 344 414 431 205 8 130 472 507 277 384
233 463 331 509 158 248 498 450 255 169 99 389 165 180 45 209 284 29
362 191 69 268 412 314 315 353 429 49 206 108 96 480 329 53 492 479
17 471 125 194 23 161 242 92 218 311 432 166 456 7 398 317 391 239
111 346 64 212 238 423 22 387 339 427 292 30 461 413 110 316 324 394
476 332 358 198 359 379 307 386 128 453 74 494 373 156 94 5 434 148
326 118 20 230 383 241 82 192 399 264 290 199 88 270 511 122 16 179
75 385 462 295 215 66 211 478 187 42 43 294 278 309 251 308 114 113
184 501 372 303 90 240 357 147 417 47 261 445 167 144 4 375 301 48
81 321 257 416 9 12 55 302 34 260 219 457 435 458 220 95 367 467 163
24 350 226 14 325 162 141 178 104 217 185 25 327 160 312 410 351 510
145 131 175 236 237 298 502 345 475 140 496 1 157;
#X obj 123 553 s splitspec-help-msgs;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 133 616 pd recall-previous-configuration;
#X obj 133 558 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 157 561 use "setstate" method to recall a previously stored
spectrum split;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X connect 6 0 5 0;
#X restore 356 378 pd current-bin-configuration;
#X obj 40 440 dac~ 1 2 3 4 5 6 7 8, f 35;
#X msg 136 473 <= how it works;
#X text 300 441 <= 8 channel output for spatialization;
#X obj 29 6 lpp-icon splitspec~;
#X text 33 94 [splitspec~] divides a spectrum into N separate parts
(N must be a power of 2 \, less than the FFT size) \, which can then
be spatialized. Smooth transitions between spectral divisions are provided.
, f 105;
#X text 371 472 <= save configurations;
#X msg 253 575 \; pd dsp \$1;
#X obj 253 533 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 276 533 turn on DSP;
#X text 251 41 - FFT-based spectral splitting;
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 1 1 10 1;
#X connect 1 2 10 2;
#X connect 1 3 10 3;
#X connect 1 4 10 4;
#X connect 1 5 10 5;
#X connect 1 6 10 6;
#X connect 1 7 10 7;
#X connect 1 8 13 0;
#X connect 1 9 11 0;
#X connect 2 0 1 4;
#X connect 3 0 1 2;
#X connect 4 0 1 3;
#X connect 5 0 1 1;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 10 0 14 0;
#X connect 10 1 14 1;
#X connect 10 2 14 2;
#X connect 10 3 14 3;
#X connect 10 4 14 4;
#X connect 10 5 14 5;
#X connect 10 6 14 6;
#X connect 10 7 14 7;
#X connect 21 0 20 0;