-
Notifications
You must be signed in to change notification settings - Fork 4
/
+spectralcompand-help.pd
236 lines (236 loc) · 9.13 KB
/
+spectralcompand-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
#N canvas 317 74 852 679 10;
#N canvas 0 22 450 300 (subpatch) 0;
#X array sc-array 513 float 1;
#A 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan 1;
#X coords 0 0 512 -120 200 140 1;
#X restore 65 -302 graph;
#X msg 178 128 tilt \$1;
#X obj 402 26 tgl 15 0 empty sc-learn-set empty 17 7 0 10 -262144 -1
-1 0 1;
#X obj 181 -98 hsl 128 15 0.2 5 0 0 empty sc-ratio-set empty -2 -8
0 10 -228856 -1 -1 7408 1;
#X obj 28 -98 hsl 128 15 -96 0 0 0 empty sc-thresh-set empty -2 -8
0 10 -228856 -1 -1 7408 1;
#X obj 181 108 hsl 128 15 -3 3 0 1 empty sc-tilt-set empty -2 -8 0
10 -228856 -1 -1 6350 1;
#X msg 178 -78 ratio \$1;
#X msg 25 -77 threshold \$1;
#X msg 402 46 learnpeak \$1;
#X obj 178 149 s sc;
#X obj 178 -57 s sc;
#X obj 402 67 s sc;
#X obj 402 -74 s sc;
#X obj 28 5 hsl 128 15 0 5 0 1 empty sc-attack-set empty -2 -8 0 10
-228856 -1 -1 254 1;
#X obj 25 46 s sc;
#X msg 25 25 attack \$1;
#X obj 25 -56 s sc;
#X obj 181 5 hsl 128 15 0 5 0 1 empty sc-release-set empty -2 -8 0
10 -228856 -1 -1 1270 1;
#X obj 178 46 s sc;
#X msg 178 25 release \$1;
#X obj 404 108 tgl 15 0 empty sc-invert-set empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 404 149 s sc;
#X msg 404 128 invert \$1;
#X obj 28 108 hsl 128 15 -24 24 0 0 empty sc-gain-set empty -2 -8 0
10 -228856 -1 -1 6350 1;
#X msg 25 128 gain \$1;
#X obj 25 149 s sc;
#X obj 598 16 dac~;
#X obj 616 -59 dbtorms~;
#X obj 598 -34 *~;
#X obj 598 -235 bng 15 250 50 0 sc_openfile empty open-soundfile 17
7 0 12 -4034 -1 -1;
#X obj 619 -80 hsl 128 15 0 100 0 0 empty sc-volume-set volume -2 -8
0 12 -228856 -1 -1 10160 1;
#N canvas 656 107 624 512 init 0;
#X obj 37 18 loadbang;
#X msg 146 446 \; pd dsp 1 \;;
#X msg 164 391 80;
#X msg 244 337 0;
#X obj 164 412 s sc-volume-set;
#X obj 244 358 s sc-tilt-set;
#X obj 203 384 s sc-ratio-set;
#X obj 283 330 s sc-attack-set;
#X msg 370 187 0;
#X msg 409 159 0;
#X obj 329 234 s sc-thresh-set;
#X obj 409 180 s sc-learn-set;
#X msg 329 213 -40;
#X msg 459 129 0;
#X obj 459 150 s sc-invert-set;
#X obj 37 39 t b b b b b b b b b b;
#X msg 283 309 0.1;
#X msg 203 363 3;
#X obj 370 208 s sc-gain-set;
#X obj 290 262 s sc-release-set;
#X msg 290 241 0.5;
#X msg 324 33 \; sc-array ylabel -50 -120 -60 0 \;;
#X connect 0 0 15 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 8 0 18 0;
#X connect 9 0 11 0;
#X connect 12 0 10 0;
#X connect 13 0 14 0;
#X connect 15 0 1 0;
#X connect 15 1 2 0;
#X connect 15 2 17 0;
#X connect 15 3 3 0;
#X connect 15 4 16 0;
#X connect 15 5 20 0;
#X connect 15 6 12 0;
#X connect 15 7 8 0;
#X connect 15 9 21 0;
#X connect 16 0 7 0;
#X connect 17 0 6 0;
#X connect 20 0 19 0;
#X restore 731 -326 pd init;
#X obj 25 -437 cnv 15 500 100 empty empty empty 20 12 0 14 -228856
-66577 0;
#N canvas 320 74 960 404 spectralcompand-details 0;
#X text 32 29 threshold - This is the point at which +spectralcompand~
turns on and off. When compressing \, the effect is active when the
sound is higher than the threshold. When expanding \, the effect is
active when the sound is lower than the threshold (this is known as
downward expansion). The threshold can be varied from -120 dB to 0
dB. If the shaping line in the spectral display is used to give the
threshold a complex shape \, the threshold knob represents the average
threshold of the shaping line.;
#X text 32 159 ratio - The ratio controls the amount of compression
or expansion. The range from 5:1 to 1:1 is the compression range \,
and from 1:1 to 1:5 is the expansion range. Compression reduces the
dynamic range of the sound \, resulting in a smaller difference between
the loudest and softest harmonic. Compression affects only those harmonics
which are above the threshold. Conversely \, expansion increases the
dynamic range of the sound \, resulting in a larger difference between
the loudest and softest harmonics. Expansion only affects those harmonics
which are below the threshold.;
#X text 31 311 attack and release - These controls specify how quickly
the gate will turn on (attack) or turn off (release) after passing
the threshold. They both can be varied from 0 to 1 second. A longer
value will smooth the transition \, making the transition less noticeable.
A shorter value will make the transition more abrupt.;
#X text 492 79 tilt - This control gives you an easy way to change
the threshold shape \, either by raising the high frequencies and lowering
the low \, or vice-versa. Tilt can go from a 6 dB per octave boost
of the high frequencies to a -6 dB per octave cut of the high frequencies.
;
#X text 492 159 makeupgain - This is a simple level adjustment that
affects all frequencies. The range is -60 dB to 60 dB.;
#X text 492 209 learnpeak - This button will set the threshold shape
\, using the largest (peak) sound between the current input sound and
the previous threshold shape for each frequency.;
#X text 492 259 invert - This control allows you to invert the compression
or expansion process and hear the difference between the processed
sound and the input. This is very useful when using spectral expansion
for broadband noise reduction \, as you will be able to hear the sound
that is being removed.;
#X restore 598 -347 pd spectralcompand-details;
#X obj 598 -137 +spectralcompand~ sc-array;
#N canvas 623 78 657 507 sc_soundfile 0;
#N canvas 0 22 450 300 (subpatch) 0;
#X array sc_soundfile 188893 float 2;
#X coords 0 1 188893 -1 200 140 1;
#X restore 34 31 graph;
#X obj 281 33 openpanel;
#X obj 281 96 soundfiler;
#X obj 281 171 phasor~ 0.5;
#X obj 281 198 *~;
#X obj 451 413 /;
#X obj 451 348 t b f;
#X obj 451 371 samplerate~;
#X obj 281 288 outlet~;
#X obj 451 440 s sc_phasorfreq;
#X obj 451 320 r sc_filelength;
#X obj 281 231 tabread~ sc_soundfile;
#X obj 322 198 r sc_filelength;
#X obj 281 146 r sc_phasorfreq;
#X obj 281 121 s sc_filelength;
#X msg 281 64 read -resize -maxsize 2e+06 \$1 sc_soundfile;
#X obj 281 11 r sc_openfile;
#X connect 1 0 15 0;
#X connect 2 0 14 0;
#X connect 3 0 4 0;
#X connect 4 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 7 0;
#X connect 6 1 5 1;
#X connect 7 0 5 0;
#X connect 10 0 6 0;
#X connect 11 0 8 0;
#X connect 12 0 4 1;
#X connect 13 0 3 0;
#X connect 15 0 2 0;
#X connect 16 0 1 0;
#X restore 598 -211 pd sc_soundfile;
#X obj 609 -164 r sc;
#X text 28 -464 +spectralcompand~;
#X text 30 -432 +spectralcompand~ is a spectral version of the standard
expander/compressor. Like +spectralgate~ \, it divides the frequency
spectrum into 513 bands and processes each band individually. Each
band is processed with a combination expander and compression unit
(commonly known as a compander) which can go smoothly from a compression
ratio of 5:1 to an expansion ratio of 1:5.;
#X msg 402 -95 set sc-array;
#X obj 401 -44 tgl 15 0 empty sc-learn-set empty 17 7 0 10 -262144
-1 -1 0 1;
#X obj 401 -3 s sc;
#X msg 401 -24 learnavg \$1;
#X connect 1 0 9 0;
#X connect 2 0 8 0;
#X connect 3 0 6 0;
#X connect 4 0 7 0;
#X connect 5 0 1 0;
#X connect 6 0 10 0;
#X connect 7 0 16 0;
#X connect 8 0 11 0;
#X connect 13 0 15 0;
#X connect 15 0 14 0;
#X connect 17 0 19 0;
#X connect 19 0 18 0;
#X connect 20 0 22 0;
#X connect 22 0 21 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 27 0 28 1;
#X connect 28 0 26 1;
#X connect 28 0 26 0;
#X connect 30 0 27 0;
#X connect 34 0 28 0;
#X connect 35 0 34 0;
#X connect 36 0 34 0;
#X connect 39 0 12 0;
#X connect 40 0 42 0;
#X connect 42 0 41 0;