blob: 5b2dad66fa2772525674ef209707df25140fbe08 (
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
|
#N canvas 72 25 1011 661 12;
#X floatatom 46 55 9 0 0 0 - - -;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array99 11 float 0;
#X coords 0 1 10 -1 250 200 1;
#X restore 603 153 graph;
#X obj 600 27 loadbang;
#X floatatom 46 12 5 0 135 0 - - -;
#X obj 46 32 mtof;
#X floatatom 80 380 0 0 0 0 - - -;
#N canvas 159 26 706 447 output 0;
#X obj 414 196 t b;
#X obj 414 134 f;
#X obj 414 73 inlet;
#X text 421 36 mute;
#X obj 414 227 f;
#X msg 521 218 0;
#X msg 414 104 bang;
#X obj 414 166 moses 1;
#X obj 521 187 t b f;
#X obj 486 143 moses 1;
#X obj 102 181 dbtorms;
#X obj 486 113 r master-lvl;
#X obj 102 52 r master-lvl;
#X obj 414 257 s master-lvl;
#X obj 26 222 inlet~;
#X obj 244 50 inlet;
#X text 244 22 level;
#X obj 244 122 s master-lvl;
#X msg 118 80 set \$1;
#X obj 118 109 outlet;
#X msg 262 78 \; pd dsp 1;
#X obj 102 238 line~;
#X obj 26 259 *~;
#X obj 26 295 dac~;
#X obj 102 210 pack 0 50;
#X text 24 195 audio;
#X text 114 135 show level;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 1 4 1;
#X connect 10 0 24 0;
#X connect 11 0 1 1;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 12 0 18 0;
#X connect 14 0 22 0;
#X connect 15 0 17 0;
#X connect 15 0 20 0;
#X connect 18 0 19 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 22 0 23 1;
#X connect 24 0 21 0;
#X restore 46 406 pd output;
#X msg 116 380 MUTE;
#X obj 200 293 *~;
#X msg 433 193 \$1 30;
#X obj 436 170 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 434 240 -~ 1;
#X obj 433 264 *~ -1;
#X obj 433 217 line~;
#X obj 46 294 *~;
#X msg 341 214 0;
#X msg 600 54 \; array99 resize 11 \; array99 0 0 0 -0.5 -0.5 1 -1
0.5 -1 0 0 0 \; pd dsp 1 \;;
#X obj 200 255 tabosc4~ array99;
#X text 501 149 tabosc4~;
#N canvas 371 25 645 661 osc~ 0;
#X obj 12 133 pack~;
#X obj 14 7 inlet~;
#X text 230 14 change block size;
#X msg 77 379 0;
#X obj 47 403 f;
#X obj 63 428 + 1;
#X obj 17 379 t a b;
#X obj 16 245 gemhead;
#X text 72 7 audio input;
#X obj 13 29 rfft~;
#X obj 13 51 *~;
#X obj 53 53 *~;
#X obj 171 72 block~ 4096 4;
#X obj 12 75 /~ 4096;
#X obj 12 95 log~;
#X obj 12 114 *~ 0.05;
#X obj 12 152 list prepend 0;
#X obj 12 173 s \$0-fft;
#X obj 273 189 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 273 207 t b b;
#X obj 272 251 until;
#X msg 272 228 2048;
#X msg 331 251 0;
#X obj 272 276 f;
#X obj 287 299 + 1;
#X obj 272 349 tabread \$0-fft;
#X obj 408 348 tabread \$0-fft-lop;
#X obj 272 399 +;
#X obj 272 443 tabwrite \$0-fft-lop;
#X obj 272 324 t f f f;
#X obj 296 183 bang~;
#X obj 272 421 / 8;
#X obj 409 376 * 7;
#X obj 77 494 tabread \$0-fft-lop;
#X obj 26 611 loadbang;
#X obj 47 451 t f f;
#X obj 72 578 l;
#X obj 22 224 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 71 547 t l b;
#X obj 18 659 curve 2;
#X obj 46 519 pack f f f;
#X floatatom 36 296 5 0 0 0 - - -;
#X floatatom 78 297 5 0 0 0 - - -;
#X obj 17 334 t a b;
#X floatatom 72 250 5 0 0 0 - - -;
#X floatatom 114 251 5 0 0 0 - - -;
#X obj 17 358 repeat 2048;
#X obj 14 277 translateXYZ -4 0 0;
#X obj 47 471 log;
#X obj 17 314 scaleXYZ 1.04 6 0;
#X msg 26 633 res 2;
#X obj 170 92 table \$0-fft 2048;
#X obj 170 112 table \$0-fft-lop 2048;
#X connect 0 0 16 0;
#X connect 1 0 9 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 0 35 0;
#X connect 5 0 4 1;
#X connect 6 0 39 0;
#X connect 6 1 4 0;
#X connect 7 0 47 0;
#X connect 9 0 10 0;
#X connect 9 0 10 1;
#X connect 9 1 11 0;
#X connect 9 1 11 1;
#X connect 10 0 13 0;
#X connect 11 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 0 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 19 0 21 0;
#X connect 19 1 22 0;
#X connect 20 0 23 0;
#X connect 21 0 20 0;
#X connect 22 0 23 1;
#X connect 23 0 24 0;
#X connect 23 0 29 0;
#X connect 24 0 23 1;
#X connect 25 0 27 0;
#X connect 26 0 32 0;
#X connect 27 0 31 0;
#X connect 29 0 25 0;
#X connect 29 1 26 0;
#X connect 29 2 28 1;
#X connect 30 0 19 0;
#X connect 31 0 28 0;
#X connect 32 0 27 1;
#X connect 33 0 40 1;
#X connect 34 0 50 0;
#X connect 35 0 48 0;
#X connect 35 1 33 0;
#X connect 36 0 39 2;
#X connect 37 0 7 0;
#X connect 38 0 36 1;
#X connect 38 1 36 0;
#X connect 40 0 38 0;
#X connect 40 0 39 1;
#X connect 41 0 49 1;
#X connect 42 0 49 2;
#X connect 43 0 46 0;
#X connect 43 1 3 0;
#X connect 44 0 47 1;
#X connect 45 0 47 2;
#X connect 46 0 6 0;
#X connect 47 0 49 0;
#X connect 48 0 40 0;
#X connect 49 0 43 0;
#X connect 50 0 39 0;
#X restore 55 356 pd osc~;
#X msg 605 385 reset \, create \, 1;
#X msg 611 407 0 \, destroy;
#X msg 46 73 \$1 100;
#X obj 46 96 line~;
#X obj 605 429 gemwin 20;
#X msg 172 77 cutoff \$1;
#X floatatom 172 14 5 0 0 0 - - -;
#X obj 172 34 mtof;
#X floatatom 185 58 9 0 0 0 - - -;
#X text 396 149 tabosc4i~;
#X obj 45 333 +~;
#X floatatom 286 52 5 0 0 0 - - -;
#X msg 286 75 upsample \$1;
#X msg 325 23 4;
#X msg 286 23 2;
#X obj 47 254 tabosci~ array99;
#X obj 214 353 oscillo~;
#X msg 364 23 8;
#X text 41 458 tabosc4c~ is a drop in remplacement for tabosc4~ \,
but offer an other 4 points interpolation. So \, in some case \, quality
is better than the standart interpolation. Moreover \, it can use table
size 2^n (and not 2^n+3) \, so you dan't have to copy the 1st 3 point
of the table at the end.;
#X text 764 387 <- draw spectrum with Gem;
#X text 43 543 You can also adjust an upsamplig factor \, and a cutoff
freq of the internal biquad. Upsample by 4 is ok most of the time.
To remove "all" spectrom folding \, main sampling rate should be 96000Hz
\, but it already gives good result at 44.1 or 48KHz...;
#X msg 171 110 cutoff 0;
#X text 255 110 no filter;
#X connect 0 0 22 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 6 1;
#X connect 6 0 5 0;
#X connect 7 0 6 2;
#X connect 8 0 30 0;
#X connect 9 0 13 0;
#X connect 10 0 9 0;
#X connect 11 0 12 0;
#X connect 12 0 14 1;
#X connect 13 0 11 0;
#X connect 13 0 8 1;
#X connect 14 0 30 0;
#X connect 15 0 17 1;
#X connect 15 0 35 1;
#X connect 17 0 8 0;
#X connect 20 0 24 0;
#X connect 21 0 24 0;
#X connect 22 0 23 0;
#X connect 23 0 17 0;
#X connect 23 0 35 0;
#X connect 25 0 35 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 27 0 25 0;
#X connect 30 0 6 0;
#X connect 30 0 19 0;
#X connect 30 0 36 0;
#X connect 31 0 32 0;
#X connect 32 0 35 0;
#X connect 33 0 31 0;
#X connect 34 0 31 0;
#X connect 35 0 14 0;
#X connect 37 0 31 0;
#X connect 41 0 35 0;
|