forked from patricksebastien/mtl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
FFT-BrickWallFilter~.pd
215 lines (215 loc) · 5.43 KB
/
FFT-BrickWallFilter~.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
#N canvas 1 82 1272 661 10;
#X obj 164 503 outlet~;
#X obj 256 502 outlet~;
#X obj 56 241 inlet~;
#X obj 1025 231 inlet params;
#X obj 1025 277 print PARAM_NOTFOUND;
#X obj 1025 253 tof/param route;
#X obj 1003 377 b;
#X obj 1004 406 tof/param gui;
#N canvas 0 50 1272 692 ARGO 0;
#X text 909 157 Nommer FFTGeneral???;
#N canvas 0 50 577 300 (subpatch) 0;
#X array \$0-hann 64 float 0;
#X coords 0 0 63 1 300 100 0;
#X restore 387 331 graph;
#X obj 465 518 osc~;
#X obj 464 539 *~ -0.5;
#X obj 464 561 +~ 0.5;
#X obj 397 596 tabwrite~ \$0-hann;
#X obj 481 389 samplerate~;
#X obj 462 414 swap;
#X obj 462 438 /;
#X obj 461 365 t f b f;
#X msg 669 567 resize \$1;
#X obj 641 596 s \$0-hann;
#X msg 522 486 0;
#X obj 462 328 pow 2;
#X msg 462 305 2;
#X obj 462 282 t b f;
#X obj 462 260 + 6;
#X text 793 132 calculate Hann window table (variable window size)
;
#X text 469 347 <- window-size;
#X text 557 348 64..65536;
#X text 471 265 <- 6..16;
#X text 794 96 Voir Pd-0.40.3-extended -> 3.audio.examples/I05.compressor.pd
-> pd hann-window;
#X obj 538 537 phasor~;
#N canvas 9 234 450 300 (subpatch) 0;
#X array \$0-FFTIndex 64 float 0;
#X coords 0 0 63 1 300 100 0;
#X restore 386 359 graph;
#X obj 507 596 tabwrite~ \$0-FFTIndex;
#X obj 703 596 s \$0-FFTIndex;
#X obj 315 596 s \$0-FFTSize;
#X obj 513 245 cnv 10 20 10 empty ColorForm Overlap 1 5 1 9 -188398
-1 1.04858e+06;
#X obj 546 322 pow 2;
#X msg 546 299 2;
#X obj 546 276 t b f;
#X text 555 259 <- 0 1 2 3;
#X obj 789 595 s \$0-FFTOverlap;
#X text 506 421 Si le son d'un MiniModule FFT est haché \, avec Init-FFT
grand (65536...) -> Pd-extended -> Preferences -> Audio Settings...
-> delay (msec) -> Augmenter;
#X text 597 376 <- Overlap 1 2 4 8;
#X text 592 288 L'array \$0-FFTIndex n'est utilise que dans le MM FFT-BrickWallFilter
;
#X text 641 234 8 5 2009;
#X msg 381 563 stop;
#X obj 462 461 t b b b b b f;
#X obj 382 502 delay 2000;
#X obj 337 81 inlet fft;
#X obj 476 92 inlet overlap;
#X floatatom 384 397 5 0 0 0 - - -, f 5;
#X floatatom 650 355 5 0 0 0 - - -, f 5;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 6 0 7 1;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 8 0 38 0;
#X connect 9 0 7 0;
#X connect 9 1 6 0;
#X connect 9 2 10 0;
#X connect 10 0 11 0;
#X connect 10 0 25 0;
#X connect 12 0 2 1;
#X connect 12 0 22 1;
#X connect 13 0 9 0;
#X connect 13 0 26 0;
#X connect 13 0 42 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 15 1 13 1;
#X connect 16 0 15 0;
#X connect 22 0 24 0;
#X connect 28 0 32 0;
#X connect 28 0 43 0;
#X connect 29 0 28 0;
#X connect 30 0 29 0;
#X connect 30 1 28 1;
#X connect 37 0 24 0;
#X connect 37 0 5 0;
#X connect 38 0 39 0;
#X connect 38 2 5 0;
#X connect 38 3 24 0;
#X connect 38 4 12 0;
#X connect 38 5 22 0;
#X connect 38 5 2 0;
#X connect 39 0 37 0;
#X connect 40 0 16 0;
#X connect 41 0 30 0;
#X coords 0 0 1 1 230 29 0;
#X restore 423 467 pd ARGO;
#X text 773 379 <- FFT size;
#X text 695 343 <- Taille de la FFT;
#X text 320 506 Chaque bande de fréquence de la FFT est compressée
indépendamment.;
#X obj 426 345 tof/param /FFT-size 11 /g radio 1 11;
#X obj 502 380 tof/param /FFT-overlap 4 /g radio 1 4;
#N canvas 1 82 1272 661 FFT-NoiseGate 0;
#X obj 52 138 *~;
#X obj 53 65 *~;
#X obj 22 24 inlet~;
#X obj 53 88 rfft~;
#X obj 47 308 *~;
#X obj 52 169 rifft~;
#X obj 48 368 outlet~;
#X obj 70 25 tabreceive~ \$0-hann;
#X obj 48 343 *~;
#X obj 206 141 *~;
#X obj 201 367 outlet~;
#X obj 201 342 *~;
#X text 227 341 normalize;
#X obj 201 308 *~;
#X obj 206 169 rifft~;
#X obj 85 136 *~;
#X obj 239 142 *~;
#X obj 338 25 inlet;
#X obj 250 63 expr~ $v1 > $v2;
#X obj 142 63 expr~ $v1 <= $v2;
#X obj 192 25 tabreceive~ \$0-FFTIndex;
#X text 198 385 HighPass;
#X text 48 385 LowPass;
#X obj 412 371 switch~ 1024 4 1;
#X msg 526 342 0;
#X msg 376 341 1;
#X text 376 10 64..65536;
#X obj 377 26 r \$0-FFTSize;
#X obj 414 133 /;
#X obj 476 25 r \$0-FFTOverlap;
#X text 493 7 1 2 4 8;
#X obj 444 254 pack 1 2;
#X msg 411 341 set \$1 \$2 1;
#X obj 476 82 t b b f b;
#X obj 377 82 t b b b f f f b;
#X msg 386 109 0.628;
#X connect 0 0 5 0;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 0 0;
#X connect 3 0 9 0;
#X connect 3 1 15 0;
#X connect 3 1 16 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 7 0 1 1;
#X connect 7 0 4 1;
#X connect 7 0 13 1;
#X connect 8 0 6 0;
#X connect 9 0 14 0;
#X connect 11 0 10 0;
#X connect 13 0 11 0;
#X connect 14 0 13 0;
#X connect 15 0 5 1;
#X connect 16 0 14 1;
#X connect 17 0 18 1;
#X connect 17 0 19 1;
#X connect 18 0 9 1;
#X connect 18 0 16 1;
#X connect 19 0 0 1;
#X connect 19 0 15 1;
#X connect 20 0 18 0;
#X connect 20 0 19 0;
#X connect 24 0 23 0;
#X connect 25 0 23 0;
#X connect 27 0 34 0;
#X connect 28 0 11 1;
#X connect 28 0 8 1;
#X connect 29 0 33 0;
#X connect 31 0 32 0;
#X connect 32 0 23 0;
#X connect 33 0 25 0;
#X connect 33 1 31 0;
#X connect 33 2 31 1;
#X connect 33 3 24 0;
#X connect 34 0 25 0;
#X connect 34 2 35 0;
#X connect 34 3 28 1;
#X connect 34 5 31 0;
#X connect 34 6 24 0;
#X connect 35 0 28 0;
#X restore 137 402 pd FFT-NoiseGate;
#X obj 317 315 tof/param /frequency 0.5 /g slider 0.001 0.5;
#X obj 387 282 tof/argument 5;
#X obj 346 260 tof/argument 4;
#X obj 292 220 tof/argument 3;
#X obj 291 195 loadbang;
#X connect 2 0 14 0;
#X connect 3 0 5 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 12 0 8 0;
#X connect 13 0 8 1;
#X connect 14 0 0 0;
#X connect 14 1 1 0;
#X connect 15 0 14 1;
#X connect 16 0 13 0;
#X connect 17 0 12 0;
#X connect 18 0 15 0;
#X connect 19 0 16 0;
#X connect 19 0 17 0;
#X connect 19 0 18 0;