端点检测(VAD)技术

转载地址:https://blog.csdn.net/zachmm/article/details/41825023

端点检测是语音识别和语音处理的一个基本环节,也是语音识别研究的一个热点领域。技术的主要目的是从输入的语音中对语音和非语音进行区分,主要功能可以有:

    1. 自动打断。
    2. 去掉语音中的静音成分。
    3. 获取输入语音中有效语音。
    4. 去除噪声,对语音进行增强。

目前,端点检测技术主要是根据语音的一些时域或频域特征进行区分。

一,时域参数

时域参数端点检测是根据时域中的特征参数进行区分,一般如果信噪比较高的时候,效果至少90%以上。

  1. 时域能量大小。
  2. 时域平均过零率。
  3. 短时相关性分析。相关性分析主要是利用语音的相关性比噪声强,噪声之间的相关性呈现下降的趋势,但因为噪声种类太多,因此只针对少量、特定噪声。
  4. 能量变化率。也有人用这个,没有实验过。
  5. 对数能量。
  6. 子带能量。实验表明,这个效果会比单纯的能量要好。
  7. GMM假设检验。
  8. 其它。其它也有一些,都是从自适应、噪声能量估计、信噪比估计等角度出发。

二,频域参数

频域参数的抗噪性会比时域要好,但计算的cost也要高,下列技术是主流

  1. 谱熵。谱熵在频域与时域较量时,是比较优秀的,鲁棒性明显好于时域。
  2. 频域子带。这种方法对于自适应类的算法来说,是比较优秀的,因为可以通过子带选择和设计,改变噪声的估计。
  3. 自适应子波。这种算法通过子波的自适应,可以使得每一个相关帧的子波数和设计都不一样,如选择16个子带,选取频谱分布在250至3.5K之间,且能量不超过该帧总能量90%的子带,此时能够较好的消除噪声对端点的影响。
  4. 基频。有人这样尝试,通过基频的检测,来表达声音是否真的存在,这类算法的鲁棒性很强,但对于轻音就会面临比较大的风险了。
  5. 其它。自适应等思路。

三,时域和频域结合参数

这类算法通过把时域和频域相结合的思路来设计算法,也是主流,因为时域计算快,可以快速检测,而频域更能表达噪声的特征。

  1. 自适应能量子带的谱熵检测。把能量划分子带,结合谱熵。一般单一的谱熵不能很好的表达噪声在帧内的加性能量噪声。
  2. 基频和时域的结合。在轻音时,通过能量的门限确定范围。
  3. 其它。

四,基于模型的端点检测

在大数据年代,这已经慢慢的是一种主流了。此类算法的一个诱惑力的特点是检测准确率明显高于基于能量的方法,SNR越不好,效果越明显。另一个让人恐惧的特点是训练环境与实际环境不符合时,效果特点不好。因此模型和时域结合,可能比较好。

  1. HMM。这个应用和语音识别一样,用分布表达语音的分布情况。
  2. MLP。根据频域和时域区分性特征,达到分类的效果。
  3. DNN。主要训练噪声模型。

五,效果

就效果来说,对于一般应用,如果信噪比很高,用什么算法都可以。如果信噪比不高,基本上用什么都不是很行,在基频或模型效果可能会优于其它的算法。

你可能感兴趣的:(端点检测(VAD)技术)