zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 3dfdeb8f954a2f3235ebc28cf49a1da398282538
parent 50b9f1ac4ee9ae3809b8724dbfd7ad62a5454268
Author: Friedolino <mkirchn@freenet.de>
Date:   Thu, 24 Jun 2021 17:28:33 +0200

try better Q mapping

Diffstat:
Msrc/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); }