declare name "modor.add"; import("stdfaust.lib"); import("oscillators.lib"); fund = hslider("fundfrq",55,0.0,22000.0,0.0001); //spread = hslider("spread",0.5,0.0,0.99,0.0001):linear_interp; // if spread if a param, use this line linear_interp = _<:(mem,_):+:*(0.5):_; partial(spread,i) = osc.osci((fund*(i+1))+(i*floor(spread)*fund))*ba.if(((fund*(i+1))+(i*floor(spread)*fund)) < 22000,1/(i+1),0); clip(hi,lo) = min(hi) : max(lo); // Clipping function process = _ <: par(indx,64,partial(_,indx)) :> (_*0.25) ;