您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 一种语音信号端点检测方法的研究
一种语音信号端点检测方法的研究吴亮春潘世永(西华大学数学与计算机学院,四川成都610039)摘要在语音识别系统中,端点检测的误差会降低系统的识别率,进行有效准确的端点检测是语音识别的重要步骤。因此端点检测逐渐成为语音信号处理中的一个热点。本文提出了一种基于模型的Teager能量端点检测方法。实验证明,该算法比传统的能量过零率端点检测算法具有更高的识别率,能够更准确的检测出语音信号的端点。关键词端点检测;模型;过零率1引言语音是人类相互交流和通信最方便快捷的手段。如何高效地实现语音传输、存储或通过语音实现人机交互,是语音信号处理领域中的重要研究课题。而语音端点检测是语音分析、语音合成、语音编码、说话人识别中的一个重要环节,直接影响到后续工作的准确性。在实际应用中,首先通常要求对系统的输入信号进行判断,准确地找出语音信号的起始点和终止点,这样才能采集真正的语音数据,减少数据量和运算量,并减少处理时间。在语音识别中,通常是先根据一定的端点检测算法,对语音信号中的有声片段和无声片段进行分割,而后再针对有声片段,依据语音的某些特征进行识别。研究表明,即使在安静的环境中,语音识别系统一半以上的识别错误来自端点检测器。因此,作为语音识别系统的第一步,端点检测的关键不容忽视,尤其是噪声环境下语音的端点检测,它的准确性很大程度上直接影响着后续的工作能否有效进行。可以说,语音信号的端点检测至今仍是有待进一步深入研究的课题。2语音信号的时域特征2.1短时能量分析语音信号的能量随着时间变化比较明显,一般清音部分的能量比浊音的能量小的多,所以在区分清音和浊音,有声段和无声段的应用中效果比较明显。对于信号{x(n)},短时能量的定义如下:式中,,En表示在信号的第n个点开始加窗函数时的短时能量。通过上式可以看出,短时能量式语音信号的平方经过一个线性低通滤波器的输出,该线性低通滤波器的单位冲激响应为h(n)。由于短时能量是对信号进行平方运算,因而增加了高低信号之间的差距,在一些应用场合并不合适。解决这个问题的简单方法是采用短时平均幅值来表示能量的变化,其公式为2.2短时平均过零率顾名思义,短时平均过零率是指每帧内信号通过零值的次数,对于离散语音信号,短时平均过零率实质上就是信号采样点符号变化的次数。它有两个重要应用:第一,用于粗略地描述信号地频谱特性。第二,就是与短时能量相结合判断语音起止点的位置,即进行端点检测,其定义为:w(n-m)为窗函数,定义为:Sgn[]是符号函数,即3端点检测3.1端点检测介绍语音信号起止点的判别是任何一个语音识别系统都必不可少的组成部分。因为只有准确的找出语音段的起始点和终止点,才有可能使采集到的数据是真正要分析的语音信号,这样不但减少了数据量、运算量和处理时间,同时也有利于系统识别率的改善。人的声音分为清音和浊音两种,浊音为声带振动发出,对应的语音信号有幅度高、周期性明显的特点,而清音则不会有声带的振动,只是靠空气在口腔中的摩擦、冲击或爆破而发声。常用的端点检测方法一般是基于特征提取的门限判决法。门限比较方法提取每帧的特征,将该特征和设定的门限进行比较或是采取某种判决机制来判断。在语音识别中,基于平均幅值(能量)-过零率的端点检测是最常用的语音端点检测方法之一,它具有明确的物理意义,计算简单,因此在实际端点检测中得到了广泛的应用;同时,也存在缺点,其中最根本的问题是判决门限往往要通过经验值来确定.3.2双门限端点检测算法基于平均幅值(能量)-过零率的端点检测一般使用2级判决法:首先用短时平均幅值进行第一次判别;然后在此基础上用短时平均过零率进行第二次判别。在用短时能量进行第一次判别时,为了不会将语音能量的局部下降点错误地当作起止点,常采用双门限比较的方法。图1为平均幅值(能量)-过零率的端点检测判决示意图。首先根据语音短时能量En的轮廓先取1个较高的门限M1,语音短时能量大多数情况下都在此门限之上。这样可以进行1次粗判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外(即AB段之外);然后,根据背景噪声的平均能量确定1个较低的门限M2,并从A点往左、B点往右搜索,分别找到短时能量包络第一次与门限M2相交的两个点:C和D,CD段就是采用双门限方法根据短时平均幅值所判定的语音段。以上只是完成了第一级判决。接着要进行第二级判决,这次是以短时平均过零率Zn为标准,从C点往左、D点往右搜索,找到短时平均过零率第一次低于某个门限M3R2点:E和F,这便是语音段的起始点。图1短时平均幅值(能量)——过零率的端点检测判决示意图3.3基于调频-调幅模型的语音端点检测技术双门限检测方法首先要根据经验来确定判决门限,并且短时能量和平均过零率要分两步计算,这就加大了判决的误差。而运用Teager能量算子判断,不仅可以反映幅值的变化,也可以反映频率的变化。幅值变化得快,或频率变化得越快,能量算子的输出值越大,并且当针对不同类别的信号时,Teager能量算子的输出也反映出不同的特性。能量分享算法使用非线性能量算子来跟踪语音信号,将只包含单个共振峰的语音信号分离成频率分量和幅值分量。R(n)信号的能量算子可表示如下:可以看出R(n)信号的能量算子输出由两部分组成:一部分频率调制后的瞬时频率,另一部分是幅值调制后的幅值包络,它可以反应出幅值和频率的变化。根据这个特点可以进行以Teager能量算子输出的能量为特征的端点检测。计算步骤如下:(1)计算出每帧信号的功率谱。信号x(n)通过短时傅里叶变换可以得到信号的短时功能谱(2)对功率谱中每个样本点用频率的平方加权。其中f(n)表示瞬时频率,由中心频率附近按照调制信号频率q(n)来变化的频率。(3)计算加权后的功率谱和平方根即为所要求的每一帧的能量,这个能量称为Teager帧能量。其中T表示这帧的Teager能量,m表示该帧的样本点数。(4)以这个能量为基础就可以进行端点检测。实验结果的比较如表1所示。表1各种语音检测的识别率ZCR/AMPTeager无噪语音95.1%95.7%白噪语音SNR=50dB73.31%81%SNR=20dB0%69.2%SNR=10dB0%50.36%众多杂音SNR=50dB0%72.22%SNR=20dB0%56.32%SNR=10dB0%10.9%表1说明:ZCR/AMP是基于短时过零率和能量的端点检测方法,Teager是调幅-调频模型的端点检测方法。0%说明检测失败。4结论实验表明,采用基于模型方法获得的帧能量进行端点检测,可以有效地将频率与幅值包络结合起来,得到比用传统的能量进行端点检测更好的结果。但是也存在一些不足,在众多杂音背景噪声下的端点检测就没有白噪声背景噪声下识别率高,并且在信噪比比较低的条件下,识别率也比较低。参考文献[1]赵力.语音信号处理[M].北京:机械工业出版社,2003[2]易克初.语音信号处理[M].北京:国防工业出版社,2004[3]王炳锡,屈丹,彭煊.实用语音识别基础[M].北京:国防工业出版社,2005[4]雷静.语音识别技术的研究及基本实现[D].武汉:武汉理工大学,2002[5]张雄伟,陈亮,杨吉斌.现代语音处理技术及应用[M].北京:机械工业版社,2003[6]韩纪庆,张磊,郑铁然.[M]北京:清华大学出版社,2004收稿日期:9月24日修改日期:11月15日作者简介:吴亮春(1984-),男,汉,硕士,计算机软件与理论专业,主要研究方向:语音识别;潘世永(1953-),男,汉,教授,硕士生导师,研究方向:语音识别。
本文标题:一种语音信号端点检测方法的研究
链接地址:https://www.777doc.com/doc-2825980 .html