pub struct Reinhard<T>(/* private fields */);
Expand description
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.
See also Tanh
, which distorts quiet sounds less, and loud sounds more.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<T> RefUnwindSafe for Reinhard<T>where
T: RefUnwindSafe,
impl<T> Send for Reinhard<T>where
T: Send,
impl<T> Sync for Reinhard<T>where
T: Sync,
impl<T> Unpin for Reinhard<T>where
T: Unpin,
impl<T> UnwindSafe for Reinhard<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