Voice Activity Detection Scheme by Combining DNN Model with GMM Model

by   Lu Ma, et al.
NetEase, Inc

Due to the superior modeling ability of deep neural network (DNN), it is widely used in voice activity detection (VAD). However, the performance may degrade if no sufficient data especially for practical data could be used for training, thus, leading to inferior ability of adaption to environment. Moreover, large model structure could not always be used in practical, especially for low cost devices where restricted hardware is used. This is on the contrary for Gaussian mixture model (GMM) where model parameters can be updated in real-time, but, with low modeling ability. In this paper, deeply integrated scheme combining these two models are proposed to improve adaptability and modeling ability. This is done by directly combining the results of models and feeding it back, together with the result of the DNN model, to update the GMM model. Besides, a control scheme is elaborately designed to detect the endpoints of speech. The superior performance by employing this scheme is validated through experiments in practical, which give an insight into the advantage of combining supervised learning and unsupervised learning.



There are no comments yet.


page 1

page 2

page 3

page 4


Hierarchical learning for DNN-based acoustic scene classification

In this paper, we present a deep neural network (DNN)-based acoustic sce...

DNN-based cross-lingual voice conversion using Bottleneck Features

Cross-lingual voice conversion (CLVC) is a quite challenging task since ...

DS-UI: Dual-Supervised Mixture of Gaussian Mixture Models for Uncertainty Inference

This paper proposes a dual-supervised uncertainty inference (DS-UI) fram...

MLNET: An Adaptive Multiple Receptive-field Attention Neural Network for Voice Activity Detection

Voice activity detection (VAD) makes a distinction between speech and no...

Novel Hybrid DNN Approaches for Speaker Verification in Emotional and Stressful Talking Environments

In this work, we conducted an empirical comparative study of the perform...

Statistical Models in Forensic Voice Comparison

This chapter describes a number of signal-processing and statistical-mod...

Learning Visual Voice Activity Detection with an Automatically Annotated Dataset

Visual voice activity detection (V-VAD) uses visual features to predict ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Voice detection from audio stream, namely voice activity detection (VAD), plays a key role in many fields, such as speech coding, speaker separation and recognition, speech recognition, etc [1]. It is defined by extracting the starting and ending points of valid speech segment from a continuous audio signal. This will improve the data reliability after wiping off the invalid parts, thus, reducing the computational complexity and response time.

There are many algorithms to realize the detection, such as short-time energy, short-time average magnitude function (AM), short-time average zero-crossing rate (ZCR), short-time Auto Correlation, short-time average magnitude difference function (AMDF) in time domain, and Fourier analytics in frequency domain, etc

[2]. All these conventional methods perform well in low noise environment. However, their performances are sensitive to environment and will degrade severely with interference. This makes them inappropriate in practice, especially for scenarios where complex noise exists, such as music, clicking, talking, coughing, etc [3].

Recent years, deep neural network (DNN) is employed for VAD due to its superior modeling ability, especially for noisy environment [4]. A robust model can be obtained if sufficient data especially for practical data with diversity can be used for training, together with a perfect model structure. However, this may not always be satisfied in practice, which will degrade the performance, and, this cannot be addressed by roughly increase the model complexity, especially for low cost devices where source-restricted hardware is used. In this context, a lite structure is more appropriate for implementation in practice, but in turn, the model adaptability will be reduced. On the contrary, the model parameters of Gaussian mixture model (GMM) can be updated in real-time with feedback structure, giving a higher adaptability to environment [5]. Unfortunately, it has low modeling ability compared with that of DNN.

In this paper, a deeply integrated scheme combining these two models are proposed to improve adaptability and modeling ability. This is done by directly combining the results of models and feeding it back to update the GMM model. In the same time, the probabilities of speech and silence calculated by DNN model are used for parameters update of GMM model. Therefore, the attribution corresponding to speech or silence can be obtained for each frame. In addition, a control scheme is elaborately designed and illustrated to detect the endpoints of speech. The superior performance by employing this scheme is validated by experiments in practical.

2 Algorithm Scheme

2.1 Algorithm structure

The structure of the VAD algorithm is illustrated in Fig. 1. Two models namely DNN and GMM are used in the algorithm. For GMM model, GMM is used to model speech and noise respectively. For each input frame of audio, the probability of speech and that of noise are calculated respectively, and then the likelihood ratio of these two probabilities is calculated. The result is compared with a threshold value, and judged as speech if it is greater than the threshold value, otherwise is silence. The GMM can update the model parameters in real time according to environment. However, due to the limited modeling ability of GMM model, it is impossible to achieve accurate speech modeling, especially in complex audio environment, degrading the VAD performance. Fortunately, with superior modeling ability, the neural network (NN) can be employed to enhance the detection accuracy.

However, since the neural network is trained with corpus often constructed artificially, which is different from real data, there would be difference between the trained model and the real one. In addition, because data volume and data types cannot always be guaranteed to cover all real application scenarios in the training stage, there will also be some defects applying the NN model in practice. Therefore, the fusion of these two kinds of models can make use of the modeling ability of the neural network and the environmental adaptability of GMM model, so as to achieve better detection performance.

Figure 1: Structure of combining DNN model with GMM model

2.2 DNN model

2.2.1 Feature extraction

For DNN model, 29 dimensions of Fbank features are first extracted and then differential between consecutive frames is performed to obtain the and the delta features [6], followed by the cepstrum mean normalization (CMN) [7], resulting a dimension of features. Thereafter, the features of the left context and the right context with respect to this frame are combined together for considering the temporal property of speech. These features are fed into a two layer dense neural network (DNN) with softmax activations as shown in Fig. 2. The number of nodes in hidden lay is 32 and that of the output is 2, where one is for the probability of speech and the other is for silence.

Since the accuracy of detection would be increasing with the complexity of DNN, only a lite two-layer DNN model is employed here for considering the hardware restriction and the response time of device, especially for lowcost devices.

Figure 2: Feature extraction for DNN model

2.2.2 Data preparation

Large volume of audio files with labels is required for DNN training. Two types of corpus can be manufactured and used for training. One is simulation data, and the other is practical data.

. This is obtained by adding different type of noise to the clean files and calculate the feature vectors, while the label corresponding to this noisy frame is generated by calculating the energy of the clean speech frame and comparing with the threshold as depicted in Fig.

3. Aside from the actual labels of “0” and “1”, an additional label “0.5” is employed for considering the uncertainty of speech during transitions.

. It is obtained by collecting them from the real devices. For generalization, different types of device with different performance of hardware and software algorithm should be included for diversity. Therefore, the work lays on the manipulation of labels corresponding to this corpus. Fortunately, this can be done by employing annotation tool such as Praat and etc. As depicted in Fig. 4, the long segments belong to speech or noise can be easily obtained with annotation tool. Since these labels are obtained roughly, a refined label corresponding to each should be prepared. This can be done by partitioning the long segment into frames with same labels. As is noted above, the labels around the boundary could be replaced by “0.5” for considering the uncertainty of these regions.

Figure 3: Simulation data preparation
Figure 4: Label design of practical data

2.3 GMM model

The GMM model from open source of Web Real-Time Communication (WebRTC)

[8, 9, 10] is employed and schematically derived here. With the independent assumption for this two mixture components, i.e., the log-likelihood ratio (LLR) of the GMM model of the WebRTC can be expressed by


where denotes the exponential function of , is the input feature vectors with two mixture components and , and

are the mean and variance values of a subband of speech corresponding to variable

, and mean and variance values of a subband of speech corresponding to variable . and are the mean values of a subband of noise and and

are the corresponding variances. The Gaussian distribution is denoted by


There are six subands considered in WebRTC. The overall LLR is obtained by weighting average that of these subbands as


The LLR of each subband is first compared with threshold to decide whether it is speech or not. Speech is considered if one of the subbands is confirmed. Otherwise, the overall LLR is compared with the threshold by


The update equations of mean and variance for noise is summarized as


Similarly, the update equations of mean and variance for speech is summarized as


where the subscript denotes noise, denotes the -th component of GMM, and the coefficients are chosen as , , , in WebRTC. The minimum value of noise denoted by is obtained by


In this way, the noise would increase slowly for trying to keep the primary noise invariant, while decrease rapidly to keep tracking the variation of noise.

2.4 Combination scheme

The two outputs corresponding to the probabilities of speech and silence from DNN can be used for optimizing the model updating of GMM, and the judgments of these two models can be combined together by


where and are the detection results of the DNN and GMM models respectively. This result is then be used for controlling the parameters updating of GMM model as indicated by Eq. (4) Eq. (5).

Moreover, the probability of the noise and that of speech can also the updated and optimized by utilizing the softmax output of DNN model. This can be done by the equations bellow.


where and are the probabilities corresponding to noise and speech of the ()-th frame of the DNN model, and are those of the GMM model, and are the smoothing coefficients. Moreover, the probabilities should be normalized.

The values of smoothing coefficients can be selected based on the fact that the DNN has superior ability to modeling speech than that of GMM, while, it is more likely to be noise if determined by GMM model due to the rigorous judgement of noise. Thus, the coefficients can be selected as .

3 Endpoints Detection

With the aforementioned calculation model, the attribution of each frame can be determined to be speech or not. In this context, a judging logic to calculate the beginning and the ending, i.e., the endpoints of speech, is required as depicted in Fig. 5.

A sliding window is used for accumulate the number of frames corresponding to speech as shown in Fig. 5 where each point is corresponding to a frame and is marked by a specific color representing whether it is speech or not. Here, the one marked by red is considered as speech and the other is silence. The window is sliding with time, that is, every time one frame is sliding out and another one is coming in. Only when the number of speech frames in the frames window is larger than the threshold denoted by (where is the percentage of speech frames with respect to the window length ), would endpoint of speech be detected. However, this is not the real endpoint considering the durative property of speech. In this context, the real one can be obtained by looking back with frames as shown in Fig. 5 where the position is traceback from the -th frame to the frame. It is notable that, the parameter could be larger than the window length only when the frame marked 1 is not the real frame of the long speech.

As long as the endpoints are obtained, would the speech segment be extracted out. In practice, a data buffer with finite length would be used for reserving the incoming data during detection. There may be some situations that should be taken into consideration in terms of the length of buffer and the segment length of detected speech.

Figure 5: Schematic design of endpoint detection

3.1 Inside data buffer

When the length of the detected speech segment is within the length of data buffer, the pointers corresponding to the beginning and ending of the speech segment can be directly obtained as depicted in Fig. 6(a) by


where and are the pointers of the current frame and the detected beginning of the speech segment, and are the length of the available speech segment and the traceback. is obtained by accumulating the frames as long as the beginning of the speech segment is detected. Therefore, with the beginning pointer and the data length , the speech segment can be extracted.

Figure 6: Speech segment overflows data buffer

3.2 Outside data buffer

When the end point of the speech segment exceeds the current data buffer as depicted in Fig. 6(b), these overflowed data will be rolled back to the front of the data buffer and cover the old data. Three additional cases would occur as follows.

a) The end point of speech segment is pulled back to the position within the data buffer due to traceback. Therefore, the endpoints of the speech segment can be directly written as


b) The end point of speech segment is indeed be rolled back to the front of the data buffer but is at the left side of the beginning point of the speech segment. In this context, the speech segment is partitioned into two parts, and the beginning and ending of the speech segment can be expressed as


The overall speech segment is obtained by concatenating the pointer of and .

c) The end point has not been detected even when the pointer is overflowed and rolled back to the front of the data buffer. Moreover, the pointer is now just at the left side of the beginning of the speech segment, if the data reserved in the buffer is not taken away, it will be covered by the new coming data. Therefore, all the data from the beginning of the speech should be copy away immediately no matter whether the end point has been detected or not. The pointer can be expressed as


4 Validations

The performance is validated from the perspective of experiments and simulations.

. The proposed scheme is validated on four platforms for comparison, each equipped with different algorithms. Due to hardware restriction, the enhancement algorithms on the devices are different, thus, giving different quality of speech. Moreover, the parameters for detecting the beginning and the ending of speech segment are tuned to obtain an optimal accuracy with the same length of data buffer. Due to hardware restrictions, the VAD model used for devices named “A” and “B” are GMM model with two mixture components. While, it is DNN model for devices named “C” and “D” which are high-performance hardware. As is depicted in Table 1, it has superior detecting accuracy than the standalone scheme.

. The detection accuracy at different noisy conditions are compared among the algorithms shown in Table 2

. This is done by adding different type of noise into the clean speech with different signal-to-noise ratio (SNR). It can be seen that due to insufficient training, VAD with DNN model could be inferior than that with GMM model. While, it is obvious that the proposed scheme is superior to the standalone models.

Algorithm Device Type
GMM 90.74
DNN 98
Proposed 92.59 100
Table 1: Comparisons by experiments
SNR Noise Type Algorithm
5dB Wind 95.2 97.60 100
Water 97.6 40.40 100
Babble 90.40 81.00 100
Television 95.20 92.80 97.60
10dB Wind 97.60 100 100
Water 97.60 69 100
Babble 95.20 97.60 100
Television 100 97.60 100
15dB Wind 97.60 100 100
Water 100 97.60 100
Babble 97.60 97.60 100
Television 100 100 100
Table 2: Comparisons by simulations

5 Conclusions

A deeply integrated scheme combining DNN and GMM models is proposed in this paper to estimate whether the frame is speech or not. The modeling ability of DNN model and the adaptive ability of GMM model can be utilized together for improving the estimation accuracy. With the lite structure of the integrated scheme, it is more suitable for implementation in practice. In addition to the estimation algorithm, a detecting scheme to extract the speech segment from an audio stream is elaborately designed and detailed discussed. The proposed scheme is validated from practical experiments, demonstrating superior performance. This provides a insight into the advantage for combining supervised learning and unsupervised learning.


  • [1] D. Singh, F. Boland, “Voice activity detection,” Crossroads, vol. 13, no. 4, pp. 7, 2007.
  • [2] X. Yang, B. Tan, J. Ding, and et al., “Comparative study on voice activity detection algorithm,” in International Conference on Electrical and Control Engineering, iCECE, 2010, pp. 599–602.
  • [3] C. K. Pham, “Noise robust voice activity detection,” Master dissertation, Nanyang Technological University, 2012
  • [4]

    X. L. Zhang, J. WU, “Deep belief network based voice activity detection,”

    IEEE Transactions on Audio, Speech, and Language Processing, vol. 21, no. 4, pp. 691–710, 2013.
  • [5] D. Ying, Y. Yan, J. Dang, et al., “Voice activity detection based on an unsupervised learning framework,” IEEE Transactions on Audio Speech and Language Processing, vol. 19, no. 8, pp. 2624–2633, 2011.
  • [6]

    M. Chen, X. He, J. Yang and et al., “3-D convolutional recurrent neural networks with attention model for speech emotion recognition,”

    IEEE Signal Processing Letters, vol. 25, no. 10, pp. 1440–1444, 2018.
  • [7] M. Morishima, T. Isobe, J. Takahashi, “Phonetically adaptive cepstrum mean normalization for acoustic mismatch compensation,”

    IEEE Workshop on Automatic Speech Recognition

    , ASRU, 1997, pp. 436-441.
  • [8] R. Chand, H. prasad, “Real time communication using WebRTC,” International Journal of Mobile Computing and Application, vol. 5. vol. 1–3, 2018.
  • [9] Salvatore Loreto, Simon Pietro Romano, “Real-time communication with WebRTC,” O’Reilly Media, Inc., 2014.
  • [10] WebRTC Source, https://chromium.googlesource.com/external/webrtc.