X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/lowboost.dsp diff --git a/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/lowboost.dsp b/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/lowboost.dsp new file mode 100644 index 0000000..6610968 --- /dev/null +++ b/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/lowboost.dsp @@ -0,0 +1,41 @@ +declare name "lowboost"; +declare version "1.0"; +declare author "Grame"; +declare license "BSD"; +declare copyright "(c)GRAME 2006"; + +//------------------------------------------------------------------ +// DAFX, Digital Audio Effects (Wiley ed.) +// chapter 2 : filters +// section 2.3 : Equalizers +// page 53 : second order shelving filter design +//------------------------------------------------------------------ + +import("music.lib"); + + +//------------------- low-frequency shelving boost (table 2.3) -------------------- + +V0(g) = pow(10,g/20.0); +K(fc) = tan(PI*fc/SR); +square(x) = x*x; +denom(fc) = 1 + sqrt(2)*K(fc) + square(K(fc)); + +lfboost(fc, g) = TF2( (1 + sqrt(2*V0(g))*K(fc) + V0(g)*square(K(fc))) / denom(fc), + 2 * (V0(g)*square(K(fc)) - 1) / denom(fc), + (1 - sqrt(2*V0(g))*K(fc) + V0(g)*square(K(fc))) / denom(fc), + 2 * (square(K(fc)) - 1) / denom(fc), + (1 - sqrt(2)*K(fc) + square(K(fc))) / denom(fc) + ); + + +//------------------------------ User Interface ----------------------------------- + +freq = hslider("freq", 1000, 20, 20000, 0.1); +gain = hslider("gain (db)", 0, -20, 20, 0.1); + + +//----------------------------------- Process ------------------------------------- + +process = vgroup("low-freq shelving boost", lfboost(freq,gain)); +