@JulesV
import("stdfaust.lib");
grp (x) = tgroup("PeakEQ", x);
//grp_prefltr (x) = grp(hgroup("WaveShaper", x));
//preUpGain = grp_prefltr(vslider("Up Gain [style:knob] [unit:dB]", 0.0, -18.0, 18.0, 0.01));
//preUpFreq = grp_prefltr(vslider("Up Freq [style:knob] [unit:Hz]", 18000.0, 25.0, 20000.0, 0.01));
//preUpQ = grp_prefltr(vslider("Up Q [style:knob] [unit:]", 1.0, 0.1, 8, 0.01));
//drive = grp_prefltr(vslider("Drive [style:knob] [unit:]", 0.5, 0.01, 1, 0.01));
//shaper(x,drive) = ma.tanh(10 * drive * x);
B = hslider ( "Level[style:knob]", 0,0,1,0.01);
Lfx = hslider ( "BandWidth[style:knob]", 20,0,50,0.1);
fx = hslider ( "PeakFreq[style:knob]", 1500,150,2500,1);
process = fi.peak_eq(Lfx,fx,B),fi.peak_eq(Lfx,fx,B);
I have bypassed Waveshaper. Only Filter. Just a basic example. Now you can mod/add more math functions.