语音端点检测的作用是定位语音的起始点和终止点。作为关键的预处理技术,端点检测在语音处理、语音识别中起到至关重要的作用。
端点检测方法主要可分为两类。第一类是基于参数变化轨迹的方法,这类算法利用状态自动机和一组判决阀值(固定或自适应)以区分语音帧和非语音帧。第二类方法是基于模型匹配的方法,这类算法分别训练语音参数模型和非语音参数模型,语音帧(非语音帧)通过模型匹配进行区分,如基于支持向量机(support vector machine,SVM)[1, 2, 3]、基于隐马尔科夫模型(hidden markov model,HMM)的端点检测方法[4]。
端点检测的关键在于提取区分语音和非语音的检测参数。常用的参数有短时能量、短时过零率、倒谱距离、谱熵、自相关系数等。但是在语音信号受到噪声干扰,特别是信噪比较低时,常规参数受到影响较大。为了提高端点检测算法的鲁棒性,提出了众多的改进参数,如均值差分系数(mean delta,MD)[5, 6]、长时信号变化率系数(long-term signal variability,LTSV)[7, 8]、能量熵系数(energy-entropy feature,EEF)[9]、感知语谱结构边界参数[10]、teager能量算子等[11, 12]。也有部分算法对语音信号增强后再提取端点检测参数进行检测[13, 14, 15, 16]。
本研究根据语音的频域特性,提出了基于临界频带的谱熵系数和差值频域能量参数,并将两者结合成新的能量熵系数。在端点判决过程中,为了避免因单一阈值判决造成的误判,加入过渡段判决。试验表明,本研究提出的端点检测算法在不同类型噪声下依然能够比较准确区分语音帧和非语音帧,具有较好的鲁棒性。
1 端点检测参数 1.1 基于临界频带的谱熵熵函数一般用来表征集合的混乱程度:在某个集合中,样本越分散则熵值越大[17]。
谱熵根据语音和噪声的频谱分布差异进行区分。纯净语音的频谱主要集中在有限的低频部分,熵值较小,噪声的频谱分布较为广泛,熵值较大。
设语音信号为s(t),经过分帧加窗,进行FFT变换后,得到每帧信号频谱Si(fm)。对每帧内频谱分量进行归一化处理,得到每个频谱分量的概率密度函数
Pm=Si(fm)/$\sum\limits_{k=0}^{N-1}{{}}$Si(fk),(m=1,2,…,N),
(1)
Hi=-$\sum\limits_{m=1}^{N}{{}}$Pm log Pm。
(2)
传统的谱熵系数运算量较大且对非平稳噪声检测性能较差,本研究结合人耳的听觉特性及临界频带特性,提出基于临界频带的谱熵系数。
人耳听觉机制的研究表明,听觉系统将输入的声音信号划分为一些不同的频段,同一频段内两个不同频率的信号相互遮掩,本研究通常将这些频段称为临界频带。
常用的描述临界频带标度的方法有Mel-scales[18],Bark-scales,ERB-scales[19]。
根据Bark-scales,可将人耳可听音的频率划分为24个临界频带,划分公式为[20]
Fbark=13tan-1($\frac{0.76{{F}_{HZ}}}{1000}$)+3.5tan-1${{\left( \frac{{{F}_{HZ}}}{7500} \right)}^{2}}$。 | (3) |
听觉系统平均每一临界频带内的频率能量,形成对声音信号的压缩感知[21]。临界频带中各频率分量的平均能量更切合人耳的听觉特性。
因此,在进行谱熵运算时,用临界频带频谱分量代替频点频谱分量,第i帧中每个临界频带频率分量的概率密度函数
Pc=Si(fc)/$\sum\limits_{k=0}^{L-1}{{}}$Si(fk) (c=1,2,…,L),
(4)
临界频带谱熵为
Hi-CB=-$\sum\limits_{m=1}^{L}{{}}$PclogPc。
(5)
图1为含有volvo噪声,信噪比为0 dB,汉字“五”的语音波形图和谱熵波形图,图中语音段的起始点和终止点为手工标记。
分析图1可知,两种谱熵均具备较好的区分性,但临界频带的谱熵运算量相对较小且参数波形较为稳定。
临界频带平均能量更好地体现了人耳对语音信号的感知和判断,将临界频带平均能量应用在谱熵中能够减小系统运算量,提高参数的鲁棒性。
1.2 差值频域能量语音和噪声信号的能量差异能够作用于端点检测技术,目前主要使用的是时域的短时能量。
短时能量作为常用的端点检测参数,它代表了语音的时域能量特征。信号s(t)
经过分帧加窗后,可以求得其短时能量[21]
Ei=$\sum\limits_{n=1}^{N}{{}}$sn2。
(6)
在静音环境下,短时能量能够取得较好的检测效果,但在含有低信噪比噪声情况下,短时能量检测几乎失效。
为了提取语音和噪声的能量差异信息,本研究根据频域上的能量特征,提出将差值频域能量作为端点检测参数。
语音信号的频域分析认为,元音帧和辅音帧的帧内频域能量相对于无声帧都很大(即帧内功率谱幅值之和)[22, 23]。因此,频域能量能够作为表征语音和噪声信号能量差异的参数。
在大多数情况下,噪声和语音是相互独立,则带噪语音的功率谱可以表示为噪声功率谱和纯净语音功率谱之和。
第n帧信号的差值频域能量PD(n)
可以定义为带噪语音信号与背景噪声在各频率分量(频点)功率谱幅值的差值之和
∑N-1i=0
PD(n)=$\sum\limits_{i=0}^{N-1}{{}}$(P(i)(n)-Pnoise(i)),
(7)
一般认为,一段语音的前100~200 ms为无声段,即只含有背景噪声,因此采用一段语音前10帧信号功率谱的平均值作为背景噪声频域能量Pnoise 。
图2为含有white噪声,信噪比为-5 dB,汉字“七”的语音波形图和短时能量、差值频域能量波形图,图中语音段的起始点和终止点为手工标记。
分析图2可知,在低信噪比的情况下,短时能量无法体现语音的能量信息,而差值频域能量受到的噪声的干扰更小,语音段和非语音段区分性明显,具备更好的鲁棒性。
1.3 基于频域特性的能量熵系数
文献[9]提出了结合时域能量和谱熵的端点检测参数EE-Feature,它的具体形式为
EEF=$\sqrt{1+\left| \left( {{E}_{i}}-{{C}_{E}} \right)\cdot \left( {{H}_{i}}-{{C}_{E}} \right) \right|},$
(8)
EEF同时具备短时能量和谱熵的优点,参数即体现了语音信号的能量特征,也体现了语音的频域分布特征。但是该联合参数的检测性能也直接受到短时能量和谱熵的限制,当其中之一受到噪声影响较严重时,直接导致EEF的检测性能下降。
本研究将提出的基于临界频带谱熵和差值频域能量应用于EEF函数,得到新的基于频域特性的能量熵系数(spectrum energy-entropy,SEE),其具体形式为
SEE=$\sqrt{1+\left| \left( {{P}_{D}}\left( i \right)-{{C}_{PD}} \right)\cdot \left( {{H}_{CB}}\left( i \right)-{{C}_{{{H}_{CB}}}} \right) \right|},$
(9)
通过大量试验发现,能量参数的数量级远大于谱熵参数,能量参数对联合参数的影响明显较大。为了提高联合参数的准确性,试验采用Min-Max标准化方法[24],对能量参数和谱熵参数进行标准化,转换函数为
X*=$\frac{X-{{X}_{\min }}}{{{X}_{\max }}-{{X}_{\min }}}\cdot \beta ,$
(10)
为了提高参数的鲁棒性,降低因为噪声抖动对参数的影响,对得到的SEE系数进行3帧联合的平滑滤波
SEE*(n)=$\frac{SEE\left( n-1 \right)+SEE\left( n \right)+SEE\left( n+1 \right)}{3}.$
(11)
在发声过程中,受到情绪、发声方式、发声内容等因素的影响,单一地根据检测阀值对语音进行端点判决,可能导致部分语音帧检测失效,特别是无声段与语音段之间的几帧过渡区域。因此,本研究在语音帧判决过程中引入过渡段判决。
过渡段帧信号的端点检测参数的分布介于语音段和无声段之间,可以通过参数分布归类判决,确定过渡段的划分。若分布接近无声段,则认为过渡段属于无声段,帧信号判定为无声帧,若分布接近语音段,则判定帧信号为语音帧。
本研究根据TUSHAR等提出的巴氏距离(Bhattacharya-Distance)[25],对过渡段参数分布进行检测。 具体步骤如下:
(1) 从无声段和语音段的过渡区域选出3帧,作为过渡段。
(2) 计算过渡段端点检测参数的均值μt和方差σt。
(3) 分别在过渡段的左侧和右侧选取连续的3帧,称为左片段和右片段。
(4) 计算左片段端点检测参数的平均数μl和方差σl,以及右片段端点检测参数的平均数μr和方差σr。
(5) 计算左片段和过渡段的巴氏距离
${{D}_{left}}=\frac{1}{2}\ln \frac{{{\sigma }_{1}}+{{\sigma }_{t}}}{2{{\left( {{\sigma }_{1}}{{\sigma }_{t}} \right)}^{1/2}}}+\frac{1}{8}{{\left( {{\mu }_{1}}-{{\mu }_{t}} \right)}^{2}}{{\left( \frac{{{\sigma }_{1}}+{{\sigma }_{t}}}{2} \right)}^{-1}}.$ | (12) |
(6) 计算右片段和过渡段的巴氏距离
${{D}_{right}}=\frac{1}{2}\ln \frac{{{\sigma }_{r}}+{{\sigma }_{t}}}{2{{\left( {{\sigma }_{r}}{{\sigma }_{t}} \right)}^{1/2}}}+\frac{1}{8}{{\left( {{\mu }_{r}}-{{\mu }_{t}} \right)}^{2}}{{\left( \frac{{{\sigma }_{r}}+{{\sigma }_{t}}}{2} \right)}^{-1}}.$ | (13) |
(7) 基于以下规则进行判决
若Dleft<Dright,则过渡段属于左片段,性质与左片段相同。即左片段如果是无声段,那过渡性帧也是无声段的。
若Dleft>Dright,则过渡段属于右片段,性质与右片段相同。
(8) 去除被判决为无声段的过渡段。
试验证明,通过该方法可以降低由于检测阀值偏大或偏小导致的端点检测失误,提高端点检测的精确性。
2.2 算法描述图3为本研究提出的端点检测算法详尽步骤。
(1) 数据预处理:对数据进行分帧加窗,形成短时帧。
(2) 分别计算每帧数据的临界频带谱熵和差值频域能量。
(3) 对能量参数和谱熵参数进行归一化处理后,计算SEE系数。
(4) 根据阀值对语音数据进行端点检测,标记每个语音段的起止点。
(5) 对每个语音段起止点附近取3帧数据形成过渡段,计算过渡段的巴氏距离,进行分类判别。
(6) 根据阀值检测以及过渡段判别结果得出最终检测结果。
现实生活中往往存在短时的突发噪声,为了避免突发噪声引起的参数畸变,影响端点判决。试验设定长度为3帧的时间门限,即超过门限连续3帧作为有效语音段判决或低于门限连续三帧作为有效无声段判决。
3 试验仿真 3.1 测试数据试验中所使用语音数据均在标准语音实验室静音环境下使用麦克风录制。每份语音样本的内容为231个汉字,长度约为80 s,共有400名说话人数据。采样频率16 kHz,16bit量化。
试验设定分帧帧长为512,帧移256,预加重系数0.96,窗函数采用Hamming窗。检测阀值SEEThr 为前10帧参数的均值乘以系数α,系数取值1.1。
带噪语音为录制语音与背景噪声合成,背景噪声采用NoiseX-92噪声库中的white(白噪声)、Babble(说话噪声)、M109(坦克噪声)和Volvo(汽车噪声)。
试验前,手工标记出每个语音样本的端点位置,作为评价端点检测是否准确的标准。准确率R计算公式为
R=$\frac{语音帧总数-错误帧数}{语音帧总数}$
(14)
其中错误帧数为语音帧误判为噪声帧数以及噪声帧误判为语音帧数之和。
3.2 结果及分析样本语音为“轻轻地我走了,正如我轻轻的来”。如图4所示,4(c)为基于短时能量和谱熵的传统EEF参数波形图,4(d)为本研究提出的基于临界频带谱熵和差值频域能量的SEE参数波形图。分析图4可知,相对EEF参数,SEE参数,对语音段特征更为敏感,无声段和语音段的参数差别明显,可区分性能更强。
图5为静音和各种噪声环境下SEE参数的波形图,信噪比均为-5 dB。为了方便对比,增加了静音环境下语音的短时能量波形图。从图中可以看出,SEE参数在volvo噪声、tank噪声环境下无声段和语音段的区分性明显,在white噪声环境中,由于白噪声对谱熵有较大的干扰,导致SEE性能下降。在babble噪声下,非平稳噪声造成SEE参数有一定的起伏,但是总体上语音段参数依旧明显。通过与静音环境下短时能量和SEE参数波形对比,噪声环境下的SEE参数依旧保持了较好的区分性,对各种噪声具备较好的适应性,参数鲁棒性较好。
使用短时能量[21]、谱熵[17]、长时信号变化率(LTSV)[7]、EEF参数[9]和SEE参数在不同噪声不同信噪比环境下进行端点检测,测试结果见表1。在信噪比较高的情况下,5种参数都有较好的检测性能,EEF参数、LTSV参数和SEE参数均优于传统的短时能量和谱熵参数。当背景噪声信噪比较低时,短时能量基本失效,SEE参数和LTSV参数保持了更好鲁棒性,检测准确定较高。在平稳噪声环境下,SEE参数和LTSV参数的检测准确度相差无几,但是在非平稳的Babble噪声环境下,SEE参数优于LTSV参数。
4 结语本研究根据语音和噪声在频域特性上的区别,结合信号的临界频带特性以及人耳感知特性提出了基于临界频带谱熵和差值频域能量的SEE系数,并针对端点检测中通过阈值判决的单一性,增加了过渡段的判决。对不同信噪比不同检测方法的对比试验说明,该算法具有较好的噪声适应性和低信噪比情况下的鲁棒性。相对复杂算法,该算法计算简单且不需要调整阈值参数,在实时的语音识别系统中能够得到较好的应用。但是与绝大多数端点检测算法存在的弊端类似,该算法对波动性较大的背景噪声的检测性能有所下降,下一步工作可以针对波动背景噪声进行研究分析。
[1] | RAMIREZ J, YERAMOS P, GORRIZ M, et al. SVM-based speech endpoint detection using contextual speech features[J]. Electronics Letters, 2006, 42(7):426-428.(1) |
[2] | 蔡魁杰. 基于支持向量机的汉语语音端点检测和声韵分离[D]. 哈尔滨:哈尔滨工程大学, 2007. CAI Kuijie. Endpoint detection and initial/final segmentation of Chinese speech based on SVM[D]. Harbin: Harbin Engineering University, 2007.(1) |
[3] | 李发权, 杨立才, 颜红博. 基于PCA-SVM多生理信息融合的情绪识别方法[J]. 山东大学学报(工学版), 2014, 44(6):70-76. LI Faquan, YANG Licai, YAN Hongbo. An emotion recognition method of multiphysiological information fusion based on PCA-SVM[J]. Journal of Shandong University(Engineering Science), 2014, 44(6):70-76.(1) |
[4] | WILPIN J G, RABINER L R. Application of hidden Markov models to automatic speech endpoint detection[J]. Computer Speech & Language, 1987, 2(3-4):321-346.(1) |
[5] | OUZOUNOV A. Telephone speech endpoint detection using mean-delta feature[J]. Cybernetics and Information Technologies, 2014, 14(2):127-139.(1) |
[6] | OUZOUNOV A. A robust features for speech detection[J]. Cybernetics and Information Technologies, 2004, 4(2):3-14.(1) |
[7] | GHOSH P, TSIATRAS A, NARAYANAN S. Robust voice activity detection using long-term signal variability[J]. IEEE Trans on Audio, Speech and Language Processing, 2010, 19(3):600-613.(2) |
[8] | 张君昌, 胡海涛, 崔力. 融合Burg谱估计与信号变化率测度的语音端点检测[J]. 西安电子科技大学学报(自然科学版), 2014, 41(3):192-195. ZHANG Junchang, HU Haitao, CUI Li. Robust voice endpoint detection fusing burg specturm estimate and signal variability[J]. Journal of Xidian University (Natural Science Edition), 2014, 41(3):192-195.(1) |
[9] | LIANG Shenghuang, CHUNG Hoyang. A novel approach to robust speech endpoint detection in car environments[J]. IEEE ICASSP, 2000, 3:1751-1754.(3) |
[10] | 吴迪, 赵鹤鸣, 陶智, 等. 低信噪比下采用感知语谱结构边界参数的语音端点检测算法[J]. 声学学报, 2014, 39(3):392-399. WU Di, ZHAO Heming, TAO Zhi, et al. Speech endpoint detection in low-SNRs environment based on perception spectrogram structure boundary parameter[J]. Chinese Journal of Acoustice, 2014, 39(3):392-399.(1) |
[11] | 李杰, 周萍, 杜志然. 短时TEO能量在带噪语音端点检测中的应用[J]. 计算机工程与应用, 2013, 49(12):144-147. LI Jie, ZHOU Ping, DU Zhiran. Application of short-time TEO energy in noisy speech endpoint detection [J]. Computer Engineering and Application, 2013, 49(12):144-147.(1) |
[12] | YING G, MITCHELL C, JAMIESON L. Endpoint detection of isolated utterances based on a modified teager energy measurement [J]. IEEE ICASSP, 1993, 2:732-735.(1) |
[13] | 鲁远耀, 周妮, 肖珂, 等. 强噪声环境下改进的语音端点检测算法[J]. 计算机应用, 2014, 34(5):1386-1390. LU Yuanyao, ZHOU Ni, XIAO Ke, et al. Improved speech endpoint detection algorithm in strong noise environment[J]. Journal of Computer Applications, 2014, 34(5):1386-1390.(1) |
[14] | 吴边, 王忠, 刘兴涛. 强背景噪声下语音端点检测的算法研究 [J]. 计算机工程与应用, 2011, 47(33):137-139. WU Bian, WANG Zhong, LIU Xintao. Research on speech endpoint detection in strong noise[J]. Computer Engineering and Application, 2011, 47(33):137-139.(1) |
[15] | CHATLANI N, SORAGHAN J. EMD-based filtering (EMDF) of low-frequency noise for speech enhancement[J]. Audio, Speech, and Language Processing, IEEE Transactions on, 2012, 20(4):1158-1166.(1) |
[16] | ZAO L, COELHO R, FLANDRIN P. Speech enhancement with EMD and hurst-based mode selection[J]. Audio, Speech, and Language Processing, IEEE/ACM Transactions on, 2014, 22(5):899-911.(1) |
[17] | 王博, 郭英, 韩立峰. 基于熵函数的语音端点检测算法研究[J]. 信号处理, 2009, 25(3):368-373. WANG Bo, GUO Ying, HAN Lifeng. Research on entropy based voice activity detection algorithms[J]. Signal Processing, 2009, 25(3):368-373.(2) |
[18] | GUNNAR FANT. Acoustic theory of speech production[M]. Hague: de Gruyter Mouton, 1970.(1) |
[19] | HARRINGTON J, CASSIDY S. Techniques in speech acoustics[J]. Computational Linguistics, 1998, 8(2):294-295.(1) |
[20] | ZWICKER M, TERHARDT E, Analytical expressions for critical band rate and critical bandwidth as a function of frequency[J]. Journal of the Acoustic Society of America, 1980, 68:1523-1525.(1) |
[21] | 张仁志, 崔慧娟. 基于短时能量的语音端点检测算法研究[J]. 电声技术, 2005, 21(7):52-59. ZHANG Renzhi, CUI Huijuan. Speech endpoint detection algorithm analyses based on short-term energy[J]. Audio Engineering, 2005, 21(7):52-59.(3) |
[22] | TOMI Kinnunen. Spectral features for automatic text independent speaker recognition (Licentiate′s Thesis) [EB/OL].(2003-12-21)[2006-02-20]. ftp://ftp.cs.joensuu.fi/pub/PhLic/2004-PhLic-Kinnunen- Tomi.pdf.(1) |
[23] | 钱博, 李燕萍, 唐振民, 等. 基于频域能量分布分析的自适应元音帧提取算法 [J]. 电子学报, 2007, 35(2):279-282. QIAN Bo, LI Yanping, TANG Zhenmin, et al. Self-Adaptive vowel-frame detection algorithm based on energy distribution analysis in frequency domain[J]. Chinese Journal of Electronics, 2007, 35(2):279-282.(1) |
[24] | GUNAWARDENA J. Min-max functions[J]. Discrete Event Dynamic Systems, 1994, 4(4):377-407.(1) |
[25] | SAHOO T, PARTRA S. Silence removal and endpoint detection of speech signal for text independent speaker identification[J]. International Journal Image, Graphics and Signal Processing, 2014, 6(6):27-35.(1) |