Struct CompressorBuilder
pub struct CompressorBuilder {
pub threshold: Value<f64>,
pub ratio: Value<f64>,
pub attack_duration: Value<Duration>,
pub release_duration: Value<Duration>,
pub makeup_gain: Value<Decibels>,
pub mix: Value<Mix>,
}
dep_kira
only.Expand description
Configures a compressor.
Fields§
§threshold: Value<f64>
The volume above which volume will start to be decreased (in decibels).
ratio: Value<f64>
How much the signal will be compressed.
A ratio of 2.0
(or 2 to 1) means an increase of 3dB will
become an increase of 1.5dB. Ratios between 0.0
and 1.0
will actually expand the audio.
attack_duration: Value<Duration>
How much time it takes for the volume attenuation to ramp up once the input volume exceeds the threshold.
release_duration: Value<Duration>
How much time it takes for the volume attenuation to relax once the input volume dips below the threshold.
makeup_gain: Value<Decibels>
The amount to change the volume after processing (in dB).
This can be used to compensate for the decrease in volume resulting from compression. This is only applied to the wet signal, nto the dry signal.
mix: Value<Mix>
How much dry (unprocessed) signal should be blended with the wet (processed) signal.
Implementations§
§impl CompressorBuilder
impl CompressorBuilder
pub fn new() -> CompressorBuilder
pub fn new() -> CompressorBuilder
Creates a new CompressorBuilder
with the default settings.
pub fn threshold(self, threshold: impl Into<Value<f64>>) -> CompressorBuilder
pub fn threshold(self, threshold: impl Into<Value<f64>>) -> CompressorBuilder
Sets the volume above which volume will start to be decreased (in decibels).
pub fn ratio(self, ratio: impl Into<Value<f64>>) -> CompressorBuilder
pub fn ratio(self, ratio: impl Into<Value<f64>>) -> CompressorBuilder
Sets how much the signal will be compressed.
A ratio of 2.0
(or 2 to 1) means an increase of 3dB will
become an increase of 1.5dB. Ratios between 0.0
and 1.0
will actually expand the audio.
pub fn attack_duration(
self,
attack_duration: impl Into<Value<Duration>>,
) -> CompressorBuilder
pub fn attack_duration( self, attack_duration: impl Into<Value<Duration>>, ) -> CompressorBuilder
Sets how much time it takes for the volume attenuation to ramp up once the input volume exceeds the threshold.
pub fn release_duration(
self,
release_duration: impl Into<Value<Duration>>,
) -> CompressorBuilder
pub fn release_duration( self, release_duration: impl Into<Value<Duration>>, ) -> CompressorBuilder
Sets how much time it takes for the volume attenuation to relax once the input volume dips below the threshold.
pub fn makeup_gain(
self,
makeup_gain: impl Into<Value<Decibels>>,
) -> CompressorBuilder
pub fn makeup_gain( self, makeup_gain: impl Into<Value<Decibels>>, ) -> CompressorBuilder
Sets the amount to change the volume after processing (in decibels).
This can be used to compensate for the decrease in volume resulting from compression. This is only applied to the wet signal, nto the dry signal.
pub fn mix(self, mix: impl Into<Value<Mix>>) -> CompressorBuilder
pub fn mix(self, mix: impl Into<Value<Mix>>) -> CompressorBuilder
Sets how much dry (unprocessed) signal should be blended with the wet (processed) signal.
Trait Implementations§
§impl Default for CompressorBuilder
impl Default for CompressorBuilder
§fn default() -> CompressorBuilder
fn default() -> CompressorBuilder
§impl EffectBuilder for CompressorBuilder
impl EffectBuilder for CompressorBuilder
§type Handle = CompressorHandle
type Handle = CompressorHandle
§fn build(
self,
) -> (Box<dyn Effect>, <CompressorBuilder as EffectBuilder>::Handle) ⓘ
fn build( self, ) -> (Box<dyn Effect>, <CompressorBuilder as EffectBuilder>::Handle) ⓘ
Auto Trait Implementations§
impl Freeze for CompressorBuilder
impl RefUnwindSafe for CompressorBuilder
impl Send for CompressorBuilder
impl Sync for CompressorBuilder
impl Unpin for CompressorBuilder
impl UnwindSafe for CompressorBuilder
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.