pub struct Vad { /* private fields */ }
Implementations§
Source§impl Vad
impl Vad
Sourcepub fn new() -> Self
pub fn new() -> Self
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.
Sourcepub fn new_with_rate(sample_rate: SampleRate) -> Self
pub fn new_with_rate(sample_rate: SampleRate) -> Self
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.
Sourcepub fn new_with_mode(mode: VadMode) -> Self
pub fn new_with_mode(mode: VadMode) -> Self
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.
Sourcepub fn new_with_rate_and_mode(sample_rate: SampleRate, mode: VadMode) -> Self
pub fn new_with_rate_and_mode(sample_rate: SampleRate, mode: VadMode) -> Self
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.
Sourcepub fn reset(&mut self)
pub fn reset(&mut self)
Reinitializes a VAD instance, clearing all state and resetting mode and sample rate to defaults.
Sourcepub fn set_sample_rate(&mut self, sample_rate: SampleRate)
pub fn set_sample_rate(&mut self, sample_rate: SampleRate)
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.
Sourcepub fn set_mode(&mut self, mode: VadMode)
pub fn set_mode(&mut self, mode: VadMode)
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.
Sourcepub fn is_voice_segment(&mut self, buffer: &[i16]) -> Result<bool, ()>
pub fn is_voice_segment(&mut self, buffer: &[i16]) -> Result<bool, ()>
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).