[][src]Struct webrtc_vad::Vad

pub struct Vad { /* fields omitted */ }

Methods

impl Vad[src]

pub fn new(sample_rate: i32) -> Result<Vad, ()>[src]

Creates and initializes a VAD instance.

On success, returns a pointer to the new VAD instance, which should eventually be deleted using fvad_free().

Panics in case of a memory allocation error.

Returns Err(()) if an invalid sample rate was specified.

pub fn reset(&mut self)[src]

Reinitializes a VAD instance, clearing all state and resetting mode and sample rate to defaults.

pub fn set_sample_rate(&mut self, sample_rate: i32) -> Result<(), ()>[src]

Sets the input sample rate in Hz for a VAD instance.

Valid values are 8000, 16000, 32000 and 48000. The default is 8000. Note that internally all processing will be done 8000 Hz; input data in higher sample rates will just be downsampled first.

Returns Err(()) if sample rate is not valid.

pub fn fvad_set_mode(&mut self, mode: VadMode) -> Result<(), ()>[src]

Changes the VAD operating ("aggressiveness") mode of a VAD instance.

A more aggressive (higher mode) VAD is more restrictive in reporting speech. Put in other words the probability of being speech when the VAD returns 1 is increased with increasing mode. As a consequence also the missed detection rate goes up.

Valid modes are 0 ("quality"), 1 ("low bitrate"), 2 ("aggressive"), and 3 ("very aggressive"). The default mode is 0.

Returns Ok(()) on success, or Err(()) if the specified mode is invalid.

pub fn is_voice_segment(&mut self, buffers: &[i16]) -> Result<bool, ()>[src]

Calculates a VAD decision for an audio frame.

frame is an array of length signed 16-bit samples. Only frames with a length of 10, 20 or 30 ms are supported, so for example at 8 kHz, length must be either 80, 160 or 240.

Returns : Ok(true) - (active voice), Ok(false) - (non-active Voice), Err(()) - (invalid frame length).

Trait Implementations

impl Drop for Vad[src]

Auto Trait Implementations

impl !Send for Vad

impl Unpin for Vad

impl !Sync for Vad

impl UnwindSafe for Vad

impl RefUnwindSafe for Vad

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]