基于波形相关法的语音信号基音周期检测方法

文档序号:2836769阅读:932来源:国知局
专利名称:基于波形相关法的语音信号基音周期检测方法
技术领域
基于波形相关法的语音信号基音周期检测方法,属于语音信号处理,可应用于低速率语音编码、语音合成和语音识别系统中。
目前人们主要利用语音信号的时域波形相关和频域谱相关特性进行进行基音检测。本发明基于时域波形相关法。在时域中,周期信号的最明显特征就是波形的相关性。基于时域波形相关法的基音检测方法的主要原理是通过比较原始信号和它的移位后的信号之间的类似性来确定基音周期。如果移位距离等于基音周期,那么,两个信号具有最大类似性(或者说是互相关最大)。时域波形相关法的关键性问题是如何定义类似性量度。目前人们大多采用平方代价函数最小原理,这是因为平方代价函数在数学上易于实现。
高性能的基音检测方法对保障低速率语音编码器的质量,起到了关键性作用。传统基音检测方法还存在这样或那样的一些缺陷,如应用范围受限、正确估计率低、延时大和算法复杂等。
本发明的技术方案主要流程如图5所示。是由语音采集系统将所需检测的语音信号输入计算机,在计算机处理器中完成对语音信号基音周期的检测,主要方法是在时域内,根据数字语音信号的准周期特性,通过比较原始信号和它的移位后的信号之间的相关性来确定基音周期,本发明的特征在于利用过去的语音信号样值,即数字语音信号的历史,来减少传统波形相关估计的延时,同时在语音信号相关估计的前后加入了预处理和后处理技术,进行基音周期检测。减少了低频噪声、声道共振峰和基音增倍/减半产生的影响,使基音估计变得可靠和准确。
该基音周期检测方法在时域内进行,主要包括四个步骤,第一步为预处理,第二步为相关系数估计,第三步为后处理,第四步为清音/浊音判决。其步骤为第一步进行语音的预处理,包括去均值、低通滤波和数值滤波三部分,各部分分述如下(1)去均值方法当数字语音信号s(n)在分析窗里有非零均值或有非常低的低频噪声出现时,相关系数ρ(τ)在所要求的所有延迟上均产生高的相关,这对于依赖ρ(τ)进行清/浊分类的安静段语音或低幅度清音语音段尤其麻烦。鉴于此,我们在计算ρ(τ)时首先从分析窗数据中减掉均值,减去均值的信号为
s′(n)=s(n)-μ其中μ=1NΣn-0N-1s(n)]]>式中N为数字语音信号分析帧长。(2)低通滤波方法为了减少高频共振峰和外来高频造声的影响,对去均值的语音信号进行800Hz低通滤波,去除了第三和第四个高频共振峰及高频噪声的影响,这个低通滤波器可以去除大部分共振峰的影响,又可以当基音频率为最高500Hz时,仍能保留其一二次谐波。依据双线性变换法设计的一个五阶椭圆低通滤波器传递函数为Hlpf(z)=Σi=05Aiz-iΣj=05Bjz-j]]>式中的滤波器系数Ai和Bj分别为{Ai}={0.008233,-0.004879,0.007632,0.007632,-0.004879,0.008233}{Bi}={1.0000,-3.6868,5.8926,-5.0085,2.2518,-0.4271}(3)数值滤波方法经过800Hz低通滤波的语音信号,主要去除了第三和第四个高频共振峰及高频噪声的影响,但第一和第二个共振峰有时依然存在,使得浊音段语音信号的周期性模糊,产生了错误基音估计。本发明在800Hz低通滤波器之后级联一个数值滤波器可有效去除这一影响,突出了浊音语音信号的周期性,使基音估计可靠。
本发明中,数值滤波器的传递函数定义为Hnf(z)=Σi=0p-1θiz-i]]>式中p为数值滤波器阶数,θi=1p]]>为数值滤波器系数。在时域里数值滤波器的输入x(n)和输出y(n)之间的关系为y(n)=Σi=0p-1θix(n-i),n=0,1,2,···]]>一般数值滤波的阶数通常选取为1,3,5,7…等,本发明经大量实验发现,当数值滤波器的阶数p=9,滤波器系数θi=1/9时,可有效减少或去除第一和第二个共振峰对基音检测的影响。图2给出了该数值滤波器的幅频特性曲线。
第二步进行语音信号相关系数估计,并以其作为基音检测的依据,具体步骤如下令 为预处理后的数字语音信号,则 和其移位后的信号 之间的平方误差为E(τ)=Σn=0N-1[s^(n)-βs^(n-τ)]2]]>式中β为增益因子,τ为介于20和120个样点之间的整数延时,当n-τ<0时,将用到过去的语音信号样值,即语音信号的历史,这样做不需要未来的语音信号样值,避免了传统方法中用 作为移位信号而产生的额外延时。使E(τ)最小的τ值即为当前帧语音信号的基音周期初估值。令∂E(τ)/β=0,]]>可以得到这个最小的E(τ)为E(τ)=Σn=0N-1s^2(n)-[Σn=0N-1s^(n)s^(n-τ)]2Σn=0N-1s^2(n-τ)]]>使E(τ)最小等价于使相关系数ρ(τ)=Σn=0N-1s^(n)s^(n-τ)Σn=0N-1s^2(n)Σn=0N-1s^2(n-τ)]]>最大,使ρ(τ)最大的τ值即为当前帧语音信号的基音周期初估值。如果延迟τ等于语音信号的实际基音周期或等于实际基音周期的整数倍,则ρ值趋于1,说明该段语音信号具有明显的周期性;相反,如果ρ值比1小很多,则该段信号具有非周期特征,所以,真正的基音周期为对应于最大ρ值的τ,这个τ称为最佳延迟。
第三步和第四步为进行后处理和利用ρ(τ)进行语音的清音/浊音判决,具体步骤如下(1)利用下式求预处理后的语音信号 的对数能量E(dB)E=10log10(ϵ+1NΣn=0N-1s^(n))]]>式中ε是一个很小的正常数,为的是防止计算时溢出。当E小于给定门限Eth=30dB时,语音能量太小,判决为清音,当E大于Eth,且在允许的基频范围内时,判为浊音。(2)对E大于Eth的基音周期进行后处理,措施为首先,在三个基音区域内计算ρ(τ),分别得到各自区域内的最大ρ(τ)值及对应的延迟,记为ρmax1,ρmax2和ρmax3、τ1,τ2,和τ3,这三个区域分别为80~120,40~79和20~39,其次,按如下逻辑确定最优基音延迟τoptτopt=τ1ρmax=ρmax1
if ρmax2≥cρmaxρmax=ρmax2τopt=τ2endif ρmax3≥cρmaxρmax=ρmax3τopt=τ3end这里c=0.96为经验因子;(3)确定周期性水平量Zp,设ρ的最大峰值为ρmax(后处理后的),ρ的前三个峰的平均值为ρavr=13(ρmax1+ρmax2+ρmax3)]]>则周期性水平量Zp计算为Zp=ρmax+ρavr当Zp小于给定的门限Zth=0.62时,说明周期性不强,判决为清音,当Zp大于给定的门限Zth时,且在允许的基频范围内时,判为浊音,并输出对应的优化基音延迟τopt。
本发明的突出效果是使用了一个9阶数值滤波器,有效地去除了第一个和第二个共振峰对基音检测的影响。图3给出了一典型帧语音波形的比较,其中图3(a)为原始语音波形,图3(b)为800Hz低通滤波后的语音波形,图3(c)为800Hz低通滤波和数值滤波后的语音波形。从波形中可以看到,原始语音波形有一定的周期性,但不明显,经800Hz低通滤波后的语音波形几乎看不出周期性,而经数值滤波后的语音波形则显现出了非常强的周期性。
图4给出了对应图3的FFT谱和LPA(线性预测分析)谱,其中图4(a)为原始语音的FFT谱和LPA谱,图4(b)为800Hz低通滤波后的语音的FFT谱和LPA谱,图4(c)为800Hz低通滤波和数值滤波后的语音的FFT谱和LPA谱。从图4(a)可以看出,该段语音有四个共振峰,其中第一和第二共振峰相距很近,经800Hz低通滤波后,衰减掉了第二、第三和第四共振峰,但第一共振峰仍存在,且幅度很大。再经数值滤波后,第一共振峰幅度已衰减到小于一二次谐波幅度,因而完全去除了共振峰的影响。
实验发现,对于上述示例,采用数值滤波前,基音估计值为20个样点,从原语音波形可以看出,这是一个完全错误的估计。而加入数值滤波后,基音估计值为57个样点,从原语音波形可以看出结果是正确的。
本发明的方法具有好的通用性和高的准确率,特别适用于低速率语音编码,同时也可用于语音合成和语音识别中的音调检测。实验证明,该方法的基音周期检测准确率达到99%。
第一,初始化输入参数。给定低通滤波器系数Ai和Bj、数值滤波器系数θi、能量判决门限Eth、周期度判决门限Zth,将低通滤波器、数值滤波器和波形相关器的历史置为零。
第二,进行预处理。包括去均值、低通滤波和数值滤波三部分。在包含200个样点的帧内按如下公式计算均值μ=1200Σn=0199s(n)]]>去除均值的数字语音信号s′(n)如下获得s′(n)=s(n)-μ,n=0,1,2,…,199将s′(n)通过低通滤波器Hlpf(z)得到输出信号为s″(n)s″(n)=0.008233s′(n)-0.004879s′(n-1)+0.007632s′(n-2)+0.007632s′(n-3)-0.004879s′(n-4)+0.008233s′(n-5)+3.6868s″(n-1)-5.8926s″(n-2)+5.0085s″(n-3)-2.2518s″(n-4)+0.4271s″(n-5)n=0,1,2,…,199将s″(n)通过数值滤波器Hnf(z)得到预处理后的输出信号 为s^(n)=Σi=080.111111s′′(n-i),n=0,1,2,···199]]>第三,按下式计算信号 的对数能量E(dB)E=10log10(0.0001+1199Σn=0199s^(n))]]>并将E与能量门限Eth=30dB进行比较,如果E>30dB,则转向第四步,否则,判决该帧语音为清音,输出基音周期为0,并判断分帧是否结束,若分帧结束,则退出程序,否则更新低通滤波器、数值滤波器和波形相关器历史,返回到预处理级。
第四,按下式在τ=20~120内计算波形相关系数ρ(τ)ρ(τ)=Σn=0N-1s^(n)s^(n-τ)Σn=0N-1s^2(n)Σn=0N-1s^2(n-τ)]]>得到101个相关系数值,并在80~120,40~79和20~39三个基音区域内按排序法分别得到各自区域内的最大相关系数值及对应的延迟,记为ρmax1,ρmax2和ρmax3、τ1,τ2,和τ3。
第五,按如下逻辑确定最优基音延迟τoptτopt=τ1ρmax=ρmax1if ρmax2≥0.96ρmaxρmax=ρmax2τopt=τ2endif ρmax3≥0.96ρmaxρmax=ρmax3τopt=τ3end
第六,按下式计算周期性水平量ZpZp=ρmax+0.333333(ρmax1+ρmax2+ρmax3)并将Zp与周期性水平量门限Zth=0.62进行比较,如果Zp>0.62,则转入第七步,否则,判决该帧语音为清音,输出基音周期为0,并判断分帧是否结束,若分帧结束,则退出程序,否则更新低通滤波器、数值滤波器和波形相关器历史,返回到预处理级。
第七,判断经过后处理的最优延迟τopt是否在给定的范围内,如果20<τopt<120,则判断该帧语音为浊音,输出基音周期为τopt,同时判断分帧是否结束,若分帧结束,则退出程序,否则更新低通滤波器、数值滤波器和波形相关器历史,返回到预处理级;如果τopt不满足20<τopt<120,判决该帧语音为清音,输出基音周期为0,同时判断分帧是否结束,若分帧结束,则退出程序,否则更新低通滤波器、数值滤波器和波形相关器历史,返回到预处理级。实验效果为由于语音基频的时变性,基频的真值很难确定,这就限制了用一个客观的误差测度准则来衡量某一个基音检测系统的优劣。本例采用逐帧波形分析的方法来确定基频估计与清/浊判决,波形分析表明,基于波形相关法的语音信号基音周期检测方法,对上面给出的958帧语音测试句子,基音检测与清/浊判决的正确率为99.4%。
图6分别给出了内容为“大家都说普通话”的一男一女的语音波形,图7为与之对应的基音轮廓曲线,从图7可以看出,基音轮廓趋于平滑,没有基音加倍和减倍现象,清音、浊音段区别明显,男性基音周期明显高于女性。
权利要求
1.基于波形相关法的语音信号基音周期检测方法,是由语音采集系统将所需检测的语音信号输入计算机,在计算机处理器中完成对语音信号基音周期的检测,主要方法是在时域内,根据数字语音信号的准周期特性,通过比较原始信号和它的移位后的信号之间的相关性来确定基音周期,本发明的特征在于利用过去的语音信号样值,来减少传统波形相关估计的延时,同时在语音信号相关估计的前后加入了预处理和后处理技术,进行基音周期检测;该基音检测方法主要包括四个步骤,第一步为预处理,第二步为语音信号相关系数估计,第三步为后处理,第四步为清音/浊音判决,其步骤为第一步进行语音的预处理,包括去均值、低通滤波和数值滤波三部分,各部分分述如下(1)去均值方法为对于初始输入的数字语音信号s(n),通常其均值μ不为零或附带有低频噪声,在计算相关函数时,首先要减掉均值μ,去均值的信号s′(n)为s′(n)=s(n)-μ其中μ=1NΣn-0N-1s(n)]]>式中N为数字语音信号分析帧长;(2)低通滤波方法为对去均值的语音信号进行800Hz低通滤波,去除了第三和第四个高频共振峰及高频噪声的影响,低通滤波器是依据双线性变换法设计的一个五阶椭圆低通滤波器,其传递函数为Hlpf(z)=Σi=05Aiz-iΣj=05Bjz-j]]>式中的滤波器系数Ai和Bj分别为{Ai}={0.008233,-0.004879,0.007632,0.007632,-0.004879,0.008233}{Bi}={1.0000,-3.6868,5.8926,-5.0085,2.2518,-0.4271}(3)数值滤波方法为在低通滤波器之后级联一个数值滤波器去除了声道第一和第二个共振峰的影响;该数值滤波器的传递函数为Hnf(z)=Σi=0p-1θiz-i]]>式中p为数值滤波器阶数,θi=1p]]>为数值滤波器系数;第二步进行语音信号相关系估计,并以其作为基音检测的依据,具体步骤如下令 为预处理后的数字语音信号,则 和其移位后的信号 之间的平方误差为E(τ)=Σn=0N-1[s^(n)-βs^(n-τ)]2]]>式中β为增益因子,τ为介于20和120个样点之间的整数延时,当n-τ<0时,将用到过去的语音信号样值,使E(τ)最小的τ值即为当前帧语音信号的基音周期初估值;令∂E(τ)/β=0,]]>可以得到这个最小的E(τ)为E(τ)=Σn=0N-1s^2(n)-[Σn=0N-1s^(n)s^(n-τ)]2Σn=0N-1s^2(n-τ)]]>使E(τ)最小等价于使相关系数ρ(τ)=Σn=0N-1s^(n)s^(n-τ)Σn=0N-1s^2(n)Σn=0N-1s^2(n-τ)]]>最大,使ρ(τ)最大的τ值即为当前帧语音信号的基音周期初估值;第三步和第四步为进行后处理和利用ρ(τ)进行语音信号的清音/浊音判决,具体步骤如下(1)利用下式求预处理后的语音信号 的对数能量E(dB)E=10log10(ϵ+1NΣn=0N-1s^(n))]]>式中ε是一个很小的正常数,当E小于给定门限Eth时,语音能量太小,判决为清音,当E大于Eth,且在允许的基频范围内时,判为浊音;(2)对E大于Eth的基音周期进行后处理,措施为首先,在三个基音区域内计算ρ(τ),分别得到各自区域内的最大ρ(τ)值及对应的延迟,记为ρmax1,ρmax2和ρmax3、τ1,τ2,和τ3,这三个区域分别为80~120,40~79和20~39,其次,按如下逻辑确定最优基音延迟τoptτopt=τ1ρmax=ρmax1if ρmax2≥cρmaxρmax=ρmax2τopt=τ2endif ρmax3≥cρmaxρmax=ρmax3τopt=τ3end这里c=0.96为经验因子;(3)确定周期性水平量Zp,设ρ的最大峰值为ρmax(后处理后的),ρ的前三个峰的平均值为ρavr=13(ρmax1+ρmax2+ρmax3)]]>则周期性水平量Zp计算为Zp=ρmax+ρavr当Zp小于给定的门限Zth时,说明周期性不强,判决为清音,当Zp大于给定的门限Zth时,且在允许的基频范围内时,判为浊音,并输出对应的优化基音延迟τopt。
2.根据权利要求1所述的语音信号基音周期检测方法,特征在于预处理步骤中,使用了去除第一和第二共振峰的数值滤波器,该数值滤波器的传递函数为Hnf(z)=Σi=0p-1θiz-i]]>式中p为数值滤波器阶数,θi=1p]]>为数值滤波器系数;在时域里数值滤波器的输入x(n)和输出y(n)之间的关系为y(n)=Σi=0p-1θix(n-i),n=0,1,2,···]]>数值滤波器的最佳阶数为p=9,滤波器系数θi=1/9。
全文摘要
基于波形相关法的语音信号基音周期检测方法,属于语音信号处理领域。本发明是由语音采集系统将所需检测的语音信号输入计算机,在计算机处理器中完成对语音信号基音周期的检测,主要方法是在时域内,根据数字语音信号的准周期特性,通过比较原始信号和它的移位后的信号之间的相关性来确定基音周期。特征在于,是利用过去的语音信号样值,来减少传统波形相关估计的延时,同时在基音检测主过程的前端和末端加入了有效的预处理和后处理技术,进行基音周期检测。基音检测方法主要包括四个步骤,第一步为预处理,第二步为语音信号相关系数估计,第三步为后处理,第四步为清音/浊音判决。该方法使得在一般背景噪声环境下,基音周期估计的准确率达到99%。
文档编号G10L19/00GK1412742SQ02156678
公开日2003年4月23日 申请日期2002年12月19日 优先权日2002年12月19日
发明者鲍长春 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1