pub struct Adapt<T: ?Sized> { /* private fields */ }
Expand description
Smoothly adjusts gain over time to keep average (RMS) signal level within a target range
Useful for allowing both quiet and loud sounds to be heard without severe distortion.
Rapid changes in input amplitude can cause the output to rise above 1. If a hard limit on output
is required, a stateless compressor like Reinhard
should be chained
afterwards.
This filter is configured in terms of signal root mean square values. For reference, the RMS
value of a sine wave is amplitude / 2.0f32.sqrt()
. Note that these are linear units, whereas
perception of loudness is logarithmic.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<T: ?Sized> RefUnwindSafe for Adapt<T>where
T: RefUnwindSafe,
impl<T: ?Sized> Send for Adapt<T>where
T: Send,
impl<T: ?Sized> Sync for Adapt<T>where
T: Sync,
impl<T: ?Sized> Unpin for Adapt<T>where
T: Unpin,
impl<T: ?Sized> UnwindSafe for Adapt<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more