From 37b2ff7857bd7f0be1dcd47ea52a0847988869ac Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Tue, 30 Dec 2025 22:31:50 +0100 Subject: [PATCH] rms? --- filter/bs412.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/filter/bs412.c b/filter/bs412.c index 1bf2d93..df3c232 100644 --- a/filter/bs412.c +++ b/filter/bs412.c @@ -6,7 +6,7 @@ inline float dbr_to_deviation(float dbr) { inline float deviation_to_dbr(float deviation) { if (deviation < 1e-6f) return -100.0f; - return 10*log10f(deviation/19000); + return 10*log10f((deviation*deviation)/((19000.0f / sqrtf(2.0f)) * (19000.0f / sqrtf(2.0f)))); } void init_bs412(BS412Compressor* mpx, uint32_t mpx_deviation, float target_power, float attack, float release, float max, uint32_t sample_rate) { @@ -38,7 +38,7 @@ static inline float soft_clip_tanh(float sample, float threshold) { float bs412_compress(BS412Compressor* mpx, float sample) { mpx->avg_power += mpx->alpha * ((sample * sample * mpx->mpx_deviation * mpx->mpx_deviation) - mpx->avg_power); - float avg_deviation = sqrtf(mpx->avg_power) * sqrtf(2); + float avg_deviation = sqrtf(mpx->avg_power); float modulation_power = deviation_to_dbr(avg_deviation); if(mpx->target <= -100.0f) {