语音端点检测方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音端点检测方法研究1
沈红丽,曾毓敏,李平,王鹏
南京师范大学物理科学与技术学院,南京(210097)
E-mail:orange.2009@
摘要: 端点检测是语音识别中的一个重要环节。有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题.鉴于此,本文介绍了语音端点算法的基本研究现状,接着讨论并比较了语音信号端点检测的方法,分析了各种方法的原理及优缺点,如经典的基于短时能量和过零率的检测方法,基于频带方差的检测方法,基于熵的检测方法,基于倒谱距离的检测方法等.并基于这些方法的分析,对端点检测方法做了进行了总结和展望,对语音信号的端点检测的进一步研究具有深远的意义。
关键词:语音信号;端点检测;噪声
中图分类号:TP206. 1
1. 引言
语音信号处理中的端点检测技术,是指从包含语音的一段信号中确定出语音信号的起始点及结束点。语音信号的端点检测是进行其它语音信号处理(如语音识别、讲话人识别等)重要且关键的第一步. 研究表明[1],即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。因此,作为语音识别系统的第一步,端点检测的关键性不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。
确定语音信号的起止点, 从而减小语音信号处理过程中的计算量, 是众多语音信号处理领域中一个基本而且重要的问题。有效的端点检测技术不仅能减少系统的处理时间,增强系统处理的实时性,而且能排除无声段的噪声干扰,增强后续过程的识别性。可以说,语音信号的端点检测至今天为止仍是有待进一步深入的研究课题。
2. 语音端点检测主要方法和分析
在很长一段时间里,语音端点检测算法主要是依据语音信号的时域特性[2].其采用的主要参数有短时能量、短时平均过零率等,即通常说的基于能量的端点检测方法。这些算法在实验室环境下具有良好的性能,但在噪声环境下,则无法达到其应有的效果。近年来,随着通信业的迅猛发展,又出现了很多的语音端点检测算法。它们主要是通过采用各种新的特征参数,以提高算法的抗噪声性能。如基于倒谱系数[3]、频带方差[4]、自相关相似距离[5] 、信息熵[6]等也逐渐的被应用到端点检测中。有时,还通过将信号的几种特征组合成为一个新的特征参数来进行端点检测。
2.1基于短时能量和短时平均过零率的检测方法
该方法也称为双门限比较法,它是在短时能量检测方法的基础上,加上短时平均过零率,利用能量和过零率作为特征来进行检测.在信噪比不是很低的情况下,根据语音信号的能量大于噪声噪声能量的假设,通过比较输入信号的能量与语音能量阈值的大小,可以对语音段和非语音段加以区分[7].输入每帧信号的能量可由下式得到[7-8]:
1本课题得到江苏省普通高校自然科学研究计划资助项目(项目批准号:07KJD510110)的资助。
1
20()N j i E x i −==∑ (1)
式中, j E 表示第j 帧的能量, ()x i 为输入的信号, N 为帧长.如果第j 帧信号的短时信号能量j E 大于设定的阈值,就判断当前帧为语音帧,否则判为静音帧.短时过零率的计算可由下式得到:[8]
1
|sgn[()]sgn[(1)]|N
n n Z x n x n ==−−∑ (2)
1,()0sgn[()]1,()0
x n x n x n ≥⎧=⎨−<⎩ (3). 语音端点检测方法可采用测试信号的短时能量或短时对数能量、联合过零率等特征参数,并采用双门限判定法来检测语音端点,即利用过零率检测清音,用短时能量检测浊音,两者配合。首先为短时能量和过零率分别确定两个门限,一个是较低的门限数值较小,对信号的变化比较敏感,很容易超过;另一个是比较高的门限,数值较大。低门限被超过未必是语音的开始,有可能是很短的噪声引起的,高门限被超过并且接下来的自定义时间段内的语音超过低门限,意味着信号开始。
研究显示[9],清音的过零率较高,浊音和噪声次之,而且浊音和噪声的过零率相当。因此这种方法对语音信号中的浊音和噪声很难区分,因此在检测时同样会漏掉某些音素[10]。
2.2基于频带方差的检测方法
由于系统是时变的,所以实际计算的是短时频带方差,它的实质就是计算某一帧信号的各频带能量之间的方差.频带方差检测法的具体过程如下:
定义一个矢量: 023{(),(),(),.....,()}n X x x x x ωωωω=,其中的分量()n x ω定义为中心频率为n ω的滤波器的输出能量,它可以根据一帧信号通过一个带通滤波器来计算,也可以首先计算一帧信号的FFT,然后把某几个频率分量组合而成..
定义均值: 1
11()N i
i E x N ω−==∑ (4) 则频带方差为: 1
2
11[()]N i
i D x E N ω−==−∑ (5) 式中, ()i x ω是每一帧语音信号FFT 频谱值.从以上计算股市可以看出,频带方差相当于”交流能量”,它包含了2个信息:各频带间的起伏程度和这一帧信号的短时能量.能量越大起伏越激烈,D 值就越大,这正是语音的特点;反之,对于噪声,能量越小,起伏越平缓,D 值越小.因此,完全可以利用短时频带方差来判断语音的起止点.在基于短时能量和过零率端点检测方法中,由于清音和噪声段的能量很相近,造成了一些错误的划分.而采用频带方差法,对于频谱分布比较均匀的噪声,如白噪声,其频谱方差就比较小,而对于清音和浊音,其频带方差都比噪声段大,因此可以更好地检测出语音段.
2.3基于熵的检测方法
在信息论中,Shanon 为了定量度量信息量,引入了熵的概念。对于一个随机事件,设
它有N 个可能的结局,,2,1......,N S S S ,每一个结局出现的概率分别是,,2,1......,N P P P 为了度量这一随机事件含有不确定性,Shannon 引入了熵函数[11][12]。
))((log )(1
2∑=−=N
i i i S P S P k H (6)
其中,k 是大于零的恒量,一般取k =1,而10≺≺i P 。且当i P =0时,有:
0))((log *)(2=i i S P S P ,∑=i
i
S P 1)( (7) 根据信息熵的定义,把它用到语音中,用来构造一个语音信息熵函数,以判断语音和噪声。当把语音帧的标准化幅度谱)(i X 看作一个概率分布时,谱域的熵计算可以用取第i 个幅度谱的概率来代替取第i 个信源符号的概率)(i S P ,即用∑=i i X i X i X P 222)()
())((来表示[13]。
那么,语音谱的熵可以表示如下:
))((log *))((2
22i X P i X P H i ∑−= (8)
相对于背景噪声而言,语音信号中的语音段幅度的动态范围比较大,因此直观地说,可以认为语音段在信号在中的随机事件多,故平均信息量大,也就是熵值大。而静音段的幅度变化小,分布相对集中,因而熵值小。
谱熵分布是在语音静音检测算法中有应用前途的特征量。实验证明,当背景噪声为非平稳噪声或机器噪声时,基于熵的语音活动性检测算法比基于其他特征量的算法更可靠。这种算法对噪声强度变化并不敏感,而只对噪声谱自然特性的变化敏感。
2.4基于倒谱的检测方法
倒谱能很好表示语音的特征[14] ,在强噪声环境下,常常采用倒谱系数来作为端点检测的特征量。信号的复倒谱定义为信号的能量谱密度函数()S ω的对数的傅里叶级数,log ()S ω的傅里叶级数展开式为[14],
log ()()jn N S c n e
ωω∞−=−∞=
∑ (9) 式中,()()c n c n =−为实数,通常称为倒谱系数,且 1(0)log ()2c S d ππωωπ
−=∫ (10) 对于一对谱密度函数()S ω与'
()S ω ,根据 Parseval 定理,用谱的倒谱距离表示对数谱的均方距离[15]为: 2
2
''1|log ()log ()|()2cep n n n d S S d c c ππωωωπ
∞−=−∞=−=−∑∫ (11) 式中,n c 与'n c 分别表示谱密度()S ω和'()S ω的倒谱系数。对数谱的均方距离表示两个信