pub struct VadContext {
pub is_silence: bool,
}Expand description
Optional VAD context for intelligent DC bias updates.
When provided, DC bias is only updated during silence periods, avoiding speech distortion. This leverages the VAD engine for progressive enhancement without tight coupling.
§Example
use speech_prep::preprocessing::{DcHighPassFilter, PreprocessingConfig, VadContext};
let mut filter = DcHighPassFilter::new(PreprocessingConfig::default())?;
let samples = vec![0.0; 1600];
// Without VAD (always update DC bias)
let output1 = filter.process(&samples, None)?;
// With VAD (update only during silence)
let vad_ctx = VadContext { is_silence: true };
let output2 = filter.process(&samples, Some(&vad_ctx))?;Fields§
§is_silence: boolTrue if the current audio is classified as silence.
When true, DC bias tracking is updated. When false, DC bias is frozen (preserves speech quality).
Trait Implementations§
Source§impl Clone for VadContext
impl Clone for VadContext
Source§fn clone(&self) -> VadContext
fn clone(&self) -> VadContext
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 VadContext
impl Debug for VadContext
impl Copy for VadContext
Auto Trait Implementations§
impl Freeze for VadContext
impl RefUnwindSafe for VadContext
impl Send for VadContext
impl Sync for VadContext
impl Unpin for VadContext
impl UnsafeUnpin for VadContext
impl UnwindSafe for VadContext
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