pub struct WienerFilterIsolator { /* private fields */ }Expand description
Wiener filter based voice isolator.
Optimal linear filter that minimizes mean squared error. Gain = S(f) / (S(f) + N(f)) where S = signal, N = noise
Implementations§
Source§impl WienerFilterIsolator
impl WienerFilterIsolator
Sourcepub fn new(config: IsolationConfig) -> Self
pub fn new(config: IsolationConfig) -> Self
Create a new Wiener filter isolator
Sourcepub fn with_smoothing(self, factor: f32) -> Self
pub fn with_smoothing(self, factor: f32) -> Self
Set smoothing factor for a priori SNR estimation
Trait Implementations§
Source§impl Clone for WienerFilterIsolator
impl Clone for WienerFilterIsolator
Source§fn clone(&self) -> WienerFilterIsolator
fn clone(&self) -> WienerFilterIsolator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WienerFilterIsolator
impl Debug for WienerFilterIsolator
Source§impl Default for WienerFilterIsolator
impl Default for WienerFilterIsolator
Source§impl VoiceIsolator for WienerFilterIsolator
impl VoiceIsolator for WienerFilterIsolator
Source§fn config(&self) -> &IsolationConfig
fn config(&self) -> &IsolationConfig
Get the configuration
Source§fn isolate(&self, audio: &[f32]) -> VoiceResult<IsolationResult>
fn isolate(&self, audio: &[f32]) -> VoiceResult<IsolationResult>
Isolate voice from noisy audio. Read more
Source§fn isolate_with_profile(
&self,
audio: &[f32],
noise_profile: &NoiseProfile,
) -> VoiceResult<IsolationResult>
fn isolate_with_profile( &self, audio: &[f32], noise_profile: &NoiseProfile, ) -> VoiceResult<IsolationResult>
Isolate voice with pre-estimated noise profile. Read more
Source§fn estimate_noise(&self, noise_audio: &[f32]) -> VoiceResult<NoiseProfile>
fn estimate_noise(&self, noise_audio: &[f32]) -> VoiceResult<NoiseProfile>
Estimate noise profile from audio segment. Read more
Auto Trait Implementations§
impl Freeze for WienerFilterIsolator
impl RefUnwindSafe for WienerFilterIsolator
impl Send for WienerFilterIsolator
impl Sync for WienerFilterIsolator
impl Unpin for WienerFilterIsolator
impl UnsafeUnpin for WienerFilterIsolator
impl UnwindSafe for WienerFilterIsolator
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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