https://www.musicdsp.org/en/latest/Filters/267-simple-tilt-equalizer.html
f32::ln(2.0); f32::ln(2.0); f32::ln(2.0); f32::ln(2.0);
sample_rate_x3 sample_rate_x3 sample_rate_x3 sample_rate_x3
self.lp_out self.lp_out self.lp_out self.lp_out self.lp_out
#[derive(Serialize, #[derive(Serialize, #[derive(Serialize,
ResponseType::Bandpass ResponseType::Bandpass ResponseType::Bandpass
lp_out, lp_out, lp_out, lp_out, lp_out, lp_out, lp_out,
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
self.band_out_low self.band_out_low self.band_out_low
max_output: max_output: max_output: max_output: max_output:
band_a0_high: band_a0_high: band_a0_high: band_a0_high:
f32::ln(2.0); f32::ln(2.0); f32::ln(2.0); f32::ln(2.0);
h_omega) h_omega) h_omega) h_omega) h_omega) h_omega)
self.steepness self.steepness self.steepness self.steepness
f32::ln(2.0); f32::ln(2.0); f32::ln(2.0); f32::ln(2.0);
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
Deserialize, Deserialize, Deserialize, Deserialize,
(max_output (max_output (max_output (max_output (max_output
band_b1_low: band_b1_low: band_b1_low: band_b1_low:
self.a0 self.a0 self.a0 self.a0 self.a0 self.a0 self.a0
sample_rate: sample_rate: sample_rate: sample_rate:
self.band_b1_low self.band_b1_low self.band_b1_low
sample_rate; sample_rate; sample_rate; sample_rate;
lp_out, lp_out, lp_out, lp_out, lp_out, lp_out, lp_out,
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
center_freq; center_freq; center_freq; center_freq;
(Self::scale_range(self.steepness, (Self::scale_range(self.steepness,
self.lp_out self.lp_out self.lp_out self.lp_out self.lp_out
(Self::scale_range(self.steepness, (Self::scale_range(self.steepness,
self.lgain self.lgain self.lgain self.lgain self.lgain
Deserialize, Deserialize, Deserialize, Deserialize,
lp_out, lp_out, lp_out, lp_out, lp_out, lp_out, lp_out,
f32::ln(2.0); f32::ln(2.0); f32::ln(2.0); f32::ln(2.0);
self.shape self.shape self.shape self.shape self.shape
f32::exp(SLOPE_NEG f32::exp(SLOPE_NEG f32::exp(SLOPE_NEG
self.hgain self.hgain self.hgain self.hgain self.hgain
h_omega) h_omega) h_omega) h_omega) h_omega) h_omega)
self.lgain self.lgain self.lgain self.lgain self.lgain
self.band_b1_low self.band_b1_low self.band_b1_low
self.lgain self.lgain self.lgain self.lgain self.lgain
steepness: steepness: steepness: steepness: steepness:
self.band_b1_high self.band_b1_high self.band_b1_high
self.band_out_low; self.band_out_low; self.band_out_low;
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
serde::{Deserialize, serde::{Deserialize, serde::{Deserialize,
self.shape self.shape self.shape self.shape self.shape
Bandpass, Bandpass, Bandpass, Bandpass, Bandpass,
min_output: min_output: min_output: min_output: min_output:
center_freq: center_freq: center_freq: center_freq:
self.band_out_low self.band_out_low self.band_out_low
steepness: steepness: steepness: steepness: steepness:
f32::exp(0.0 f32::exp(0.0 f32::exp(0.0 f32::exp(0.0
self.b1 self.b1 self.b1 self.b1 self.b1 self.b1 self.b1
width).clamp(20.0, width).clamp(20.0, width).clamp(20.0,
lp_out, lp_out, lp_out, lp_out, lp_out, lp_out, lp_out,
self.hgain self.hgain self.hgain self.hgain self.hgain
width).clamp(20.0, width).clamp(20.0, width).clamp(20.0,
self.band_out_high; self.band_out_high; self.band_out_high;
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
SLOPE_NEG: SLOPE_NEG: SLOPE_NEG: SLOPE_NEG: SLOPE_NEG:
lp_out, lp_out, lp_out, lp_out, lp_out, lp_out, lp_out,
(self.sample_rate_x3 (self.sample_rate_x3 (self.sample_rate_x3
ResponseType::Bandpass ResponseType::Bandpass ResponseType::Bandpass
self.band_out_low; self.band_out_low; self.band_out_low;
self.band_out_low; self.band_out_low; self.band_out_low;