webrtc gmm vad 原理分析

11 7 月, 2021

1、webrtc自带VAD算法介绍

因为不同采样率都是下采样到8K进行VAD判决的,因此这里仅分析8K采样率的原理。首先把语音分成6个子带,其频带范围分别为80–250Hz,250–500Hz,500–1000Hz,1000–2000Hz,2000–3000Hz,3000–4000Hz。并分别计算每个子带的对数能量和当前帧的总能量。

每个子带的对数能量即为求得的特征矢量。然后根据在每个特征矢量的基础上分别根据下式求其概率分布(H0假设和H1假设),H0假设即假设当前帧为噪声,然后计算其为噪声的概率;H1假设则假设当前帧为语音,计算其为语音的概率。

(1-1)

然后求这两个概率的差值(H1-H0),如果其差值大于一定门限(固定值,只跟帧长有关),则表示当前子带为语音,同时对这个差值根据一定的权值进行加权,最终把六个子带的加权差值和一个门限值(固定值,只跟帧长有关)进行比较,只要这7个值其中有一个大于门限值就把当前帧判为语音。同时,针对VAD的判决结果还有一个平滑保护。

在计算完概率后同样要对高斯模型的参数(均值和方差)进行更新。根据VAD判决结果分别更新其噪声或语音的高斯模型


zeark