Struct oddio::Reinhard [−][src]
Smoothly maps a signal of any range into (-1, 1)
For each input sample x
, outputs x / (1 + |x|)
.
When many signals are combined with a Mixer
or Spatial
, or
when spatial signals are very near by, audio can get arbitrarily loud. Because surprisingly loud
audio can be disruptive and even damaging, it can be useful to limit the output range, but
simple clamping introduces audible artifacts.
Implementations
impl<T> Reinhard<T>
[src]
Trait Implementations
impl<T> Filter for Reinhard<T>
[src]
impl<T: Signal> Signal for Reinhard<T> where
T::Frame: Frame,
[src]
T::Frame: Frame,
type Frame = T::Frame
Type of frames yielded by sample
, e.g. [Sample; 2]
for stereo
fn sample(&self, interval: f32, out: &mut [T::Frame])
[src]
fn remaining(&self) -> f32
[src]
fn into_stereo(self) -> MonoToStereo<Self> where
Self: Signal<Frame = Sample> + Sized,
[src]
Self: Signal<Frame = Sample> + Sized,
fn with_gain(self) -> Gain<Self> where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl<T> RefUnwindSafe for Reinhard<T> where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Send for Reinhard<T> where
T: Send,
[src]
T: Send,
impl<T> Sync for Reinhard<T> where
T: Sync,
[src]
T: Sync,
impl<T> Unpin for Reinhard<T> where
T: Unpin,
[src]
T: Unpin,
impl<T> UnwindSafe for Reinhard<T> where
T: UnwindSafe,
[src]
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,