语音端点检测原理VAD——Voice Activity Detection(个人整理)

语音端点检测原理VAD——Voice Activity Detection(个人整理)

语音端点检测:用于确定给定音频数据中是否存在语音,通常用于语音编解码、降噪、增益控制、波束形成和唤醒识别。

[En]

Speech endpoint detection: used to determine whether there is speech in a given audio data, which is commonly used in speech codec, noise reduction, gain control, beamforming and wake-up recognition.

VAD检测给定音频数据含有语音的概率,VAD方法通常包括特征提取和语音/非语音判决两部分。

目前,语音信号在时间域和频域有两个主要的特征。

[En]

At present, there are two main speech features in time domain and frequency domain.

时域特征:
①能量波动;
②过零率
③最大能量
④最小能量等。

频域特征:
①基频;
②频谱组成;
③频谱质心;
④谱差;
⑤谱密度;
⑥谱衰减;

用于VAD判决的特征通常可以分为六大类:
①能量;
②频域;
③倒谱;
④谱差;
⑤谐波;
⑥长时信息;

基于能量的特征计算简单,如能量过零率,基于谱(频谱,倒谱和谱差)在低SNR可以获得较好的效果,当SNR为0dB时,基于语音谐波和长时语音特征判决方法的鲁棒性更强。

当前的判决准则可以分为3类:
①基于门限;
②基于统计模型;
③基于深度学习;

很多开源的语音宣发都是基于统计模型的判决方法,如WebRTC和Speex中基于高斯混合模型的VAD检测方法,这类方法对信噪比较高的音源检测效果良好。

随着深度学习的兴起,基于深度学习的VAD方法也已经在一些特定的场景商用,最新的WebRTC集成了基于RNN模型的VAD检测方法,该方法作为WebRTC新一代AGG(Automatic Gain Control,自动增益控制)算法的一个子部分存在。

远场情境下,由于传播路径较远,反射、散射、吸收、衰减的影响变强,这导致语音的SNR和SDR比近场差很多,如果此时仅用基于统计模型的检测方法并不能得到很好的判决结果,则有两种解决思路,一种是先提高SNR,再进行VAD检测,另一种是直接对低SNR的带噪语音进行检测,如一些基于深度学习的方法在训练语料中加入噪声,这类方法在数据集充分的前提下,其准确性可以超过基于统计模型的方法。

[TencentCloudSDKException] code:InvalidParameter.MissingParameter message:Check whether the parameters are carried or empty requestId:a0142caa-c8b9-4322-a11d-2c9d797c2f19

[En]

1.特征选取
特征对VAD检测尤为重要,好的特征应有如下特性。
①区分能力:
噪声语音和噪声音频之间的分离程度应该尽可能高。从理论上讲,好的特征可以防止语音特征和噪声特征的交叉。

[En]

The degree of separation between noisy speech and noisy audio should be as high as possible. In theory, good features can prevent the intersection of speech features and noise features.

②噪声鲁棒性:
背景噪声会导致语音失真,影响特征提取的分辨能力。

[En]

Background noise will cause speech distortion, which will affect the feature discrimination ability of extraction.

(1)基于能量的特征
信号的能量强度是基于能量的VAD检测方法的主要依据,在满足语音能量大于背景噪声能量的假设下,当能量大于某一门限时,则可以认为有语音存在,当噪声能量达到和语音能量一样大时,能量特征无法区分是语音还是纯噪声。

早先基于能量的方法将宽带语音分成各个子带,求各个子带能量,因为语音在2kHz以下频带含有大量的能量,而噪声在2~4kHz及4KHz以上的频带能量往往比在0到2KHz频带的能量高。这其实就是频谱平坦度的概率,WebRTC中基于统计模型方法用了频谱平坦度这一特征。基于能量方法在信噪比低于10dB时,语音和噪声的区分性能会加速下降。

(2)短时能量过零率
采集的语音信号在数字域中是正的和负的。从坐标轴上看,有些在正半轴上,有些在负半轴上,如图3-1所示。过零率等于一段时间内通过水平轴的次数与采样点总数的比值,反映了信号变化的速度。虽然它是一种时域特征,但它反映了频域信息的变化程度。过零率对低频噪声比较敏感,在实际应用中可以滤除低频部分。

[En]

The collected speech signals are positive and negative in the digital domain. From the coordinate axis, some are in the positive half axis and some in the negative half axis, as shown in figure 3-1. The zero-crossing rate is equal to the ratio of the number of times passing through the horizontal axis to the total number of sampling points in a period of time, which reflects the speed of signal change. Although it is a time-domain feature, it reflects the frequency-domain information in the degree of change. The zero-crossing rate is sensitive to low-frequency noise, and the low-frequency part can be filtered out in practice.

(3)频域特征
通过STFT将时域信号变成频域信号,俗称声谱图,即使SNR为0dB,一些频带的长时包络还是可以用于区分语音和噪声。

(4)倒谱特征
能量倒谱峰值确定了语音信号的基频,也有使用MFCC特征作为VAD判决的输入特征。

(5)基于谐波的特征
语音的一个明显特征是包含了基频F0及其多个谐波频率,即使在强噪声场景,谐波这一特征也是存在的,可以使用自相关的方法找到基频所在频点。

(6)长时特征
言语是一种不稳定的信号。在正常语速下,大多数人通常每秒发出10到15个音素,而且音素的频谱分布不同,导致语音统计特征随时间发生变化。此外,日常噪声大多是平稳的(变化较慢),如白噪声,也可以根据音频的长期统计特征来区分语音/噪声。

[En]

Speech is an unsteady signal. At normal speech speed, most people usually emit 10 to 15 phonemes per second, and the spectral distribution of phonemes is different, which leads to the change of speech statistical characteristics with time. In addition, most of the daily noise is steady (the change is relatively slow), such as white noise, which can also be used to distinguish speech / noise according to the long-term statistical characteristics of audio.

2.判决准则

2.1 门限

语音端点检测原理VAD——Voice Activity Detection(个人整理)
最小和最大能量值分别记为E0和E1,对应的门限为

语音端点检测原理VAD——Voice Activity Detection(个人整理)
则可以得到自适应门限:
语音端点检测原理VAD——Voice Activity Detection(个人整理)
大多数应用使用平滑策略来更新阈值,并使用平滑因子α来控制更新率。
[En]

Most applications use smoothing strategy to update the threshold and use smoothing factor α to control the update rate.

语音端点检测原理VAD——Voice Activity Detection(个人整理)
2.2 统计模型法
统计模型法最先源于似然比检验(LRT),这种方法假设语音和背景噪声是独立的高斯分布,这样它们的DFT系数可以用高斯随机变量来描述,设

语音端点检测原理VAD——Voice Activity Detection(个人整理)
分别表示非语音和语音。给定第k帧谱
语音端点检测原理VAD——Voice Activity Detection(个人整理)
噪声和语音的概率密度函数分别由以下表达式表示:
[En]

The probability density functions of noise and speech are expressed by the following expressions respectively:

语音端点检测原理VAD——Voice Activity Detection(个人整理)
其中,i是频点索引,
语音端点检测原理VAD——Voice Activity Detection(个人整理)
上式,分别是噪声和语音的方差向量。这些参数可以通过噪声估计和谱减的方法从训练数据集获得。然后可以获得第i个频段的似然比

语音端点检测原理VAD——Voice Activity Detection(个人整理)
判决为

语音端点检测原理VAD——Voice Activity Detection(个人整理)

语音端点检测原理VAD——Voice Activity Detection(个人整理)
被认为是有声音的,否则被认为是非声音的。
[En]

Is considered to be voice, otherwise it is considered to be non-voice.

WebRTC用定点化的方法实现了该似然比检验。取对数均值以提升判决的可靠性,但由于左侧log总是正数,因而这似然比偏向Hs,这种偏差可以通过减少只有噪声时似然比波动的判决引导(DD)方法来纠正,DD方法在与引导非语音变换区域容易发生错误,这又可以基于时域平滑减少错误的发生。

2.3 机器学习法
机器学习的思想是收集给定问题的大量语音和非语音样本,并通过机器学习方法获得决策模型(基于深度神经网络)的参数,从而可以使用具有大量参数的神经网络模型。最终的训练模型比高斯模型更接近真实语音模型。

[En]

The idea of machine learning is to collect a large number of speech and non-speech samples for a given problem, and the parameters of the decision model (based on depth neural network) are obtained by machine learning method, so that the neural network model with a large number of parameters can be used. The final trained model is closer to the real speech model than the Gaussian model.

机器学习法通常收集和标注训练集(音频集),提取合适的神经网络输入参数(特征),然后使用深度神经网络开发工具搭建网络模型,网络结构会使用(DNN、CNN、RNN、DCUNet)及他们组合的网络模型,根据训练结果选择适合的模型和参数作为部署模型。

同时,深度学习方法有两大缺点:

[En]

At the same time, the deep learning method has two major disadvantages:

①计算资源通常比传统方法更昂贵。

[En]

① computing resources are usually more expensive than traditional methods.

二是②模型的泛化能力通常比传统方法差。

[En]

The other is that the generalization ability of ② model is usually worse than that of traditional methods.

针对计算资源消耗大的问题,可以通过改变网络模型的结构、模型剪枝、压缩和定点等方法进行优化。

[En]

The problem of high consumption of computing resources can be optimized by changing the structure of the network model, model pruning, compression and fixed point.

针对该模型泛化能力较弱的问题,可以通过采用各种规则化方法、扩大训练数据集、改变网络输入特性等方法来改善。

[En]

The problem of weak generalization ability of the model can be improved by using various regular methods, expanding the training data set and changing the network input characteristics.

参考文献:
实时语音处理–实用指南

[En]

Real-time speech processing– A practical Guide

Original: https://blog.csdn.net/pk296256948/article/details/121664107
Author: 抽屉疯了
Title: 语音端点检测原理VAD——Voice Activity Detection(个人整理)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/527181/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球