X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/preprocessor/faust-0.9.47mr3/examples/lfboost.dsp diff --git a/interpretor/preprocessor/faust-0.9.47mr3/examples/lfboost.dsp b/interpretor/preprocessor/faust-0.9.47mr3/examples/lfboost.dsp new file mode 100644 index 0000000..42bd70d --- /dev/null +++ b/interpretor/preprocessor/faust-0.9.47mr3/examples/lfboost.dsp @@ -0,0 +1,44 @@ +declare name "lfboost"; +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("math.lib"); +import("music.lib"); + + +//----------------------low frequency boost filter ------------------------------- +// lfboost(F,G) +// F : frequency (in Hz) +// G : gain (in dB) +// +//-------------------------------------------------------------------------------- + +lfboost(F,G) = TF2( (1 + sqrt(2*V)*K + V*K*K) / denom, + 2 * (V*K*K - 1) / denom, + (1 - sqrt(2*V)*K + V*K*K) / denom, + 2 * (K*K - 1) / denom, + (1 - sqrt(2)*K + K*K) / denom + ) + with { + V = db2linear(G); + K = tan(PI*F/SR); + denom = 1 + sqrt(2)*K + K*K; + }; + + + +//====================low frequency boost process =============================== + +process = vgroup("lowboost", lfboost( + nentry("freq [unit:Hz][style:knob]", 100, 20, 150, 1), + vslider("gain [unit:dB]", 0, -20, 20, 0.1) + ) );