[][src]Struct webrtc_vad::Vad

pub struct Vad { /* fields omitted */ }

Methods

impl Vad[src]

pub fn new() -> Self[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.

Defaults to 8KHz sample rate and Quality mode.

pub fn new_with_rate(sample_rate: SampleRate) -> Self[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.

Defaults to Quality mode.

Valid values for the sample rate 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.

pub fn new_with_mode(mode: VadMode) -> Self[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.

Defaults to 8000 sample rate.

pub fn new_with_rate_and_mode(sample_rate: SampleRate, mode: VadMode) -> Self[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.

Valid values for the sample rate 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.

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: SampleRate)[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.

pub fn set_mode(&mut self, mode: VadMode)[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.

pub fn is_voice_segment(&mut self, buffer: &[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]

impl Default for Vad[src]

Auto Trait Implementations

impl !Send for Vad

impl Unpin for Vad

impl !Sync for Vad

impl RefUnwindSafe for Vad

impl UnwindSafe 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]