#N canvas 391 37 848 633 12;
#X floatatom 322 464 5 0 0 0 - - -;
#X obj 325 440 hsl 128 15 0.01 4 1 0 empty empty empty -2 -8 0 10 -228856
-1 -1 0 1;
#X floatatom 250 431 5 0 0 0 - - -;
#X obj 253 401 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 12 -228856
-1 -1 0 1;
#X msg 156 331 adaptive \$1;
#X obj 156 302 tgl 17 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X msg 178 388 mute \$1;
#X obj 178 362 tgl 17 0 empty empty empty 17 7 0 10 -228856 -1 -1 0
1;
#X obj 132 262 noise~;
#X obj 54 262 osc~ 440;
#X msg 41 456 fftinfo;
#X text 40 435 Get FFT info;
#X obj 178 535 fftease/drown~ 2048 4;
#X obj 34 31 ./icon;
#X obj 178 578 ./gain.dsp~;
#X text 281 399 Threshold;
#X text 350 439 Gain factor;
#X text 178 302 <= adaptive mode;
#X text 527 66 - Reduce/increase spectral noise floor;
#X obj 114 378 +~;
#X text 395 393 Per-bin noise floor amplitude threshold. Higher values
result in greater noise reduction., f 47;
#X text 33 108 [drown~] changes the energy of FFT bins whose level
are below a given threshold (or "noise floor"). You can then perform
noise reduction with a gain factor less than 1 \, or increase it with
a factor greater than 1! In adaptive mode \, instead of an absolute
value \, the threshold is determined relative to each FFT frame peak.
, f 73;
#X text 33 187 This example has a sine wave with white noise added
to it so you can check to remove the noise and just keep the sine wave.
, f 73;
#X text 371 462 Gain factor applied to bin amplitudes below threshold.
A gain of 1 leaves the bin amplitude unchanged. Values above 1 increase
the noise in the signal. Lower values result in more noise reduction
and 0 completely removes that bin., f 58;
#X obj 512 36 cnv 15 100 30 empty empty fftease/drown~ 20 12 0 24 -262144
-1 0;
#X text 336 534 <= arguments: FFT size and overlap factor (default:
1024 \, 8);
#X text 189 261 <= input signal is white noise + a sine wave;
#X text 312 292 (Adaptive noise reduction can be more effective than
non-adaptive NR \, especially when the input signal has a time-varying
amplitude envelope), f 53;
#X text 613 211 see also:;
#X obj 593 229 cnv 15 100 20 empty empty fftease/scrape~ 20 12 0 14
-262144 -1 0;
#X text 203 362 <= turns off the object (saving CPU cycles);
#X connect 0 0 12 2;
#X connect 1 0 0 0;
#X connect 2 0 12 1;
#X connect 3 0 2 0;
#X connect 4 0 12 0;
#X connect 5 0 4 0;
#X connect 6 0 12 0;
#X connect 7 0 6 0;
#X connect 8 0 19 1;
#X connect 9 0 19 0;
#X connect 10 0 12 0;
#X connect 12 0 14 0;
#X connect 19 0 12 0;
