#N canvas 600 60 727 591 12;
#X obj 294 443 expr pow(10 \, $f1/20);
#X floatatom 294 415 5 -180 0 0 - taint-invthresh -;
#X floatatom 239 360 5 0 0 0 - - -;
#X obj 34 366 r taint-msgs;
#N canvas 650 70 472 261 control 0;
#X obj 30 216 s taint-msgs;
#X floatatom 29 64 5 0 0 0 - taint-pad -;
#X obj 29 93 expr pow(10 \, $f1/20);
#X floatatom 29 122 5 0 0 0 - - -;
#X msg 29 151 pad \$1;
#X msg 122 175 invert \$1;
#X obj 122 142 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 21 11 this pad only affects the gain when "invert" is turned
on thus it may be used to balance levels between the two states of
taint~;
#X text 141 138 warning: can produce very loud levels;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X restore 471 476 pd control;
#N canvas 650 70 311 217 init 0;
#X obj 72 59 loadbang;
#X msg 72 93 \; taint-pad -36 \; taint-scaleexp 0.2 \; taint-invthresh
-40;
#X connect 0 0 1 0;
#X restore 472 511 pd init;
#X text 340 408 inverse threshold (lower values intensify effect but
only when "invert" is turned on), f 44;
#X obj 242 328 hsl 128 15 0.05 1 0 0 empty taint-scaleexp empty -2
-8 0 10 -262144 -1 -1 2005 1;
#X obj 129 471 fftease/taint~, f 24;
#X obj 129 208 ./sfplay~;
#X obj 184 262 ./sfplay~;
#X text 38 99 [taint~] multiplies the spectra of two input signals.
Multiplication of spectra can cause significant drops in the amplitude
of the output signal. The inverse option allows division of the input
spectra. Division requires the use of a threshold to avert division
by zero. Also \, signal division will cause massive amplitude gains.
Be careful of your ears and equipment. Start the amplitude very low
(-100dB) and slowly work up to an acceptable level. A pad is provided
to balance gain between normal and invert options., f 83;
#X text 278 360 <= scaling exponent (lower values increase amplitude)
;
#X obj 129 515 ./gain.dsp~;
#X obj 39 30 ./icon;
#X text 369 61 - Spectral multiplication;
#X obj 350 30 cnv 15 100 30 empty empty fftease/taint~ 20 12 0 24 -262144
-1 0;
#X connect 0 0 8 3;
#X connect 1 0 0 0;
#X connect 2 0 8 2;
#X connect 3 0 8 0;
#X connect 7 0 2 0;
#X connect 8 0 13 0;
#X connect 9 0 8 0;
#X connect 10 0 8 1;
