I’m trying to port the gen~ lores filter to genexpr.
The odd thing is, sometimes it behaves like the original,
and sometimes it sounds like the filter isn’t using the
second order of feedback, I’m wondering if History
objects are ok to be chained like this in genexpr.
Code below to paste into CodeBox. inlets to gen~ should be
audio, cutoff, resonance. Its a bit messy because I was trying
to hunt down the cause of the problem, so everythings on
History ya; // y1=z^-1
History yb; // y1=z^-2
rps = in2*2*PI/samplerate;
rps = cos(rps);
res = clip(in3,0,0.99999);
res = res*0.125;
res = exp(res);
res = res * 0.882497;
rps = -2*(rps * res);
res_sq = res * res;
scaled_input = in1 * (res_sq + rps + 1);
output = scaled_input - ( (ya * rps) + (yb * res_sq));
out1 = output;
yb = ya;
ya = output;
Unfortunately this does appear to be a bug in parsing the data-flow of multiple chained History operators in GenExpr. This will be addressed as a matter of urgency for the next update. In the meantime, if chained history operators are needed, the visual patching environment is working well.