《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于统计模型的语音激活检测算法改进
基于统计模型的语音激活检测算法改进
2015年微型机与应用第12期
张金榜1,尹冬梅2
1.武警警官学院 信息工程系,四川 成都 610213;2.武警江苏省总队 通信站修理所,江苏 南京 210019
摘要: 语音激活检测技术是应用于语音侦听领域降低节点能耗的关键技术之一,其核心是语音激活检测算法。针对基于统计模型的语音激活检测算法仅采用当前语音帧的参数来判断有无语音信号而带来的误检率高的问题,提出用相邻语音帧逻辑与运算的方法对其进行改进。试验表明:改进后的算法在误检率上明显低于改进前,提高了语音信号检测的准确性,有效地降低了节点能耗。
Abstract:
Key words :

  摘  要语音激活检测技术是应用于语音侦听领域降低节点能耗的关键技术之一,其核心是语音激活检测算法。针对基于统计模型的语音激活检测算法仅采用当前语音帧的参数来判断有无语音信号而带来的误检率高的问题,提出用相邻语音帧逻辑与运算的方法对其进行改进。试验表明:改进后的算法在误检率上明显低于改进前,提高了语音信号检测的准确性,有效地降低了节点能耗。
  关键词: 统计模型;语音激活检测;检测算法
0 引言
  语音激活检测技术是利用语音激活检测算法,仅当检测到语音信号时激活节点,使之从休眠状态转换到工作状态,其余时间处于休眠状态,是降低节点能耗的关键技术之一。基于统计模型的语音激活检测算法,通过选取特征参数建立统计分布模型,根据当前帧的信息计算出模型中的未知参数,得出判决准则,并据此判断有无语音信号[1]。其优点是能够适应时变噪声的特点,在复杂环境下,检测的准确率较高[2-4]。但只根据当前语音帧的参数来判断有无语音信号具有一定的局限性,极易出现误判的情况。因此,对基于统计模型的语音激活检测算法加以改进来降低误检率,对语音侦听领域具有十分重要的意义。
1 基于统计模型的语音激活检测算法
  1.1 算法的基本步骤
  基于统计模型的语音激活检测算法[2-3,5]以贝叶斯定理和似然比检验为基础,检验过程分提出假设、分析参数和检验判决三步。
  1.1.1 提出假设
  待测音信号X有两种假设:一是只有噪声N存在,则原假设H0为真,判定未检测到语音;二是语音S与噪声N同时存在(S与N互不相关),则备选假设H1为真,判定检测到语音,可以描述为:
  H0∶X(t)=N(t)(1)
  判定不存在语音信号。
  H1∶X(t)=N(t)+S(t)(2)
  判定存在语音信号。
  1.1.2 分析参数
  首先要根据其频率特征进行周期性采样,使波形参数由连续时间序列变为离散时间序列。然后根据采样信号的振幅绝对值描绘直方图,计算概率密度表达式,将模拟的语音信号用数字参数表示出来[1]。第t帧加噪信号、纯语音信号和噪声信号的离散傅里叶变换系数如下。
  X(t)=[X0(t),X1(t),…,XM-1(t)]T(3)
  S(t)=[S0(t),S1(t),…,SM-1(t)]T(4)
  N(t)=[N0(t),N1(t),…,NM-1(t)]T(5)
  在X(t)、S(t)、N(t)中,第k个谱分量的系数分别为Xk、Sk和Nk。用Xk(R)和Xk(I)分别表示离散傅里叶变换系数Xk的实部和虚部,假设每个DFT系数的实部和虚部都服从拉普拉斯概率密度函数,如果其实部和虚部的方差相同,则Xk(R)和Xk(I)的概率密度分布如式(6)和式(7)所示。
  (GUJU376}[`Z(`0{6T5BKTF.png

  其中,8OOJ~X(269M]UIA68]UG~KK.png是指Xk方差的平方根。因为Xk的实部和虚部近似独立,其方差可以看作相等,则Xk的概率密度函数可以表示为[1,6]:
 NLQZ$HWN@G9KR0JVA3UK)UO.png  

     H0和H1的条件概率密度函数分别为:
 X}D91I~XBJ[[N030[~G4$XC.png

  其中,λs,k和λn,k分别代表Sk和Nk的方差。
  1.1.3 检验判决
  根据两个假设的条件概率密度函数,计算出第k个频谱分量的似然比:
  MBG()VL$UHT_XQC9$M~XD[R.png

  其中,Λk是基于拉普拉斯统计分布模型的语音激活检测算法的第k个频谱分量的判决统计量。将加噪语音分析后,根据式(11)计算出信号第k个频谱分量的似然比,在实际应用中,为了使计算简单,可以用瞬时谱幅度|Xk|代替N]TMPO$FWDD%C}]KHUPRUWG.png

  `$5E)Z(RADMWA@3KLSTSH{R.png

  两个假设的拉普拉斯概率密度如图1所示。在两个概率密度曲线的交点处,P(Xk|H0)=P(Xk|H1),似然比Λk=1;在两个交点之间,P(Xk|H0)>P(Xk|H1),Λk<1,H1的概率小于H0的概率,H0成立,检测不存在语音信号;在两个交点之外,P(Xk|H0)<P(Xk|H1),Λk>1,则H1的概率大于H0的概率,H1成立,即检测到语音信号。

Image 001.png

  1.2 算法的流程
  基于统计模型的语音激活检测算法流程如图2所示。

Image 002.png

2 算法的改进
  2.1 改进的思想
  算法的改进参照逻辑与运算的思想,真值表如表1所示。在基于统计模型算法的基础上:(1)如果第k帧(k为大于等于1的正整数)信号检测判定结果是“0”,第k-1帧信号输出结果是“0”,那么经过与运算的结果是“0”,表示无语音信号;(2)如果第k帧信号检测判定结果是“0”,第k-1帧信号检测判定结果是“1”,与运算后的结果是“0”,同样判断无语音信号;(3)如果第k帧信号检测判定的结果是“1”,第k-1帧信号检测判定结果是“0”,那么经过与运算的结果还是“0”,依然判为无语音信号;(4)只有两次检测的结果均为“1”,与运算后的结果才是“1”,才能证明有语音信号存在。只有当前帧信号的判决结果是“1”时,才有可能判断有语音信号存在。所以为简便判决,只在当前帧判决结果为“1”时执行与运算。

Image 007.png

  2.2 改进算法的流程
  改进算法的工作原理是将一段语音信号采样分帧处理后,对第k帧信号依据上节的检测激活算法完成检验判决,将结果存于寄存器,若结果为“0”,返回继续完成后续帧的检验;若结果为“1”,与上一帧信号进行与运算,根据运算结果完成最后判决。改进后的算法流程如图3所示。

Image 003.png

3 改进算法的验证与分析
  3.1 试验步骤和结果
  语音信号的检测仿真选用MATLAB平台。仿真主要完成不同噪声环境下基于统计模型的语音激活检测算法(用算法1表示)和其改进算法(用算法2表示)误检率的测试。
  试验步骤如下:(1)在较为安静的环境下录制一段长约6 s的语音片段作为原始样本,保存为.wav格式;(2)将语音原始样本分别与车辆噪声和人群噪声混合;(3)将混合信号在信噪比0~20 dB之间应用两种检测算法进行仿真,得出误判率。试验结果如图4、图5所示。

Image 004.png

  3.2 试验结果分析
  在车辆噪声环境下,算法的误检率随信噪比的增加而增加,这是由于车辆噪声和语音信号的差异性导致信噪比增加时算法的正确率和错误率同时增加,而错误率的增长幅度大于正确率的增长幅度。在人群噪声环境下,算法的误检率随信噪比的增加而减少。
  在两种噪声环境且信噪比相同的情况下,改进后的算法在语音信号的误检率上均明显低于改进前的误检率,提高了语音信号检测的准确性;而语音激活检测技术是当且仅当检测到语音信号时,才激活语音侦听节点从休眠状态转换为工作状态,因此改进后的算法降低了节点能耗,延长了节点的生命周期。
4 结论
  改进的基于统计模型的语音激活检测算法是通过相邻帧逻辑与的方法来实现的。试验结果表明:算法改进后,语音信号的误检率明显低于改进之前,降低了节点能耗,延长了节点寿命,适用于便携式语音检测装置中。
参考文献
  [1] 彭利华.高噪声环境下语音激活检测技术的研究[D].武汉:华中科技大学,2007.
  [2] SOHN J S, SUNG W Y. A voice activity detector employing soft decision based noise spectrum adaptation[C]. Proceeding of the IEEE Speech Coding Workshop, 1998:365-368.
  [3] CHO Y D, KONDOZ A. Analysis and improvement of a statisticalmodel-based voice activity detector[J]. IEEE Signal Processing Letters, 2001,8(10):276-278.
  [4] 戴启军,卞正中,陈砚圃,等.基于统计模型实现语音信号有声/无声检测的研究[J].西安交通大学学报,2002,36(8):839-846.
  [5] EPHRAIM Y, MALAH D. Speech enhancement using a minimummean-square error short-time spectral amplitude estimator[J]. IEEE Transactions on Acoust Speech and Signal Processing,1984,32(6):1109-1121.
  [6] 景占荣,羊彦.信号检测与估计[M].北京:化学工业出版社,2004.

此内容为AET网站原创,未经授权禁止转载。