pub fn deess_multiband(
signal: &[f32],
sample_rate: u32,
crossover_freq: f32,
threshold_db: f32,
ratio: f32,
bands: usize,
) -> Vec<f32>Expand description
Multiband, adaptive de-esser. The region above crossover_freq is split into
bands sub-bands; each tracks its own short-term level (an exponential moving
average) and is compressed by ratio only when its instantaneous level rises
threshold_db above that adaptive average. Adapting per band and over
time catches sibilance concentrated in part of the band and follows a
speaker’s changing level, where a single fixed-threshold band over- or
under-reacts. Falls back to a single band when bands <= 1.