diff --git a/filter/bs412.c b/filter/bs412.c index 4ecbe73..23e33d1 100644 --- a/filter/bs412.c +++ b/filter/bs412.c @@ -52,7 +52,7 @@ float bs412_compress(BS412Compressor* mpx, float sample) { if (modulation_power > mpx->target) { mpx->gain = mpx->attack * mpx->gain + (1.0f - mpx->attack) * target_gain; } else { - mpx->gain = mpx->release * mpx->gain + (1.0f - mpx->release) * target_gain; + mpx->gain = mpx->release * mpx->gain + (1.0f - mpx->release) * (1.0f/target_gain); } mpx->gain = fminf(mpx->max, mpx->gain);