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/bandfilter.dsp diff --git a/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/bandfilter.dsp b/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/bandfilter.dsp new file mode 100644 index 0000000..576a013 --- /dev/null +++ b/interpretor/preprocessor/faust-0.9.47mr3/tools/faust2pd/examples/faust/bandfilter.dsp @@ -0,0 +1,47 @@ +declare name "bandfilter"; +declare version "1.0"; +declare author "Grame"; +declare license "BSD"; +declare copyright "(c)GRAME 2006"; + +import("math.lib"); +import("music.lib"); + +//---------------------second order filter-------------------------- +// filter(Q,F,G) +// Q : quality factor [1..100] +// F : frequency (Hz) +// G : gain [0..1] +//------------------------------------------------------------------ + +filter(Q,F,G) = TF2( (1 + K/Q + K*K) / D, + 2 * (K*K - 1) / D, + (1 - K/Q + K*K) / D, + 2 * (K*K - 1) / D, + (1 - V*K/Q + K*K) / D + ) + with { + V = db2linear(G); + K = tan(PI*F/SR); + D = 1 + V*K/Q + K*K; + }; + + + +//--------------- Band Filter with user interface ------------------ +// bandfilter(F) +// F : default frequency (Hz) +// +//------------------------------------------------------------------ + +bandfilter(F) = filter( nentry("Q factor",50,0.1,100,0.1), + nentry("freq (Hz)", F, 20, 20000, 1), + 0 - vslider("gain (dB)", 0, -50, 50, 0.1) + ); + + + +//------------------------- Process -------------------------------- + +process = vgroup("Bandfilter", bandfilter(1000)); +