1、我们将每个短时的语音称为一个分析帧。一般帧长取1030ms。我们采用一个长度有限的窗函数来截取语音信号形成分析帧。通常会采用矩形窗和汉明窗。图1.1给出了这两种窗函数在帧长N=50时的时域波形。图1.1 矩形窗和Hamming窗的时域波形矩形窗的定义:一个N点的矩形窗函数定义为如下 hamming窗的定义:一个N点的hamming窗函数定义为如下这两种窗函数都有低通特性,通过分析这两种窗的频率响应幅度特性可以发现(如图1.2):矩形窗的主瓣宽度小(4*pi/N),具有较高的频率分辨率,旁瓣峰值大(-13.3dB),会导致泄漏现象;汉明窗的主瓣宽8*pi/N,旁瓣峰值低(-42.7dB),可以有
2、效的克服泄漏现象,具有更平滑的低通特性。因此在语音频谱分析时常使用汉明窗,在计算短时能量和平均幅度时通常用矩形窗。表1.1对比了这两种窗函数的主瓣宽度和旁瓣峰值。 图1.2 矩形窗和Hamming窗的频率响应表1.1 矩形窗和hamming窗的主瓣宽度和旁瓣峰值窗函数主瓣宽度旁瓣峰值矩形窗4*pi/N13.3dBhamming8*pi/N42.7dB2.短时能量 由于语音信号的能量随时间变化,清音和浊音之间的能量差别相当显著。因此对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为:,其中N为窗长 特殊地,当采用矩形窗时,可简化为:图1.3和图1.4给出了不同矩形窗和ham
3、ming窗长的短时能量函数,我们发现:在用短时能量反映语音信号的幅度变化时,不同的窗函数以及相应窗的长短均有影响。hamming窗的效果比矩形窗略好。但是,窗的长短影响起决定性作用。窗过大(N 很大),等效于很窄的低通滤波器,不能反映幅度En的变化;窗过小( N 很小),短时能量随时间急剧变化,不能得到平滑的能量函数。在11.025kHz左右的采样频率下,N 选为100200比较合适。短时能量函数的应用:1)可用于区分清音段与浊音段。En值大对应于浊音段,En值小对应于清音段。2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。3)对高信噪比的语音信号,也可以用来区分有无语
4、音(语音信号的开始点或终止点)。无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显著增大。图1.3 不同矩形窗长的短时能量函数 图1.4 不同hamming窗长的短时能量函数 3短时平均过零率过零率可以反映信号的频谱特性。当离散时间信号相邻两个样点的正负号相异时,我们称之为“过零”,即此时信号的时间波形穿过了零电平的横轴。统计单位时间内样点值改变符号的次数具可以得到平均过零率。定义短时平均过零率:其中为符号函数,在矩形窗条件下,可以简化为短时过零率可以粗略估计语音的频谱特性。由语音的产生模型可知,发浊音时,声带振动,尽管声道有多个共振峰,但由于声门波引起了频谱的高频衰落,因此浊音能量
5、集中于3KZ以下。而清音由于声带不振动,声道的某些部位阻塞气流产生类白噪声,多数能量集中在较高频率上。高频率对应着高过零率,低频率对应着低过零率,那么过零率与语音的清浊音就存在着对应关系。.图1.5为某一语音在矩形窗条件下求得的短时能量和短时平均过零率。分析可知:清音的短时能量较低,过零率高,浊音的短时能量较高,过零率低。清音的过零率为0.5左右,浊音的过零率为0.1左右,两但者分布之间有相互交叠的区域,所以单纯依赖于平均过零率来准确判断清浊音是不可能的,在实际应用中往往是采用语音的多个特征参数进行综合判决。短时平均过零率的应用:1)区别清音和浊音。例如,清音的过零率高,浊音的过零率低。此外,
6、清音和浊音的两种过零分布都与高斯分布曲线比较吻合。2)从背景噪声中找出语音信号。语音处理领域中的一个基本问题是,如何将一串连续的语音信号进行适当的分割,以确定每个单词语音的信号,亦即找出每个单词的开始和终止位置。3)在孤立词的语音识别中,可利用能量和过零作为有话无话的鉴别。 图1.5 矩形窗条件下的短时平均过零率4、短时自相关函数自相关函数用于衡量信号自身时间波形的相似性。清音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,样点间的相似性较差。因此,我们用短时自相关函数来测定语音的相似特性。短时自相
7、关函数定义为:令,并且,可以得到: 图6给出了清音的短时自相关函数波形,图7给出了不同矩形窗长条件下(窗长分别为N=70,N=140,N=210,N=280)浊音的短时自相关函数波形。由图1.6、图1.7短时自相关函数波形分析可知:清音接近于随机噪声,清音的短时自相关函数不具有周期性,也没有明显突起的峰值,且随着延时k的增大迅速减小;浊音是周期信号,浊音的短时自相关函数呈现明显的周期性,自相关函数的周期就是浊音信号的周期,根据这个性质可以判断一个语音信号是清音还是浊音,还可以判断浊音的基音周期。浊音语音的周期可用自相关函数中第一个峰值的位置来估算。所以在语音信号处理中,自相关函数常用来作以下两
8、种语音信号特征的估计:1)区分语音是清音还是浊音;2)估计浊音语音信号的基音周期。图1.6 清音的短时自相关函数图1.7 不同矩形窗长条件下的浊音的短时自相关函数5、时域分析方法的应用1)基音频率的估计首先可利用时域分析(短时能量、短时过零率、短时自相关)方法的某一个特征或某几个特征的结合,判定某一语音有效的清音和浊音段;其次,针对浊音段,可直接利用短时自相关函数估计基音频率,其方法是:估算浊音段第一最大峰的位置,再利用抽样率计算基音频率,举例来说,若某一语音浊音段的第一最大峰值约为35个抽样点,设抽样频率为11.025KHZ,则基音频率为11025/35=315 HZ。但是,实际上第一最大峰
9、值位置有时并不一定与基音周期吻合。一方面与窗长有关,另一方面还与声道特性有关。鉴于此,可采用三电平削波法先进行预处理。2)语音端点的检测与估计可利用时域分析(短时能量、短时过零率、短时自相关)方法的某一个特征或某几个特征的结合,判定某一语音信号的端点,尤其在有噪声干扰时,如何准确检测语音信号的端点,这在语音处理中是富有挑战性的一个课题。6.短时傅立叶变换由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为: (2.1)其中w(n-m)是实窗口函数序列,n表示某一语音信号帧。令n-m=k,则得到 (2.2)于是可以得到 (2.3)假定 (4)则可以得到 (5)同样,不同的窗口
10、函数,将得到不同的傅立叶变换式的结果。由上式可见,短时傅立叶变换有两个变量:n和,所以它既是时序n的离散函数,又是角频率的连续函数。与离散傅立叶变换逼近傅立叶变换一样,如令=2k/N,则得离散的短时傅立叶吧如下: (6)7.语谱图水平方向是时间轴,垂直方向是频率轴,图上的灰度条纹代表各个时刻的语音短时谱。语谱图反映了语音信号的动态频率特性,在语音分析中具有重要的实用价值。被成为可视语言。语谱图的时间分辨率和频率分辨率是由窗函数的特性决定的。时间分辨率高,可以看出时间波形的每个周期及共振峰随时间的变化,但频率分辨率低,不足以分辨由于激励所形成的细微结构,称为宽带语谱图;而窄带语谱图正好与之相反。
11、宽带语谱图可以获得较高的时间分辨率,反映频谱的快速时变过程;窄带语谱图可以获得较高的频率分辨率,反映频谱的精细结构。两者相结合,可以提供带两与语音特性相关的信息。语谱图上因其不同的灰度,形成不同的纹路,称之为“声纹”。声纹因人而异,因此可以在司法、安全等场合得到应用。8.复倒谱和倒谱复倒谱是x(n)的Z变换取对数后的逆Z变换,其表达式如下: (7)倒谱c(n)定义为x(n)取Z变换后的幅度对数的逆Z变换,即 (8)在时域上,语音产生模型实际上是一个激励信号与声道冲激响应的卷积。对于浊音,激励信号可以由周期脉冲序列表示;对于清音,激励信号可以由随机噪声序列表示。声道系统相当于参数缓慢变化的零极点
12、线性滤波器。这样经过同态处理后,语音信号的复倒谱,激励信号的复倒谱,声道系统的复倒谱之间满足下面的关系: (9)由于倒谱对应于复倒谱的偶部,因此倒谱与复倒谱具有同样的特点,很容易知道语音信号的倒谱,激励信号的倒谱以及声道系统的倒谱之间满足下面关系: (10)浊音信号的倒谱中存在着峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。利用这个特点我们可以进行清浊音的判断,并且可以估计浊音的基音周期。9.基因周期估计浊音信号的倒谱中存在峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。利用倒谱的这个特点,我们可以进行语音的清浊音判决,并且可以估计浊音的基音周期。
13、首先计算语音的倒谱,然后在可能出现的基因周期附近寻找峰值。如果倒谱峰值超过了预先设置的门限,则输入语音判断为浊音,其峰值位置就是基因周期的估计值;反之,如果没有超出门限的峰值的话,则输入语音为清音。10.共振峰估计对倒谱进行滤波,取出低时间部分进行进行逆特征系统处理,可以得到一个平滑的对数谱函数,这个对数谱函数显示了输入语音段的共振峰结构,同时谱的峰值对应于共振峰频率。通过此对数谱进行峰值检测,就可以估计出前几个共振峰的频率和强度。对于浊音的声道特性,可以采用前三个共振峰来描述;清音不具备共振峰特点。实验步骤及结果:打开Cool edit pro开始录音1) 短时能量 (1)加矩形窗a=wavread(C:Usersk01WEI.wav);subplot(6,1,1),plot(a);N=32;for i=2:6h=linspace(1,1,2.(i-2)*N); En=conv(h,a.*a); subplot(6,1,i),plot(En);if(i=2) legend(N=32elseif(i=3) legend(N=64elseif(i=4) legend(N=128elseif(i=5) legend(N=256elseif(i=6) legend(N=512end(2)加汉明窗 a=wavread(h=hanning(2.(i-2)*N);%形成一个
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1