利用平均幅度差函数法进行基音周期估计-Read

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Speech Pitch Period Estimation Based on AMDF Abstract:Pitch period is a key parameter in speech compression , synthesis and

recognition. The well-known AMDF is often used to determine this parameter.But it is easy to make the estimated pitch doubled.According to the conventional speech- generating mode AMDF, the paper refers to a new speech pitch determination algor- ithm which bases on AMDF. The new method can resolve both the error by searching "the first trough" and the reduplication by searching "the minimal trough". It can win more accurate results by forecasting the range of the rough value, making and linear- transformation.The algorithm not only simplifies the pitch detection ,but also efficie- ntly decreases the estimation errors and improves the precision of estimated values.

Key words:average magnitude difference function(AMDF);pitch period estimation 1 引言

基音是指发浊音时声带振动起的周期性, 而基音周期是指声带振动频率的倒数。基音周期检测是语音信号处理中的重要工作之一。然而基音周期的精确检测实际上是比较困难的。这是因为声门激励信号并不是一个完全的周期序列, 在语音开头和结尾部分不具有声带振动那样的周期性, 清音和有些浊音的过渡帧很难判断有没有周期性; 同时语音的共振峰会严重影响激励信号的谐波结构, 因为语音信号本身是有音调变化的; 另外人的基音周期变化范围比较大, 从

50Hz到500Hz。

(a) 简化的语音生成数学模型

与自相关法相比,AMDF方法具有运算量小、精度高等优点,在军用语音编码中得到广泛应用。但是在AMDF方法中,经常发生基音估计结果为实际基音周期的2 倍,这不仅与语音信号波形复杂有关,还与短时AMDF函数的特性有关. 短时AMDF 函数随着滞后时间的增加,峰值幅度逐渐下降,这使得谷值点检测以及谷值点的清晰度检查比较困难,针对该问题,相关文献提出了不少改进方法。本文提出了一种改进的AMDF方法,它通过简单的预设谷值范围、线性变换等步骤实现了较精确的基音检测。

2 传统的AMDF 函数与加权AMDF 函数比较

传统的平均幅度差函数(Average Magnitude Difference Function ,AMDF) 是Ross 等人于1974 年提出的 ,其定义为:

∑--=

n

n k n S n S N

k F )()(1)( (1)

其中s(n) 为离散化的语音采样序列,当采用短时处理技术加方窗时 ,式(1) 变为:

∑--=-+=

1

)()()(k N m n n

n m S k m S

k F (2)

从式(2) 可以看出计算)(k F n 的差值项是不同的,,随着k 的增加,求和的差值项数将逐渐减少,结果导致)(k F n 峰值幅度随着滞后时间k 的增加而逐渐下降,为了有效地改正这一缺点提出了加权的平均幅度差函数(W-AMDF):

∑+-=--++-=11

)()1(11

)(k N m n n nW m S k m S k N k F (3)

(b ) 时域波形和及对应的传统AMDF

(c ) 时域波形和及对应的加权AMDF

3 实验设计

1)首先对装载后的原始语音信号进行分帧,在参数选择上使得帧长等于帧移,而且帧长控制在比较小的范围内。编写一个判断每帧语音信号短时能量的函数,统计分帧后的语音信号每帧的平均能量,由于静音帧和清音帧的能量较浊音帧的能量小,那么可以根据实验结果选择合适的平均能量阈值,当某帧的能量小于该阈值时可以认为这帧不含有基音周期信息,把该帧的帧号记录在一个数组中。

(d )原始语音信号与去清音和静音后信号的比较

2)对每帧信号经过短时能量判断后,根据数组记录的帧号对对应帧的内容作置零处理,然后把非零内容的帧组成一个新的语音,这时候可以认为新的语音信号中含有丰富的基音周期信息。

(e )重新组成的语音信号

3)然后对新生成的语音信号进行分帧,然后编写一个平均幅度差函数,语音信号的短时线性加权平均幅度差函法定义为:

∑+-=--++-=1

1

)()1(11

)(k N m n n nW m S k m S k N k F

4)根据平均幅度差函数法原理,判断每帧信号的)(k F nW 中的局部极小值,由于人的语音频率为50~500Hz ,那么对应的极小值局部搜索范围为Fs/500~Fs/50( Fs 是语音信号的取样频率)个取样点,那么三倍以及三倍以上周期的情况都已经被排除,如果是二倍周期,可以使当前帧的基音频率所对应的取样点与前一帧真确的基音频率所对应的取样点相减,得到当前帧的基音频率所对应

相关文档
最新文档