commit 3dfdeb8f954a2f3235ebc28cf49a1da398282538 parent 50b9f1ac4ee9ae3809b8724dbfd7ad62a5454268 Author: Friedolino <mkirchn@freenet.de> Date: Thu, 24 Jun 2021 17:28:33 +0200 try better Q mapping Diffstat:
M | src/DSP/MoogFilter.cpp | | | 4 | +++- |
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/DSP/MoogFilter.cpp b/src/DSP/MoogFilter.cpp @@ -136,7 +136,9 @@ void MoogFilter::setfreq(float ff) void MoogFilter::setq(float q) { // flattening the Q input - feedbackGain = cbrtf(q/1000.0f)*4.15f + 0.1f; + // self oscillation begins around 4.0 + // mapped to match the ANALOG filter class + feedbackGain = cbrtf(q/1000.0f)*4.0f + 0.3f; // compensation factor for passband reduction by the negative feedback passbandCompensation = 1.0f + limit(feedbackGain, 0.0f, 1.0f); }