基于MATLAB语音信号基频估计方法研究
南京工
业大学 王静 来源:微计算机信息
摘 要:不同的语音分析和综合方法就有不同的基音估计的方法,本文就简单的自相关基音估计入手分析讨论,并讨论了倒谱法,小波分析的基音估计。借助MATLAB语音工具箱VOICEBOX对种不同分析综合方法的基音估计的频域图做了分析比较。 关键词:语音信号 基音估计 MATLAB 0.引言
语音是人们交流思想和进行社会活动的最基本手段,我们要对语音信号进行测定并将其转变为另一种形式,以提高我们的通信能力。基音是语音信号的一个重要特征参数,基音周期估计的准确度对合成语音的质量有决定性作用。
不同的语音分析和综合方法就毁有不同的基音估计的方法,在同太分析中,倒谱中的倒谱峰位置提供了基音估计。线性预测误差中基本峰值之间的间隔导出另一种基音周期估计。我们将就自相关和倒谱法对基音估计做分析比较。 1.自相关的基音估计法
考虑一离散时间短序列,由下式给定:
sn[m]=s[m]w[n−m]
其中w[n]是长度为Nw的分析窗。短时自相关函数rn(τ)定义为::
rn[τ]=sn[τ]∗sn[−τ]=∑sn[m]sn[m+τ]
−∞+∞
当s[m]是周期性的,周期为P,则rn[τ]在基音周期P或附近包含峰值。相关基音估计的获得可以通过可能的基音周期(P>0)范围内对误差最小化,误差准则为:
E[P]=
E[P]相对于P最小化得到:
∞
⎛ˆ=max⎜∑s[m]s[m+P]⎞P⎟ nnP
⎝m=−∞⎠
m=−∞
∑(s[m]−s[m+P])
n
n
∞
2
其中P>ε,即P离零足够远。
自相关函数是测量“自相似性”的尺度,所以我们期望对周期性序列的自相关函数在P附近出现峰值。周期波形的短时自相关函数的包络随着P的增大而大致线性的减小。 2.倒谱基音估计的基本概念和原理 2.1卷积同太系统:
若一系统的系统函数为H(z),输入序列x1(n)和x2(n)对应输出序列
y1(n)和y2(n)有:
H[x(n)]=H[x1(n)∗x2(n)]=H[x1(n)]∗H[x2(n)]=y1(n)∗y2(n)=y(n)
如果一个系统具有上式所表示的性质,则称之为“卷积同太系统”。同太解卷系统服从广义叠加原理,其中输入式卷积运算而输出是普通相加运算。特征系统定义如下:
ˆ1(n)+xˆ2(n) D∗[x(n)]=D∗[x1(n)∗x2(n)]=D*[x1(n)]+D∗[x2(n)]=x
对于复对数的定义表述如下:
ˆ(ejω)=log[X(ejω)]+jarg[X(ejω)] X
2.2倒频谱:
如果复对数满足上式讨论,那么对于一个傅氏变换取复对数,再做傅氏反变换就能得到卷积特征系统输出,即:
ˆ(n)=x
1
2π∫π−
πˆ(ejω)ejωndω X
ˆ(n)称为“复倒频谱”特征系统输出x。我们用“倒频谱”来表示量
1
c(n)=
2πˆ(e∫πX
−
πjω)ejωndω
2.3倒谱的基音估计:
以倒谱为基础的基音估计,其要点为先计算倒谱,然后在预期的基音周期附近寻找一个峰值,如果倒谱的峰值超出了预先设定的门限,则输入的语音段应该定为浊音,而峰的位置就是基音周期的良好估值。如果不存在超出门限的峰值,则输入语音为清音。如果计算的是一个依赖与时间的倒谱(它以时间依赖傅氏变换为基础),则可估计出激励模型以及基音周期随时间的变化。 3.小波变换的基音估计方法 3.1小波分析
小波分析是当前应用数学中迅速发展起来的新领域,它是时间和频率的局部变换,能有效地从信号中提取信息。小波变换具有恒Q 性质,在信号的高频域部分,可以取得较好的时间分辨率,在时间的低频域部分,可以取得较好的频率分辨率。因此可以预见小波分析在语音处理系统中具有广泛的应用前景。
3.1.1离散小波变换
离散小波变换即为尺度a 与平移τ均离散化的小波变换。尺度a按幂级数作离散化,即:
012m
τ=kτ0a0ja0=1,a0,a0,⋅⋅⋅,a0
(j=0,1,2,⋅⋅⋅,m)
此时相应的小波变换定义为:
WTx(a0j,kτ0)=∫x(t)Ψ∗(t)dt ajkτ0,
0
−j/2−j
式中Ψa,kτ(t)=a0Ψ(a0t−kτ0)
j
0
为a 、τ离散下的子波基。一般a0 取2 , τ0 取1 ,称为二进正交子波基。 则其相应的二进子波变换为:
WTx(j,k)=∫x(t)Ψ∗j,k(t)dt
式中Ψ∗j,k(t)=2−j/2Ψ(2−jt−kτ0) 3.2利用小波变换进行基音提取
考虑到语音信号基音频率分布在50~500 Hz 之间, 而多分辨分析又具有把频率逐级对分的特性,所以采用Mallat 算法直接对语音信号进行分解,并利用其低频小波系数对语音信号低频部分进行重构,与传统的FFT 算法相结合,可有效地对基音频率进行估计。 4.MTALAB分析过程
MATLAB作为mathworks公司的高性能的数值计算和可视化软件,集成数值分析、矩阵计算、信号运算、信号处理和图形显示于一体,构成了一个方便且界面友好的用户环境。一下我们在voicebox工具箱的帮助下完成对英文“had”语音信号的时域波形。
图(1)英文单词“had”的时域波形图,采样频率为16kHz。
图(2)
图(3)
预处理使用预加重处理,即通过传递函数形为H(z)=1−0.97z−1的FIR滤波器,窗函数选择Hamming窗,按自相关函数绘出的基音估计图谱如图
(2),窗函数选择Hamming窗,按设定步幅移动,计算倒谱绘出的基音估计图谱如图(3)。 5.结束语
以上主要介绍了几种基音估计的方法,经MATLAB的仿真实验,我们看到各自的基音估计图谱,除了上诉方法外还有基于正弦函数的基音估计等方法。本文对两种方法提出各自思路,在其他方法中也有类似理论的分析。
本文作者创新点: 本文在理论分析比较了几种常用的语音信号基音估计的方法基础上,利用新的MATLAB语音信号处理工具,对于实际的英文单词语音采集信号进行了预加重,加窗等预处理后根据各自理论进行了分析比较,得到了直观的结果。
参考文献:
[1].(美)Thomas F.Quatiteri.离散时间语音信号处理--原理于应用[M]. 北京:电子工业出版社,2004.
[2].(美)L.R.Rabiner.语音数字信号处理[M]. 北京:电子工业出版社,1993.
[3]. Philip Loizou. COLEA MANUAL [M].U of Arkansas at LR. 1998. [4]. 周爱军,马海瑞.基于声卡的LABVIEW数据采集与分析系统设计 微
计算机信息[J].2005年第21卷9-1期 108页。