From 50317baba2c6c6724d23a11b4a9f84d1cf4c1112 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 7 Jun 2022 01:29:53 +0200 Subject: [PATCH] Fix normalization in biquad->LP FIR conversion --- plugins/crossover/src/crossover/fir.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/crossover/src/crossover/fir.rs b/plugins/crossover/src/crossover/fir.rs index 3a067f4b..606d28d2 100644 --- a/plugins/crossover/src/crossover/fir.rs +++ b/plugins/crossover/src/crossover/fir.rs @@ -379,7 +379,7 @@ impl FirCoefficients { // Since this final filter will be symmetrical around `impulse_response[CENTER_IDX]`, we // can simply normalize based on that fact: let would_be_impulse_response_sum = - impulse_response.iter().skip(CENTER_IDX - 1).sum::() * f32x2::splat(2.0) + (impulse_response.iter().skip(CENTER_IDX).sum::() * f32x2::splat(2.0)) - impulse_response[CENTER_IDX]; let would_be_impulse_response_recip = would_be_impulse_response_sum.recip(); for sample in &mut impulse_response {