Struct Schroeder Reverb
pub struct SchroederReverb { /* private fields */ }Expand description
Prepared mono f64 reverb: four parallel lowpass-feedback combs averaged into two serial canonical unity-magnitude allpasses. Processing/reset allocate nothing; construction owns six bounded delay allocations. Instantiate independently for channels; no stereo decorrelation/crossfeed is supplied. No modulation, freeze, physical-room fidelity, headroom/denormal policy or native callback-deadline guarantee. Nonfinite audio can poison histories; extreme finite audio may overflow. Reset retains prepared configuration.
Implementations§
§impl SchroederReverb
impl SchroederReverb
pub fn new(config: ReverbConfig) -> Result<Self, FilterError>
pub fn delay_lengths(&self) -> [usize; 6]
pub fn delay_lengths(&self) -> [usize; 6]
Exact rounded prepared delay lengths: four combs followed by two allpasses.
pub fn wet(&self) -> f64
pub fn set_wet(&mut self, wet: f64) -> Result<(), FilterError>
pub fn set_wet(&mut self, wet: f64) -> Result<(), FilterError>
Validate before mutation; retain all histories without smoothing.
pub fn reset(&mut self)
pub fn process_sample(&mut self, input: f64) -> f64
pub fn process_sample(&mut self, input: f64) -> f64
Dry mode still advances the wet network, allowing later mix changes.