Voice activity detection
Voice activity detection, also known as speech activity detection or speech detection, is the detection of the presence or absence of human speech, used in speech processing. The main uses of VAD are in speaker diarization, speech coding and speech recognition. It can facilitate speech processing, and can also be used to deactivate some processes during non-speech section of an audio session: it can avoid unnecessary coding/transmission of silence packets in Voice over Internet Protocol applications, saving on computation and on network bandwidth.
VAD is an important enabling technology for a variety of speech-based applications. Therefore, various VAD algorithms have been developed that provide varying features and compromises between latency, sensitivity, accuracy and computational cost. Some VAD algorithms also provide further analysis, for example whether the speech is voiced, unvoiced or sustained. Voice activity detection is usually independent of language.
It was first investigated for use on time-assignment speech interpolation systems.
Algorithm overview
The typical design of a VAD algorithm is as follows:- There may first be a noise reduction stage, e.g. via spectral subtraction.
- Then some features or quantities are calculated from a section of the input signal.
- A classification rule is applied to classify the section as speech or non-speech – often this classification rule finds when a value exceeds a certain threshold.
A representative set of recently published VAD methods formulates the decision rule on a frame by frame basis using instantaneous measures of the divergence distance between speech and noise. The different measures which are used in VAD methods include spectral slope, correlation coefficients, log likelihood ratio, cepstral, weighted cepstral, and modified distance measures.
Independently from the choice of VAD algorithm, a compromise must be made between having voice detected as noise, or noise detected as voice. A VAD operating in a mobile phone must be able to detect speech in the presence of a range of very diverse types of acoustic background noise. In these difficult detection conditions it is often preferable that a VAD should fail-safe, indicating speech detected when the decision is in doubt, to lower the chance of losing speech segments. The biggest difficulty in the detection of speech in this environment is the very low signal-to-noise ratios that are encountered. It may be impossible to distinguish between speech and noise using simple level detection techniques when parts of the speech utterance are buried below the noise.
Applications
- VAD is an integral part of different speech communication systems such as audio conferencing, echo cancellation, speech recognition, speech encoding, speaker recognition and hands-free telephony.
- In the field of multimedia applications, VAD allows simultaneous voice and data applications.
- Similarly, in Universal Mobile Telecommunications Systems, it controls and reduces the average bit rate and enhances overall coding quality of speech.
- In cellular radio systems based on Discontinuous Transmission mode, VAD is essential for enhancing system capacity by reducing co-channel interference and power consumption in portable digital devices.
- In speech processing applications, voice activity detection plays an important role since non-speech frames are often discarded.
Use in telemarketing
One controversial application of VAD is in conjunction with predictive dialers used by telemarketing firms. In order to maximize agent productivity, telemarketing firms set up predictive dialers to call more numbers than they have agents available, knowing most calls will end up in either "Ring – No Answer" or answering machines. When a person answers, they typically speak briefly and then there is a brief period of silence. Answering machine messages are usually 3–15 seconds of continuous speech. By setting VAD parameters correctly, dialers can determine whether a person or a machine answered the call and, if it's a person, transfer the call to an available agent. If it detects an answering machine message, the dialer hangs up. Often, even when the system correctly detects a person answering the call, no agent may be available, resulting in a "silent call". Call screening with a multi-second message like "please say who you are, and I may pick up the phone" will frustrate such automated calls.Performance evaluation
To evaluate a VAD, its output using test recordings is compared with those of an "ideal" VAD – created by hand-annotating the presence or absence of voice in the recordings. The performance of a VAD is commonly evaluated on the basis of the following four parameters:- FEC : clipping introduced in passing from noise to speech activity;
- MSC : clipping due to speech misclassified as noise;
- OVER: noise interpreted as speech due to the VAD flag remaining active in passing from speech activity to noise;
- NDS : noise interpreted as speech within a silence period.
This kind of test requires a certain number of listeners to judge recordings containing the processing results of the VADs being tested, giving marks to several speech sequences on the following features:
- Quality;
- Comprehension difficulty;
- Audibility of clipping.
To conclude, whereas objective methods are very useful in an initial stage to evaluate the quality of a VAD, subjective methods are more significant. As they require the participation of several people for a few days, increasing cost, they are generally only used when a proposal is about to be standardized.
Implementations
- One early standard VAD is that developed by British Telecom for use in the Pan-European digital cellular mobile telephone service in 1991. It uses inverse filtering trained on non-speech segments to filter out background noise, so that it can then more reliably use a simple power-threshold to decide if a voice is present.
- The G.729 standard calculates the following features for its VAD: line spectral frequencies, full-band energy, low-band energy, and zero-crossing rate. It applies a simple classification using a fixed decision boundary in the space defined by these features, and then applies smoothing and adaptive correction to improve the estimate.
- The GSM standard includes two VAD options developed by ETSI. Option 1 computes the SNR in nine bands and applies a threshold to these values. Option 2 calculates different parameters: channel power, voice metrics, and noise power. It then thresholds the voice metrics using a threshold that varies according to the estimated SNR.
- The Speex audio compression library uses a procedure named Improved Minima Controlled Recursive Averaging, which uses a smoothed representation of spectral power and then looks at the minima of a smoothed periodogram. From version 1.2 it was replaced by what the author called a kludge.
- Lingua Libre, a Wikimedia tool and project of language documentation, using VAD to allow recording many pronunciations in a short amount of time.
- The VAD Android library utilizes a combination of GMM and DNN models, such as WebRTC GMM, Silero DNN, and Yamnet DNN. The library surpasses many production-grade models in both quality and performance.
- Recently DNN-based approaches demonstrated that VAD performance can be boosted with the help of deep learning. TEN VAD is a DNN-based approach with high performance, low size and low latency, surpassing the traditional approaches such as webRTC VAD and the SOTA DNN-based Silero VAD.