小奥的学习笔记

  • Home
  • Learning & Working
    • Speech Enhancement Notes
    • Programming language
    • Computer & DL
    • MOOC
  • Life
    • Life Time
    • Thinking & Comprehension
    • Volunteer
    • Plan
    • Travel
  • Footprints
  • GuestBook
  • About
    • About Me
    • 个人履历
    • 隐私策略
  1. 首页
  2. Study-notes
  3. Computer & DL
  4. 语音处理学习笔记
  5. 正文

《实时语音处理实践指南》学习笔记:第三章

2020年10月17日 3151点热度 0人点赞 1条评论

第三章 语音端点检测(VAD)

  1. WebRTC中集成了基于RNN模型的VAD检测算法,该方法也作为WebRTC新一代AGC算法的一个子模块而存在。

第一节 特征选取

  1. 一个好的VAD特征应该具备以下特性:
  • 区分能力:含噪语音和仅含噪声音频的分离度应该尽可能的大。理论上的最好效果是让语音特征和噪声特征没有交集(实际很难,因为会有相似)
  • 噪声鲁棒性:背景噪声会造成语音失真,这会影响提取的特征区分能力。
  1. 基于能量的特征:基于能量的方法可以将宽带语音分成各个子带,求各个子带的能量。这是因为语音在2kHz以下频带含有大量的能量,而噪声在2~4kHz及4kHz以上频带的能量往往要比在0~2kHz的能量高。这其实就是噪声平坦度的概念。WebRTC中基于统计模型方法利用了频谱平坦度的特征。基于能量的方法在信噪比低于10dB的时候,语音和噪声的区分性能会大大下降。
  2. 短时能量过零率:采集到的语音信号在数字域上有正负之分。过零率等于一段时间内穿过横轴的次数与总采样点数的比值,它反映了信号变化的快慢,虽然是时域特征,但变化快慢在一定程度上体现了频域的信息。过零率对低频噪声敏感,实际使用中可以过滤掉低频部分。
  3. 频域特征:通过STFT将时域信号变成频域信号,即使SNR=0的时候,一些频带的长时包络还是可以用于区分语音和噪声的。
  4. 倒谱特征:能量倒谱峰值确定了语音信号的基频,也有使用MFCC特征的。
  5. 基于谐波的特征:语音的一个明显特征是包含了基频F0和多个谐波频率的,即使在强噪声条件下,谐波这一特征也存在,可以使用自相关的方法找到基频所在的频点。
  6. 长时特征:语音是非稳态信号,音素间的谱分布是不同的,这就导致了随着时间变化,语音统计特性也是变化的。另外,日常绝大多数噪声都是稳态的(变化较慢),如白噪声、家电噪声等,根据音频长时统计变化特征(语音变化快,日常稳态噪声变化慢)也可以区分噪声和语音。

第二节 判决准则

  1. 门限:门限通常是根据目标场景的数据集与处理得到的。对于噪声变化的场景,需要使用自适应的门限。绝大多数情况可以使用平滑策略来更新门限值。
  2. 统计模型法。类似于IMCRA噪声估计方法,源于似然比检验(LRT),假设语音和背景噪声是独立的高斯分布,这样DFT系数可以用高斯随机变量来描述。

WebRTC用定点化的方法实现了该似然比检验,式(3.4)取对数均值以提升判决的可靠性,如果它大于阈值,则认为是语音;否则认为是非语音。由于式(3.4)中左侧的log总是正数,因而这意思然偏向于Hs,这种偏差可以通过减小只有噪声时似然比波动的判决引导(DD)方法来纠正。DD方法在语音到非语音变换区域可能发生错误,这时又可以基于时域平滑法来减少错误的发生。

第三节 语音/非语音帧初始参数

  1. WebRTC子带的VAD使用了二维高斯模型,这些参数不一定适用于所有场景,如果使用场景有变化,则对初始参数的调优也是影响算法性能的一个方面,通过EM算法来获得模型初始参数的流程图如下图所示。

首先将原始的语音采样率重采样到目标采样率,然后对语音进行分帧和STFT变换(或二分频子带滤波法),根据STFT计算结果,计算各个子带的能量,最后将子带能量组成特征矩阵。该特征矩阵里语音数据是没有标注过的,所以预先不知道特征矩阵里面的数据是语音还是噪声,但是可以知道语音、噪声和带噪语音是有差异的,所有的语音又具有共性。如语音子带能量分布特征等,这里就用聚类的思想经过多轮迭代将相似的数据聚合在一起,再根据聚合后的数据求得高斯分布参数。另外还需要准备一个测试集,验证训练出来的模型的正确性,当正确性达到某一个门限时,就将其作为模型初始参数。

2.在语音相关处理算法中,大多数算法使用了多维高斯分布,多维高斯分布的均值向量和协方差矩阵参数由各个单高斯的均值和方差得到,当不同高斯成分不相关时,且协方差矩阵退化为对角矩阵,这样可以减少计算量。

3.EM算法。EM算法是采用迭代方法获得统计模型参数的最大后验概率估计法,EM算法可以用于数据聚类以及说话人识别等场景。具体过程如下:

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 语音处理 语音活动检测 语音端点检测
最后更新:2020年10月17日

davidcheung

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

搜索
欢迎关注我的个人公众号
最新 热点 随机
最新 热点 随机
DEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架 奥地利匈牙利九日游旅程 论文阅读之Study of the General Kalman Filter for Echo Cancellation 小奥看房之鸿荣源珈誉府 杭州往返旅途及西溪喜来登和万怡的体验报告 2022年的第一篇碎碎念
奥地利匈牙利九日游旅程论文阅读之Study of the General Kalman Filter for Echo CancellationDEEPFILTERNET:一种基于深度滤波的全频带音频低复杂度语音增强框架
常用的英语吉祥话 小花豆生活第8天:平凡的一天 We are ready!Welcome to Shandong! Welcome to my blog Python语言程序设计(第1、2周)整理 我校举办“我的世园,我的志愿”对话交流活动
标签聚合
高中 Python linux 学习 leetcode python学习 生活 鸟哥的linux私房菜 Java 算法
最近评论
davidcheung 发布于 5 个月前(02月09日) The problem has been fixed. May I ask if you can s...
tk88 发布于 5 个月前(02月07日) Hmm is anyone else having problems with the pictur...
cuicui 发布于 9 个月前(10月20日) :wink:
niming 发布于 10 个月前(09月19日) 同级校友,能刷到太巧了
davidcheung 发布于 2 年前(08月16日) 我得找一下我之前整理的word文档看一下,如果找到了我就更新一下这篇文章。
Nolan 发布于 2 年前(07月25日) 您的笔记非常有帮助。贴图不显示了,可以更新一下吗?
davidcheung 发布于 3 年前(06月19日) 到没有看webrtc的代码。现在主要在看我们公司的代码了。。。只是偶尔看一看webrtc的东西。。。
aobai 发布于 3 年前(03月13日) gain_change_hangover_ 应该是每三个block 只能够调整一次,这样保证每帧...
匿名 发布于 5 年前(12月30日) 烫
小奥 发布于 5 年前(12月12日) webRTC里面的NS本身我记得就是在C++里面呀

COPYRIGHT © 2025 小奥的学习笔记. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

陕ICP备19003234号-1

鲁公网安备37120202000100号