-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathpp.fft-partconv~.pd
755 lines (755 loc) · 18.2 KB
/
pp.fft-partconv~.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
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
#N canvas 187 135 848 562 10;
#X obj 404 453 *~;
#X obj 296 103 inlet~;
#X obj 675 103 inlet;
#X obj 404 488 outlet~;
#N canvas 176 211 692 496 in 0;
#X obj 125 323 s \$0-open;
#X obj 125 300 symbol;
#X obj 125 38 inlet;
#X obj 199 321 clip 0 100;
#X obj 199 342 s \$0-drywetr;
#X obj 212 274 loadbang;
#X msg 212 295 100;
#N canvas 531 153 450 300 set 0;
#X obj 161 48 inlet;
#X obj 161 69 symbol;
#X obj 193 131 array size;
#X obj 193 154 s \$0-ir-length;
#X obj 161 236 s \$0-set-imp;
#X msg 53 159 label \$1;
#X msg 161 214 set \$1;
#X obj 305 127 s \$0-irname;
#X obj 161 89 t s b s s;
#X obj 53 181 s \$0-irname-guir;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 2 0 3 0;
#X connect 5 0 9 0;
#X connect 6 0 4 0;
#X connect 8 0 5 0;
#X connect 8 0 6 0;
#X connect 8 1 2 0;
#X connect 8 2 2 1;
#X connect 8 3 7 0;
#X restore 239 242 pd set;
#N canvas 3 57 617 375 blocksize 0;
#X obj 184 76 t f f;
#X obj 184 212 spigot;
#X text 249 141 prevent setting blocksizes that are not a power of 2;
#X msg 244 244 blocksize is not a power of 2;
#X obj 184 294 outlet;
#X obj 244 222 sel 0;
#X obj 184 54 inlet;
#X obj 244 265 print pp.fft-partconv~;
#X obj 217 122 expr (($f1-1) & $f1) == 0;
#X connect 0 0 1 0;
#X connect 0 1 8 0;
#X connect 1 0 4 0;
#X connect 3 0 7 0;
#X connect 5 0 3 0;
#X connect 6 0 0 0;
#X connect 8 0 1 1;
#X connect 8 0 5 0;
#X restore 296 362 pd blocksize;
#X obj 305 268 f \$1;
#X obj 305 289 sel 0;
#X msg 305 312 1024;
#X obj 435 205 loadbang;
#X obj 462 399 s \$0-max-blocksize;
#X obj 462 301 sel 0;
#X obj 462 280 f \$2;
#X msg 462 327 65536;
#N canvas 3 57 617 375 blocksize 0;
#X obj 184 76 t f f;
#X obj 184 212 spigot;
#X text 249 141 prevent setting blocksizes that are not a power of 2;
#X obj 184 294 outlet;
#X obj 244 222 sel 0;
#X obj 184 54 inlet;
#X obj 244 265 print pp.fft-partconv~;
#X msg 244 244 max. blocksize is not a power of 2;
#X obj 217 122 expr (($f1-1) & $f1) == 0;
#X connect 0 0 1 0;
#X connect 0 1 8 0;
#X connect 1 0 3 0;
#X connect 4 0 7 0;
#X connect 5 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 1 1;
#X connect 8 0 4 0;
#X restore 462 375 pd blocksize;
#X obj 435 228 t b b;
#X obj 296 338 change;
#X obj 462 351 change;
#X obj 296 385 max 128;
#X obj 296 409 s \$0-min-blocksize;
#N canvas 698 546 200 251 route 0;
#X obj 20 20 inlet;
#X obj 30 60 route save recall;
#X obj 30 85 route float;
#X obj 97 111 route float;
#X obj 30 136 s \$0-save;
#X obj 30 108 i;
#X obj 98 133 i;
#X obj 98 161 s \$0-recall;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X restore 148 81 pd route save-recall;
#N canvas 362 125 450 479 recall 0;
#X obj 49 145 outlet;
#N canvas 3 54 450 600 listsplit 0;
#X obj 158 23 inlet;
#X obj 220 87 list length;
#X obj 220 113 until;
#X obj 182 150 f;
#X obj 278 150 + 1;
#X msg 265 111 0;
#X obj 182 226 list store;
#X msg 182 202 get \$1 1;
#X obj 154 367 list split;
#X obj 222 342 f;
#X obj 154 334 list;
#X obj 98 124 list;
#X obj 182 389 list split 1;
#X obj 154 274 t bang bang bang;
#X obj 182 179 t f f;
#X obj 158 48 t l l l b;
#X obj 154 473 outlet;
#X obj 154 440 list trim;
#X obj 163 248 sel |;
#X text 275 197 hacky split list at "|";
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 14 0;
#X connect 4 0 3 1;
#X connect 5 0 3 1;
#X connect 6 0 18 0;
#X connect 7 0 6 0;
#X connect 8 0 17 0;
#X connect 8 1 12 0;
#X connect 9 0 8 1;
#X connect 10 0 8 0;
#X connect 11 0 15 0;
#X connect 12 1 11 0;
#X connect 13 0 10 0;
#X connect 13 1 9 0;
#X connect 13 2 2 1;
#X connect 14 0 7 0;
#X connect 14 1 9 1;
#X connect 15 0 1 0;
#X connect 15 1 10 1;
#X connect 15 2 6 1;
#X connect 15 3 5 0;
#X connect 17 0 16 0;
#X connect 18 0 13 0;
#X restore 49 117 pd listsplit;
#X obj 49 24 r \$0-recall;
#X obj 49 54 pipe 1;
#X obj 221 409 text fromlist \$0-savestates;
#X obj 49 77 text get \$0-savestates;
#X msg 253 246 21;
#X obj 253 269 until;
#X obj 253 292 f;
#X obj 300 295 + 1;
#X obj 253 315 t b f;
#X obj 253 367 text set \$0-savestates;
#X obj 221 114 text tolist \$0-savestates;
#X msg 253 342 list empty_slot;
#X obj 221 160 t a b;
#X obj 151 166 loadbang;
#X obj 221 137 savestate;
#X obj 221 33 text define \$0-savestates;
#X obj 151 189 del 0;
#X msg 298 199 0;
#X obj 253 220 spigot 1;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 0 10 0;
#X connect 9 0 8 1;
#X connect 10 0 13 0;
#X connect 10 1 11 1;
#X connect 12 0 16 0;
#X connect 13 0 11 0;
#X connect 14 0 4 0;
#X connect 14 1 19 0;
#X connect 15 0 18 0;
#X connect 16 0 14 0;
#X connect 16 1 12 0;
#X connect 18 0 20 0;
#X connect 19 0 20 1;
#X connect 20 0 6 0;
#X restore 214 107 pd recall;
#X obj 125 137 route loadIR dry/wet set blocksize max-blocksize;
#X connect 1 0 0 0;
#X connect 2 0 23 0;
#X connect 2 0 25 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 8 0 21 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 1 19 0;
#X connect 11 0 19 0;
#X connect 12 0 18 0;
#X connect 14 0 16 0;
#X connect 14 1 20 0;
#X connect 15 0 14 0;
#X connect 16 0 20 0;
#X connect 17 0 13 0;
#X connect 18 0 9 0;
#X connect 18 1 15 0;
#X connect 19 0 8 0;
#X connect 20 0 17 0;
#X connect 21 0 22 0;
#X connect 24 0 25 0;
#X connect 25 0 1 0;
#X connect 25 1 3 0;
#X connect 25 2 7 0;
#X connect 25 3 19 0;
#X connect 25 4 20 0;
#X restore 675 125 pd in;
#N canvas 109 181 671 466 create 0;
#X obj 244 351 s pd-\$0-clone;
#X msg 224 378 connect 0 0 2 0 \, connect 2 0 1 0;
#X obj 224 401 s pd-\$0-container;
#X obj 205 280 t b b a;
#X obj 135 375 s \$0-loadbang;
#X obj 103 32 r \$0-ir-length;
#X obj 103 130 f;
#X obj 103 249 s \$0-nparts;
#N canvas 441 156 779 565 max-parts 0;
#X obj 326 18 inlet;
#X obj 120 9 inlet;
#X obj 326 57 log 2;
#X obj 311 173 +;
#X obj 340 281 +;
#X obj 311 278 f;
#X msg 379 244 0;
#X obj 120 423 f;
#X obj 252 269 <;
#X obj 147 292 t f f;
#X obj 252 292 sel 0;
#X obj 147 267 f;
#X obj 175 270 + 1;
#X obj 147 218 until;
#X msg 198 193 0;
#X obj 147 197 f;
#X obj 120 446 outlet;
#X obj 120 44 t bang bang bang float bang;
#X obj 162 172 + 2;
#X obj 162 150 expr $f2-$f1;
#X obj 377 57 log 2;
#X obj 377 20 inlet;
#X obj 377 78 t b f;
#X obj 311 196 expr pow(2 \, $f1);
#X obj 311 238 t b f;
#X obj 174 381 * 2;
#X connect 0 0 2 0;
#X connect 1 0 17 0;
#X connect 2 0 3 1;
#X connect 2 0 19 0;
#X connect 3 0 23 0;
#X connect 4 0 5 1;
#X connect 5 0 4 0;
#X connect 5 0 8 0;
#X connect 6 0 5 1;
#X connect 7 0 16 0;
#X connect 8 0 10 0;
#X connect 9 0 3 0;
#X connect 9 1 25 0;
#X connect 10 0 13 1;
#X connect 11 0 12 0;
#X connect 11 0 9 0;
#X connect 12 0 11 1;
#X connect 13 0 11 0;
#X connect 14 0 11 1;
#X connect 15 0 13 0;
#X connect 17 0 7 0;
#X connect 17 1 15 0;
#X connect 17 2 14 0;
#X connect 17 3 8 1;
#X connect 17 4 6 0;
#X connect 18 0 15 1;
#X connect 19 0 18 0;
#X connect 20 0 22 0;
#X connect 21 0 20 0;
#X connect 22 0 19 0;
#X connect 22 1 19 1;
#X connect 23 0 24 0;
#X connect 24 0 5 0;
#X connect 24 1 4 1;
#X connect 25 0 7 1;
#X restore 103 192 pd max-parts;
#X obj 383 26 r \$0-max-blocksize;
#X obj 103 152 sel 0;
#X obj 383 49 t b f;
#X obj 252 47 t b f f;
#X obj 252 23 r \$0-min-blocksize;
#X obj 205 244 pack 0 \$0 0;
#X msg 244 303 clear \, obj 300 50 inlet~ \, obj 100 100 clone pp.fft-partconv-part \$1 \$2 \$3 \, obj 100 200 outlet~ \, connect 0 0 1 1 \, connect 1 0 2 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X connect 3 1 1 0;
#X connect 3 2 15 0;
#X connect 5 0 6 0;
#X connect 6 0 10 0;
#X connect 8 0 7 0;
#X connect 8 0 14 0;
#X connect 9 0 11 0;
#X connect 10 1 8 0;
#X connect 11 0 6 0;
#X connect 11 1 8 2;
#X connect 12 0 6 0;
#X connect 12 1 8 1;
#X connect 12 2 14 2;
#X connect 13 0 12 0;
#X connect 14 0 3 0;
#X connect 15 0 0 0;
#X restore 674 219 pd create;
#N canvas 149 377 450 300 \$0-container 0;
#X obj 161 51 inlet~;
#X obj 161 166 outlet~;
#N canvas 574 57 450 300 \$0-clone 0;
#X restore 161 108 pd \$0-clone;
#X restore 403 381 pd \$0-container;
#X obj 435 453 /;
#X msg 435 432 1 \$1;
#N canvas 3 54 450 300 delay 0;
#X obj 234 102 inlet~;
#X obj 234 123 outlet~;
#X obj 309 125 block~ \$1;
#X obj 309 79 r \$0-min-blocksize;
#X msg 309 102 set \$1 1;
#X connect 0 0 1 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X restore 296 381 pd delay clean;
#X obj 103 130 hsl 130 15 0 100 0 0 \$0-gui \$0-guir Dry/Wet(%) 3 8 2 10 #e0e0e0 #000000 #000000 0 1;
#X obj 276 130 hsl 2 8 0 1 0 0 \$0-gui \$0-guir empty 3 8 2 10 #e0e0e0 #dcdcdc #000000 0 1;
#X obj 235 130 nbx 5 15 0 100 0 0 \$0-drywet \$0-drywetr empty 0 -8 2 10 #dcdcdc #000000 #000000 0 256;
#X msg 158 186 set \$1;
#X obj 75 167 i;
#X msg 75 188 set \$1;
#X obj 54 217 s \$0-drywet;
#X obj 118 115 hsl 160 15 0 100 0 0 \$0-irname-gui \$0-irname-guir empty.. 3 8 2 10 #e0e0e0 #dcdcdc #000000 0 1;
#X obj 100 115 bng 15 250 50 0 \$0-obng \$0-obngr empty 17 7 0 10 #dcdcdc #fcfcfc #000000;
#X obj 403 123 *~ 0.01;
#X obj 674 483 outlet;
#N canvas 688 168 486 485 outlet-message 0;
#X obj 179 340 list trim;
#X msg 116 318 addcomma;
#X msg 26 233 set;
#X obj 179 317 list prepend add2;
#X obj 160 423 outlet;
#X obj 166 14 r \$0-open;
#X obj 166 35 t b a;
#X obj 85 22 r \$0-drywet;
#X obj 228 36 t b f;
#X obj 113 154 pack 100 s 1024 3000;
#X obj 344 36 t b f;
#X obj 344 14 r \$0-max-blocksize;
#X msg 132 224 blocksize \$3 \, dry/wet \$1 \, loadIR \$2 \, max-blocksize \$4;
#X obj 228 15 r \$0-min-blocksize;
#X obj 85 45 t b f;
#X obj 85 98 del 0;
#X obj 85 121 f;
#X obj 160 260 t b a a;
#X obj 113 185 t b a b;
#N canvas 497 319 297 264 save 0;
#X obj 48 16 inlet;
#N canvas 690 259 481 384 collect 0;
#X obj 47 60 inlet;
#X obj 47 274 outlet;
#X obj 98 180 list;
#X obj 166 181 t l;
#X obj 47 225 list;
#X obj 98 139 list append |;
#X obj 47 126 del 0;
#X obj 47 82 t b a;
#X text 119 75 hacky thing... replaycing " \, " with "|";
#X connect 0 0 7 0;
#X connect 2 0 3 0;
#X connect 2 0 4 1;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 6 0 4 0;
#X connect 7 0 6 0;
#X connect 7 1 5 0;
#X restore 48 38 pd collect;
#X obj 117 16 r \$0-save;
#X obj 27 130 text set \$0-savestates;
#X obj 27 104 list;
#X obj 117 62 t b f;
#X obj 117 39 clip 0 20;
#X connect 0 0 1 0;
#X connect 1 0 4 1;
#X connect 2 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 0;
#X connect 5 1 3 1;
#X connect 6 0 5 0;
#X restore 199 285 pd save;
#X connect 0 0 4 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 6 1 9 1;
#X connect 7 0 14 0;
#X connect 8 0 15 0;
#X connect 8 1 9 2;
#X connect 9 0 18 0;
#X connect 10 0 15 0;
#X connect 10 1 9 3;
#X connect 11 0 10 0;
#X connect 12 0 17 0;
#X connect 13 0 8 0;
#X connect 14 0 15 0;
#X connect 14 1 16 1;
#X connect 15 0 16 0;
#X connect 16 0 9 0;
#X connect 17 0 1 0;
#X connect 17 1 3 0;
#X connect 17 2 19 0;
#X connect 18 0 4 0;
#X connect 18 1 12 0;
#X connect 18 2 2 0;
#X restore 674 459 pd outlet-message;
#X obj 435 409 r \$0-nparts;
#X text 587 526 philipp schmalfuß \, 2018/19;
#N canvas 158 131 743 528 load-IR 0;
#X obj 185 208 soundfiler;
#X obj 185 135 pack s \$0;
#X obj 185 351 s \$0-ir-length;
#N canvas 632 260 894 556 sondfile-info 0;
#X msg 386 77 label \$1;
#X msg 367 50 label empty..;
#X obj 367 27 loadbang;
#X obj 295 517 print pp.fft-partconv~;
#X obj 85 332 t f b;
#X obj 112 355 samplerate~;
#X obj 112 378 / 1000;
#X obj 85 402 /;
#X obj 85 8 r \$0-nparts;
#X obj 180 101 r \$0-min-blocksize;
#X obj 105 195 f;
#X obj 135 197 * 2;
#X obj 139 267 +;
#X obj 105 267 f;
#X obj 105 223 t b f;
#X msg 192 188 0;
#X obj 205 124 r \$0-max-blocksize;
#X obj 205 147 t b;
#X obj 180 148 f;
#X obj 105 166 until;
#X obj 85 99 t b f b b;
#X obj 85 292 f;
#X obj 295 461 pack f s;
#X msg 295 489 loaded \$1ms of IR \$2;
#X obj 241 308 r \$0-ir-length;
#X obj 226 333 <;
#X obj 226 356 sel 1;
#X obj 85 31 pipe 1;
#X obj 386 99 s \$0-irname-guir;
#X obj 338 127 s \$0-irname;
#X obj 340 438 r \$0-irname;
#X msg 226 381 IR length exceeds buffer;
#X obj 85 75 + 1;
#X obj 85 54 / 2;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 245 61 pd splitfilename;
#X obj 245 33 inlet;
#X connect 0 0 28 0;
#X connect 1 0 28 0;
#X connect 2 0 1 0;
#X connect 4 0 7 0;
#X connect 4 1 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 1;
#X connect 7 0 22 0;
#X connect 8 0 27 0;
#X connect 9 0 18 0;
#X connect 10 0 11 0;
#X connect 10 0 14 0;
#X connect 11 0 10 1;
#X connect 12 0 13 1;
#X connect 13 0 12 0;
#X connect 13 0 21 1;
#X connect 14 0 13 0;
#X connect 14 1 12 1;
#X connect 15 0 13 1;
#X connect 15 0 12 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 10 1;
#X connect 19 0 10 0;
#X connect 20 0 21 0;
#X connect 20 1 19 0;
#X connect 20 2 15 0;
#X connect 20 3 18 0;
#X connect 21 0 4 0;
#X connect 21 0 25 0;
#X connect 22 0 23 0;
#X connect 23 0 3 0;
#X connect 24 0 25 1;
#X connect 25 0 26 0;
#X connect 26 0 31 0;
#X connect 27 0 33 0;
#X connect 30 0 22 1;
#X connect 31 0 3 0;
#X connect 32 0 20 0;
#X connect 33 0 32 0;
#X connect 34 1 0 0;
#X connect 34 1 29 0;
#X connect 35 0 34 0;
#X restore 302 267 pd sondfile-info;
#X obj 275 40 r \$0-open;
#X obj 368 92 s \$0-open;
#X obj 243 305 s \$0-ir-samprate;
#X msg 243 284 \$1;
#X obj 275 67 t a a;
#X obj 561 83 table \$0-impulse;
#X obj 368 48 r \$0-obng;
#N canvas 344 211 890 454 pitchcorrection 0;
#X obj 168 14 r \$0-ir-samprate;
#X obj 193 59 samplerate~;
#X obj 168 83 ==;
#X obj 168 106 sel 0;
#X obj 230 372 line~;
#X obj 232 202 r \$0-ir-length;
#X obj 230 304 /;
#X obj 278 260 / 1000;
#X obj 230 328 pack;
#X msg 230 349 0 \, \$2 \$1;
#X obj 232 225 t f f;
#X obj 217 255 f;
#X obj 168 135 del 1;
#X obj 278 238 r \$0-ir-samprate;
#X obj 406 118 r \$0-ir-length;
#X obj 421 140 r \$0-ir-samprate;
#X obj 406 168 /;
#X obj 406 223 t f b;
#X obj 433 246 samplerate~;
#X obj 406 266 *;
#X obj 230 395 tabread4~ \$0-dummy;
#X obj 168 425 tabwrite~ \$0-impulse;
#X obj 406 287 array size \$0-impulse;
#X obj 391 198 f;
#X obj 168 36 t f b;
#X obj 29 208 print pp.fft-partconv~;
#X msg 29 184 correcting pitch..;
#X obj 168 157 t b b;
#X connect 0 0 24 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 3 0 26 0;
#X connect 4 0 20 0;
#X connect 5 0 10 0;
#X connect 6 0 8 0;
#X connect 7 0 6 1;
#X connect 8 0 9 0;
#X connect 9 0 4 0;
#X connect 10 0 11 1;
#X connect 10 1 8 1;
#X connect 11 0 6 0;
#X connect 12 0 27 0;
#X connect 13 0 7 0;
#X connect 14 0 16 0;
#X connect 15 0 16 1;
#X connect 16 0 23 1;
#X connect 17 0 19 0;
#X connect 17 1 18 0;
#X connect 18 0 19 1;
#X connect 19 0 22 0;
#X connect 20 0 21 0;
#X connect 23 0 17 0;
#X connect 24 0 2 0;
#X connect 24 1 1 0;
#X connect 26 0 25 0;
#X connect 27 0 11 0;
#X connect 27 0 21 0;
#X connect 27 1 23 0;
#X restore 185 388 pd pitchcorrection;
#X obj 561 109 table \$0-dummy;
#N canvas 522 220 600 405 openpanel 0;
#X obj 145 270 openpanel;
#X obj 145 47 f;
#X obj 175 48 + 1;
#X obj 145 70 sel 0;
#X obj 173 168 t b;
#X obj 145 20 inlet;
#X obj 145 293 outlet;
#X text 237 158 remember last directory;
#X obj 145 124 symbol ./;
#X obj 224 69 symbol;
#X obj 224 46 r \$0-open;
#X obj 173 210 symbol ./;
#N canvas 426 89 883 671 splitfilename 0;
#X obj 219 286 outlet;
#X text 263 289 filename;
#X obj 185 210 inlet;
#X obj 185 233 file splitname;
#X obj 185 256 list split 1;
#X obj 185 310 outlet;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X connect 4 1 0 0;
#X restore 224 93 pd splitfilename;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 8 0;
#X connect 3 1 4 0;
#X connect 4 0 11 0;
#X connect 5 0 1 0;
#X connect 8 0 0 0;
#X connect 9 0 12 0;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X connect 12 0 8 1;
#X connect 12 0 11 1;
#X restore 368 71 pd openpanel;
#X obj 383 199 soundfiler;
#X msg 383 176 read -resize \$1 \$2-dummy;
#X msg 185 183 read -resize \$1 \$2-impulse;
#X obj 185 158 t a a;
#N canvas 194 181 619 300 nofile 0;
#X obj 227 31 inlet;
#X obj 117 30 inlet;
#X obj 117 184 spigot 1;
#X obj 272 100 != 0;
#X obj 117 276 outlet;
#X obj 362 240 symbol empty..;
#X obj 443 29 inlet;
#X obj 227 55 t a a;
#X obj 227 277 outlet;
#X obj 362 280 outlet;
#X obj 227 184 spigot 1;
#X obj 362 138 sel 1 0;
#X obj 381 162 symbol;
#X msg 381 183 couldn't find \$1;
#X msg 272 78 \$1;
#X obj 381 206 print fft-partconv~;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 3 0 10 1;
#X connect 3 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 5 1;
#X connect 6 0 12 1;
#X connect 7 0 10 0;
#X connect 7 1 14 0;
#X connect 10 0 8 0;
#X connect 11 0 5 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 15 0;
#X connect 14 0 3 0;
#X restore 185 238 pd nofile;
#X f 20;
#X connect 0 0 18 0;
#X connect 0 1 18 1;
#X connect 1 0 17 0;
#X connect 4 0 8 0;
#X connect 7 0 6 0;
#X connect 8 0 1 0;
#X connect 8 1 18 2;
#X connect 10 0 13 0;
#X connect 13 0 5 0;
#X connect 15 0 14 0;
#X connect 16 0 0 0;
#X connect 17 0 16 0;
#X connect 17 1 15 0;
#X connect 18 0 2 0;
#X connect 18 1 7 0;
#X connect 18 2 3 0;
#X restore 674 194 pd load-IR;
#N canvas 2 57 745 476 dry/wet 0;
#X obj 182 27 inlet~;
#X obj 183 328 outlet~;
#X obj 183 237 *~;
#X obj 262 244 *~;
#X obj 548 119 line~;
#X obj 548 97 pack 0 30;
#X obj 315 194 -~;
#X obj 548 49 r \$0-drywet;
#X obj 548 72 / 50;
#X obj 329 170 clip~ 1 2;
#X obj 315 146 sig~ 2;
#X obj 518 165 clip~ 0 1;
#X obj 519 15 inlet~;
#X obj 518 119 +~;
#X obj 262 329 outlet~;
#X connect 0 0 2 0;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 14 0;
#X connect 4 0 13 1;
#X connect 5 0 4 0;
#X connect 6 0 2 1;
#X connect 7 0 8 0;
#X connect 8 0 5 0;
#X connect 9 0 6 1;
#X connect 10 0 6 0;
#X connect 11 0 3 1;
#X connect 12 0 13 0;
#X connect 13 0 11 0;
#X connect 13 0 9 0;
#X restore 297 283 pd dry/wet;
#X f 18;
#X obj 403 102 inlet~;
#X text 451 101 dry/wet;
#X connect 0 0 3 0;
#X connect 1 0 25 0;
#X connect 2 0 4 0;
#X connect 6 0 0 0;
#X connect 7 0 0 1;
#X connect 8 0 7 0;
#X connect 9 0 3 0;
#X connect 10 0 14 0;
#X connect 12 0 13 0;
#X connect 13 0 10 0;
#X connect 14 0 15 0;
#X connect 14 0 16 0;
#X connect 15 0 12 0;
#X connect 19 0 25 1;
#X connect 21 0 20 0;
#X connect 22 0 8 0;
#X connect 25 0 9 0;
#X connect 25 1 6 0;
#X connect 26 0 19 0;
#X coords 0 -1 1 1 180 48 1 100 100;