2 Commits
Author SHA1 Message Date
biggy dc6fd88ed1 refactor(filter): cache coefficients and extract cutoff calculation
Add updateCoefficients() that short-circuits when cutoff, resonance,
and type are unchanged. Cache ladderG and formantCoefficients so
processSample() avoids redundant exp()/tan() calls per sample.

Extract static getCutoffHz() from Filter::process() so FilterBank
can compute the keytracked cutoff once per parallel branch instead
of per sample. Simplify formant() and screamer() signatures to use
cached state.
2026-09-09 14:32:49 +02:00
biggy 4021b9cdf7 feat(filter): add filter bank and filter models 2026-09-08 14:55:21 +02:00