@lalalandsynth Don't know, if this is interesting for you, but you could build a phaser with a few lines of code in Faust:
declare name "t_phaser"; declare version "1.0"; declare author "toxonic"; declare license "GPL v.3.0"; declare copyright "(c) toxonic 2022"; import("stdfaust.lib"); coeffOne = hslider("coeffOne", -1,-1,1,0.01):si.smoo; coeffTwo = hslider("coeffTwo", 0,-1,1,0.01):si.smoo; lfoFrequency = hslider("lfo freq",0.25,0.1,1,0.01):si.smoo; phaseOffset = (hslider("phaseOffset", 0,-1,1,0.05)):si.smoo; phaserTrig = button("on/off"); intensity = hslider("intensity", 0.7,0,1,0.01):si.smoo; fb = hslider("feedback", 0.6, 0,0.999, 0.001):si.smoo; rangeCon(curV,oMin,oMax,nMin,nMax) = (((curV - oMin) * (nMax - nMin)) / (oMax - oMin)) + nMin; lfo(off) = os.hsp_phasor(1,lfoFrequency, 1-phaserTrig, off)-0.5:abs*2:rangeCon(_,0,1,coeffOne,coeffTwo); apSer(off) = fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)):fi.allpassn(1, lfo(off)); mPhas(off) = (+:apSer(off))~*(fb); phaserMono(off) = _<:select2(phaserTrig,_,(_*(1-intensity),mPhas(off)*intensity:+)); process = _,_:phaserMono(((phaseOffset*-1)*0.25-0.25)),phaserMono(((phaseOffset)*0.25-0.25)):_,_;