1、2022-7-31数字语音处理及MATLAB仿真 张雪英编著1第三章第三章 语音信号的短时时域分析语音信号的短时时域分析 3.1 概述概述13.2 语音信号的预处理语音信号的预处理3.3 短时平均能量短时平均能量 33.4 短时平均幅度函数短时平均幅度函数 43.5 短时平均过零率短时平均过零率 5 3.6 短时自相关分析短时自相关分析 62 3.7 基于能量和过零率的语音端点检测基于能量和过零率的语音端点检测7 3.8 基音周期估值基音周期估值 8第1页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著23.1 概述概述 语音信号是一种非平稳的时变信号,它携带着各语音信
2、号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中都需要提取语音中包含的各种信息。强等语音处理中都需要提取语音中包含的各种信息。语音处理的目的:对语音信号进行分析,提取特征语音处理的目的:对语音信号进行分析,提取特征参数,用于后续处理;加工语音信号。参数,用于后续处理;加工语音信号。总之,语音信号分析的目的就在于方便有效的总之,语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。提取并表示语音信号所携带的信息。第2页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著3
3、 根据所分析的参数类型,语音信号分析可以分根据所分析的参数类型,语音信号分析可以分成时域分析和变换域(频域、倒谱域)分析。其中成时域分析和变换域(频域、倒谱域)分析。其中时域分析方法是最简单、最直观的方法,它直接对时域分析方法是最简单、最直观的方法,它直接对语音信号的时域波形进行分析,提取的特征参数主语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量和平均幅度、短时平均过零率、要有语音的短时能量和平均幅度、短时平均过零率、短时自相关函数和短时平均幅度差函数等。短时自相关函数和短时平均幅度差函数等。第3页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著43.2
4、 语音信号的预处理语音信号的预处理 在对语音信号进行数字处理之前,首先要将模在对语音信号进行数字处理之前,首先要将模拟语音信号拟语音信号s(t)离散化为离散化为s(n).实际中获得数字语音的实际中获得数字语音的途径一般有两种,正式的和非正式的。途径一般有两种,正式的和非正式的。正式的是指大公司或语音研究机构发布的被大家认可正式的是指大公司或语音研究机构发布的被大家认可的语音数据库,非正式的则是研究者个人用录音软件或硬的语音数据库,非正式的则是研究者个人用录音软件或硬件电路加麦克风随时随地录制的一些发音或语句。件电路加麦克风随时随地录制的一些发音或语句。第4页,共76页。2022-7-31数字语
5、音处理及MATLAB仿真 张雪英编著5 语音信号的频率范围通常是语音信号的频率范围通常是3003400Hz,一般情,一般情况下取采样率为况下取采样率为8kHz即可。本书的数字语音处理对象即可。本书的数字语音处理对象为语音数据文件,是已经数字化了的语音。为语音数据文件,是已经数字化了的语音。有了语音数据文件后,对语音的预处理包括:预加有了语音数据文件后,对语音的预处理包括:预加重、加窗分帧等。重、加窗分帧等。第5页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著63.2.1 语音信号的预加重处理语音信号的预加重处理 预加重目的:为了对语音的高频部分进行加重,去预加重目的:
6、为了对语音的高频部分进行加重,去除口唇辐射的影响,增加语音的高频分辨率。可通过除口唇辐射的影响,增加语音的高频分辨率。可通过一阶一阶FIR高通数字滤波器来实现:高通数字滤波器来实现:1()1H zz 设设n时刻的语音采样值为时刻的语音采样值为x(n),经过预加重处理后的结经过预加重处理后的结果为果为 ()()(1)y nx nx n第6页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著7高通滤波器的幅频特性和相频特性如下高通滤波器的幅频特性和相频特性如下 第7页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著8预加重前和预加重后的一段语音信号时域
7、波形预加重前和预加重后的一段语音信号时域波形 第8页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著9 预加重前和预加重后的一段语音信号频谱预加重前和预加重后的一段语音信号频谱 第9页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著103.2.2 语音信号的加窗处理语音信号的加窗处理 由于发音器官的惯性运动,可以认为在一小段由于发音器官的惯性运动,可以认为在一小段时间里(一般为时间里(一般为10ms30ms)语音信号近似不变,)语音信号近似不变,即语音信号具有短时平稳性。这样,可以把语音信即语音信号具有短时平稳性。这样,可以把语音信号分为一些短段
8、(称为分析帧)来进行处理。号分为一些短段(称为分析帧)来进行处理。第10页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著11 语音信号的分帧实现方法:语音信号的分帧实现方法:采用可移动的有限长度窗口进行加权的方法来实现的。采用可移动的有限长度窗口进行加权的方法来实现的。一般每秒的帧数约为一般每秒的帧数约为33100帧。帧。分帧一般采用交叠分段的方法,这是为了使帧与帧之分帧一般采用交叠分段的方法,这是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为称为帧移,帧移与帧长的比
9、值一般取为01/2。第11页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著12图图3.3给出了帧移与帧长示意图。给出了帧移与帧长示意图。第12页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著13加窗常用的两种方法:加窗常用的两种方法:矩形窗,窗函数如下:矩形窗,窗函数如下:其它 010 1)(Nnnw汉明汉明(Hamming)窗,窗函数如下窗,窗函数如下 0.540.46 cos 2/1 0()0 nNnNw n其它,第13页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著14矩形窗及其频谱如下矩形窗及其频谱如下第14
10、页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著15汉明窗及其频谱如下汉明窗及其频谱如下思考:思考:两种窗效果有何异同?两种窗效果有何异同?第15页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著16加窗方法示意图:加窗方法示意图:第16页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著17窗长的选择窗长的选择 一般选取一般选取100200。原因如下:。原因如下:当窗较宽时,平滑作用大,能量变化不大,故反映当窗较宽时,平滑作用大,能量变化不大,故反映不出能量的变化。不出能量的变化。当窗较窄时,没有平滑作用,反映了能量的快
11、当窗较窄时,没有平滑作用,反映了能量的快变细节,而看不出包络的变化。变细节,而看不出包络的变化。第17页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著18 语音信号的分帧处理,实际上就是对各帧进行语音信号的分帧处理,实际上就是对各帧进行某种变换或运算。设这种变换或运算用某种变换或运算。设这种变换或运算用T 表示,表示,x(n)为输入语音信号,为输入语音信号,w(n)为窗序列,为窗序列,h(n)是与是与w(n)有关的滤有关的滤波器,则各帧经处理后的输出可以表示为:波器,则各帧经处理后的输出可以表示为:()()nmQT x m h nm第18页,共76页。2022-7-3
12、1数字语音处理及MATLAB仿真 张雪英编著19几种常见的短时处理方法是:几种常见的短时处理方法是:22()()()()T x mxmh nw n,nQ1.对应于能量;对应于能量;()sgn()sgn(1)()()T xmxmxmhnwn,2.,nQ对应于平均过零率;对应于平均过零率;()()()T x mx mx m kh nw n w n k,3.nQ对应于对应于自相关函数自相关函数;第19页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著203.3 短短时平均能量时平均能量 1短时平均能量定义短时平均能量定义定义定义n时刻某语音信号的短时平均能量时刻某语音信号的短
13、时平均能量En为:为:)()()()()1(22nNnmmnmnwmxmnwmxE当窗函数为矩形窗时,有当窗函数为矩形窗时,有 )()1(2nNnmnmxE第20页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著21若令若令 则则短时平均能量短时平均能量可以写成:可以写成:)()(2nwnh )()()()(22nhnxmnhmxEmn x(n)x 2(n)E n h(n)(.)2 图 3.7 语音信号的短时平均能量实现方框图 第21页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著222.En特点:特点:En反映语音信号的幅度或能量随时间缓慢变
14、反映语音信号的幅度或能量随时间缓慢变化的规律化的规律。3.窗的长短对于能否由短时能量反映语音信号的幅度窗的长短对于能否由短时能量反映语音信号的幅度变化,起着决定性影响。变化,起着决定性影响。如果窗选得很长,如果窗选得很长,En不能反映语音信号幅度变化不能反映语音信号幅度变化。窗选得太窄,窗选得太窄,En将不够平滑。将不够平滑。通 常,当 取 样 频 率 为通 常,当 取 样 频 率 为 1 0 k H z 时,选 择 窗 宽 度时,选 择 窗 宽 度N=100200是比较合适的。是比较合适的。第22页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著23不同矩形窗长不同矩
15、形窗长N时的短时能量函数时的短时能量函数 第23页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著24 短时平均能量的主要用途如下:短时平均能量的主要用途如下:1)可以作为区分清音和浊音的特征参数。)可以作为区分清音和浊音的特征参数。2)在信噪比较高的情况下,短时能量还可以作为区)在信噪比较高的情况下,短时能量还可以作为区分有声和无声的依据。分有声和无声的依据。3)可以作为辅助的特征参数用于语音识别中。)可以作为辅助的特征参数用于语音识别中。第24页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著25MATLAB的具体实现如下的具体实现如下:1、
16、用、用Cooledit读入语音读入语音“我到北京去我到北京去”。2、将读入的语音文件、将读入的语音文件wav保存为保存为txt文件,设置采样率为文件,设置采样率为8kHz,16位,单声道。位,单声道。3、把保存的文件、把保存的文件zqq.txt读入读入Matlab。fid=fopen(zqq.txt,rt);x=fscanf(fid,%f);fclose(fid);4、对采集到的语音样点值进行分帧。、对采集到的语音样点值进行分帧。第25页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著263.4 短时平均短时平均幅度函数幅度函数 为了克服短时能量函数计算为了克服短时能量
17、函数计算x2(m)的缺点,定义了的缺点,定义了短时平均幅度函数短时平均幅度函数:mnmnwmxM )(|)(|第26页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著27 x(n)Mn w(n)图 3.9 短时平均幅度|x(n)|.|Mn与与En的比较:的比较:1.Mn能较好地反映清音范围内的幅度变化;能较好地反映清音范围内的幅度变化;2.Mn所能反映幅度变化的动态范围比所能反映幅度变化的动态范围比En好;好;3.Mn反映清音和浊音之间的电平差次于反映清音和浊音之间的电平差次于En。第27页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著28短时
18、平均幅度函数随矩形窗窗长短时平均幅度函数随矩形窗窗长N变化的情况变化的情况第28页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著293.5 短时平均过零率短时平均过零率 1.定义定义 在离散时间语音信号情况下,如果相邻的采样在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。单位时具有不同的代数符号就称为发生了过零。单位时间内过零的次数就称为过零率。间内过零的次数就称为过零率。短时平均过零率短时平均过零率的定义为的定义为 sgnsgn1sgnsgn1*nmZx mx mw nmx nx nw n 第29页,共76页。2022-7-31数字语音处
19、理及MATLAB仿真 张雪英编著30 10120 nN w n N 其它1()0 sgn()1()0 x n x n -x n及 在上式中,用在上式中,用1/2N 作为幅值,是考虑了对该窗口范围内的过作为幅值,是考虑了对该窗口范围内的过零数取平均的意思零数取平均的意思。第30页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著31 考虑到考虑到w(n-m)的非零值范围为的非零值范围为n-m0,即,即mn,以及以及 n-mN-1,故故mn-N+1,因此,因此短时平均过零率短时平均过零率可可以改写为:以改写为:nNnmnmxmxNZ)1(|1-sgnsgn|21 sgnsgn
20、1sgnsgn1*nmZx mx mw nmx nx nw n (定义式)(定义式)第31页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著322.实现短时平均过零率实现短时平均过零率 Nn x(n)Sgnx(n)1 一阶差分 sgnxn-sgnxn-1 低通滤波 h(n)=w(n)-1+1 图图 3.11 语音信号的短时平均跨零数语音信号的短时平均跨零数 Sgn.取绝对取绝对值值 .第32页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著33女声女声“我到北京去我到北京去”的短时平均过零次数的变化曲线的短时平均过零次数的变化曲线:第33页,共7
21、6页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著343.应用应用 清音过零率高,浊音过零率低。清音过零率高,浊音过零率低。局限性:浊音和清音重叠区域只根据短时平均局限性:浊音和清音重叠区域只根据短时平均过零率不可能明确地判别清、浊音。过零率不可能明确地判别清、浊音。清音清音 浊音浊音 0 10 20 30 40 50 60 70 80 每每 10ms 内的过零数内的过零数 过零率概率分布过零率概率分布 第34页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著35端点检测端点检测 端点检测目的:从包含语音的一段信号中确定出语端点检测目的:从包含语音的一段
22、信号中确定出语音的起点及结束点。音的起点及结束点。有效的端点检测不仅能使处理时间减到最少,而有效的端点检测不仅能使处理时间减到最少,而且能抑制无声段的噪声干扰,提高语音处理的质量。且能抑制无声段的噪声干扰,提高语音处理的质量。第35页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著363.6 短时自相关分析短时自相关分析 3.6.1 短时自相关函数短时自相关函数 时域离散确定信号的自相关函数定义为:时域离散确定信号的自相关函数定义为:时域离散随机信号的自相关函数定义为:时域离散随机信号的自相关函数定义为:周期为周期为P的周期信号满足:的周期信号满足:)(mkmxmxkR
23、 NNmNkmxmxNkR 121lim PkRkR第36页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著37 自相关函数具有下述性质:自相关函数具有下述性质:(1)对称性对称性 R(k)=R(-k)(2)在在k=0处为最大值,即对于所有处为最大值,即对于所有k来说,来说,|R(k)|R(0)(3)对于确定信号,对于确定信号,R(0)对应于能量对应于能量 对于随机信号,对于随机信号,R(0)对应于平均功率对应于平均功率 第37页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著38 采用短时分析方法,定义语音信号短时自相关函数为采用短时分析方法,
24、定义语音信号短时自相关函数为 mnmknwkmxmnwmxkR因为因为 nnRkRk所以所以 nnmR kRkx m x m k w n m w n m k 3.6.2 语音信号的短时自相关函数语音信号的短时自相关函数 第38页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著39定义定义 (3-18)那么短时自相关函数可以写成:那么短时自相关函数可以写成:knwnwnhk mnhkmxmxkRmkn)()(knxnx)(nhk)(kRn上式表明,序列上式表明,序列经过一个冲激响应为经过一个冲激响应为的数字滤波器滤波即得到短时自相关函数的数字滤波器滤波即得到短时自相关函数
25、 第39页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著40 Rn(k)z-k x(n)x(nk)hk(n)mnhkmxmxkRmkn第40页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著41mnm)()(mwmw ()()()()nmm R kx n m w mx n m k w k m x n mw m x n m k w k m 也可采用直接运算的方法,令也可采用直接运算的方法,令则可得:则可得:kNmn mkwkmnxmwmnxkR10 上式可以写成上式可以写成 第41页,共76页。2022-7-31数字语音处理及MATLAB仿真 张
26、雪英编著42浊音的短时自相关函数浊音的短时自相关函数 第42页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著43清音的短时自相关函数清音的短时自相关函数 第43页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著44浊音和清音的短时自相关函数有如下几个特点:浊音和清音的短时自相关函数有如下几个特点:1)短时自相关函数可以很明显的反映出浊音信号的周)短时自相关函数可以很明显的反映出浊音信号的周期性。期性。2)清音的短时自相关函数没有周期性,也不具有明显突)清音的短时自相关函数没有周期性,也不具有明显突出的峰值,其性质类似于噪声。出的峰值,其性质类似
27、于噪声。3)不同的窗对短时自相关函数结果有一定的影响。)不同的窗对短时自相关函数结果有一定的影响。第44页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著45图图3.16 不同矩形窗长时的短时自相关函数不同矩形窗长时的短时自相关函数第45页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著463.6.3 修正的短时自相关函数修正的短时自相关函数修正的短时自相关函数,其定义如下修正的短时自相关函数,其定义如下 kmnwkmxmnwmxkRn2-m1mnm若令,代入上式中,可得)(-)()(-21-kmwkmnxmwmnxkRmn 1122w mwmw
28、mwm定义 kmwkmnxmwmnxkRn2-m1)()(第46页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著47 121 0-10 1 0-1 0 nN w mnNK wm其它其它,式中,式中,K为为k的最大值,即的最大值,即0kK。)(2kmwKNkm+1-+Kk 1-Nm要使要使为非零值,必须使为非零值,必须使 考虑到考虑到,可得,可得 修正的短时自相关函数可以写成:修正的短时自相关函数可以写成:1-0 )()()(NmnkmnxmnxkR第47页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著481-0 )()()(Nmnkmnxmn
29、xkR因为求和上限是因为求和上限是N-1,与,与k无关,故当无关,故当k增加时,增加时,值不下降值不下降.)(kRn第48页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著493.6.4 短时平均幅度差函数短时平均幅度差函数 一个周期为一个周期为P的周期信号,在的周期信号,在k=0,P,2P,时,时,对于浊音语音,在基音周期的整数倍上,对于浊音语音,在基音周期的整数倍上,d(n)总是很总是很小,但不是零,因此,我们可以定义短时平均幅度小,但不是零,因此,我们可以定义短时平均幅度差函数差函数AMDF为为 -0 02.d nx nx n kkPP,|)()()()(|)(2
30、1kmwkmnxmwmnxkrmn第49页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著50使用矩形窗时,短时平均幅度差函数可写成:使用矩形窗时,短时平均幅度差函数可写成:10 1-,0,1,|,)()(|)(NnnNkknxnxkr1/2()2()(0)()nnnrkkRRk()nr k()nR k与与之间的关系为:之间的关系为:第50页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著513.7 基于能量和过零率的语音端点检测基于能量和过零率的语音端点检测 语音端点检测就是指从包含语音的一段信号中确定语音端点检测就是指从包含语音的一段信号中确
31、定出语音的起始点和结束点。出语音的起始点和结束点。正确的端点检测对于语音识别和语音编码系统正确的端点检测对于语音识别和语音编码系统都有重要的意义。都有重要的意义。本节介绍基于能量和过零率的语音端点检测方法本节介绍基于能量和过零率的语音端点检测方法两级判决法及程序实现。两级判决法及程序实现。第51页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著52 两级判决法示意图两级判决法示意图 第52页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著53 采用双门限比较法的两级判决法,具体如下采用双门限比较法的两级判决法,具体如下 第一级判决:第一级判决:1
32、.先根据语音短时能量的轮廓选取一个较高的门限先根据语音短时能量的轮廓选取一个较高的门限T1,进行一次粗判:语音起止点位于该门限与短时能量包络交点进行一次粗判:语音起止点位于该门限与短时能量包络交点所对应的时间间隔之外所对应的时间间隔之外(即即AB段之外段之外)。2.根据背景噪声的平均能量确定一个较低的门限根据背景噪声的平均能量确定一个较低的门限T2,并,并从从A点往左、从点往左、从B点往右搜索,分别找到短时能量包络与门点往右搜索,分别找到短时能量包络与门限限T2相交的两个点相交的两个点C和和D,于是,于是CD段就是用双门限方法根据段就是用双门限方法根据短时能量所判定的语音段。短时能量所判定的语
33、音段。第53页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著54 第二级判决:第二级判决:以短时平均过零率为标准,从以短时平均过零率为标准,从C点往左和从点往左和从D点点往右搜索,找到短时平均过零率低于某个门限往右搜索,找到短时平均过零率低于某个门限T3的的两点两点E和和F,这便是语音段的起止点。门限,这便是语音段的起止点。门限T3是由背是由背景噪声的平均过零率所确定的。景噪声的平均过零率所确定的。注意:门限注意:门限T2,T3都是由背景噪声特性确定的,因此,都是由背景噪声特性确定的,因此,在进行起止点判决前,在进行起止点判决前,T1,T2,T3,三个门限值的确定还,
34、三个门限值的确定还应当通过多次实验。应当通过多次实验。第54页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著55 基于基于MATLAB程序实现能量与过零率的端点检测算法程序实现能量与过零率的端点检测算法步骤如下:步骤如下:(1)语音信号)语音信号x(n)进行分帧处理。进行分帧处理。(2)得到语音的短时帧能量。)得到语音的短时帧能量。(3)计算每一帧语音的过零率,得到短时帧过零率。)计算每一帧语音的过零率,得到短时帧过零率。(4)考察语音的平均能量设置一个较高的门限)考察语音的平均能量设置一个较高的门限T1,用以确定,用以确定语音开始,然后根据背景噪声的平均能量确定一个
35、稍低的门语音开始,然后根据背景噪声的平均能量确定一个稍低的门限限T2,用以确定第一级语音结束点。第二级判决同样根据背,用以确定第一级语音结束点。第二级判决同样根据背景噪声平均过零率景噪声平均过零率ZN,设置一个门限,设置一个门限T3,判断语音前端清音,判断语音前端清音和后端尾音。和后端尾音。第55页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著563.8 基音周期估值基音周期估值 基音周期估值在语音信号处理应用中具有十分重基音周期估值在语音信号处理应用中具有十分重要的作用。本节介绍语音信号基音周期估值最基本的两要的作用。本节介绍语音信号基音周期估值最基本的两种方法:种
36、方法:基于短时自相关法的基音周期估值基于短时自相关法的基音周期估值 基于短时平均幅度差函数法的基音周期估值基于短时平均幅度差函数法的基音周期估值 第56页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著573.8.1 基于短时自相关法的基音周期估值基于短时自相关法的基音周期估值 语音的浊音信号具有准周期性,其自相关函数语音的浊音信号具有准周期性,其自相关函数在基音周期的整数倍处取最大值。计算两相邻最大在基音周期的整数倍处取最大值。计算两相邻最大峰值间的距离,就可以估计出基音周期。峰值间的距离,就可以估计出基音周期。为了突出反映基音周期的信息,同时压缩其他为了突出反映基音
37、周期的信息,同时压缩其他无关信息,减小运算量,自相关计算之前需要对语无关信息,减小运算量,自相关计算之前需要对语音信号进行适当预处理。音信号进行适当预处理。第57页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著58 预处理的两种方法预处理的两种方法 第一种方法:先对语音信号进行低通滤波,再第一种方法:先对语音信号进行低通滤波,再进行自相关计算。进行自相关计算。第二种方法:先对语音信号进行中心削波处理,第二种方法:先对语音信号进行中心削波处理,再进行自相关计算。常用的有两种削波函数,下面分别再进行自相关计算。常用的有两种削波函数,下面分别介绍。介绍。1.中心削波中心削波
38、 中心削波函数为中心削波函数为 ()()0()()LLLLLLxxxxf xxxxxxxx 第58页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著59削波后的序列用短时自相关函数估计基音周期,在基音周期削波后的序列用短时自相关函数估计基音周期,在基音周期处峰值更加尖锐,可减少倍频或半频错误。处峰值更加尖锐,可减少倍频或半频错误。第59页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著60削波前后语音信号对比图及修正自相关对比图削波前后语音信号对比图及修正自相关对比图 第60页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编
39、著61 2三电平削波三电平削波 为了克服短时自相关函数计算量大的问题,在中心为了克服短时自相关函数计算量大的问题,在中心削波法的基础上,还可以采用三电平削波法,削波函数如削波法的基础上,还可以采用三电平削波法,削波函数如下式下式1()01LLLLxxf xxxxxx f(x)x xL-xL O-1 1 第61页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著62 经削波后的取样值仅有三种可能情况,即经削波后的取样值仅有三种可能情况,即+1,0,-1。显然,这种信号的短时自相关函数的计算实际上。显然,这种信号的短时自相关函数的计算实际上是不需要乘法运算的,这就大大节省了计
40、算时间。是不需要乘法运算的,这就大大节省了计算时间。第62页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著63第63页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著64第64页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著653.8.2 基于短时平均幅度差函数基于短时平均幅度差函数AMDF法的基音周期估值法的基音周期估值 对于浊音语音,在基音周期的整数倍上的幅度差值对于浊音语音,在基音周期的整数倍上的幅度差值不是零,但总是很小,因此,可以通过计算短时平均幅不是零,但总是很小,因此,可以通过计算短时平均幅度差函数中两相
41、邻谷值间的距离来进行基音周期估值。度差函数中两相邻谷值间的距离来进行基音周期估值。这里使用修正的短时平均幅度差函数并加矩形窗,得到:这里使用修正的短时平均幅度差函数并加矩形窗,得到:10 1-,0,1,|,)()(|)(NnnNkknxnxkr第65页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著66 AMDF函数与短时自相关函数的不同是:函数与短时自相关函数的不同是:自相关函数进行基音周期估计时寻找的是最大峰值自相关函数进行基音周期估计时寻找的是最大峰值点的位置,而点的位置,而AMDF寻找的是它的最小谷值点的位置。寻找的是它的最小谷值点的位置。由于清音没有周期性,所
42、以它的自相关函数和平均幅度由于清音没有周期性,所以它的自相关函数和平均幅度差函数均不具有准周期性的峰值或谷值。差函数均不具有准周期性的峰值或谷值。第66页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著67第67页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著683.8.3 基音周期估值的后处理基音周期估值的后处理 在提取基音时,无论采用哪种方法提取的基音频率在提取基音时,无论采用哪种方法提取的基音频率轨迹与真实的基音频率轨迹都不可能完全吻合。实际情轨迹与真实的基音频率轨迹都不可能完全吻合。实际情况是大部分段落吻合,而在一些局部段落和区域中有一
43、况是大部分段落吻合,而在一些局部段落和区域中有一个或几个基音频率估计值偏离,甚至远离正常轨迹,通个或几个基音频率估计值偏离,甚至远离正常轨迹,通常是偏离到正常值的常是偏离到正常值的2 2倍或倍或1/21/2处,即实际基音频率的倍处,即实际基音频率的倍频或分频处,称这种偏离点为基音轨迹的频或分频处,称这种偏离点为基音轨迹的“野点野点”。为了去除为了去除“野点野点”,常用的平滑技术主要有:中值滤波,常用的平滑技术主要有:中值滤波平滑处理、线性平滑、动态规划平滑处理。平滑处理、线性平滑、动态规划平滑处理。第68页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著69 1.中值平
44、滑处理中值平滑处理 基本原理:设基本原理:设x(n)为输入信号,为输入信号,y(n)为中值滤波器的输出,为中值滤波器的输出,采用一滑动窗,则采用一滑动窗,则n0处的输出值处的输出值y(n0)就是将窗的中心移就是将窗的中心移到到n0处时窗内输入样点的中值。即在处时窗内输入样点的中值。即在n0点的左右各取点的左右各取L个个样点。连同被平滑点共同构成一组信号采样值样点。连同被平滑点共同构成一组信号采样值(共共(2L+1)个样值个样值),然后将这,然后将这(2L+1)个样值按大小次序排成个样值按大小次序排成一队,取此队列中的中间者作为平滑器的输出。一队,取此队列中的中间者作为平滑器的输出。L值一值一般
45、取为般取为1或或2,即中值平滑的,即中值平滑的“窗口窗口”一般包括一般包括3至至5个个样值,称为样值,称为3点或点或5点中值平滑。点中值平滑。第69页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著702.线性平滑处理线性平滑处理线性平滑是用滑动窗进行线性滤波处理线性平滑是用滑动窗进行线性滤波处理 ()()()LmLy nx nm w m,.2,1,0,1,),(LLLmmw为为2L+1点平滑窗,满足点平滑窗,满足 LLmmw1)(第70页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著71 3.组合平滑处理组合平滑处理 为了改善平滑的效果可以将
46、两个中值平滑串接,图为了改善平滑的效果可以将两个中值平滑串接,图3.26(a)所示是将一个所示是将一个5点中值平滑和一个点中值平滑和一个3点中值平滑串点中值平滑串接。另一种方法是将中值平滑和线性平滑组合,如图接。另一种方法是将中值平滑和线性平滑组合,如图3.26(b)所示。为了使平滑的基音轨迹更为贴近,还可以所示。为了使平滑的基音轨迹更为贴近,还可以采用二次平滑的算法。采用二次平滑的算法。5点中值平滑点中值平滑3点中值平滑点中值平滑中值平滑中值平滑线性平滑线性平滑图图3.26(a)图图3.26(b)第71页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著72_+中值中值
47、平滑平滑线性线性平滑平滑中值平滑线性平滑+第72页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著73+中值中值平滑平滑线性线性平滑平滑中值中值平滑平滑线性线性平滑平滑延时延时_+各种组合平滑算法各种组合平滑算法 第73页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著743.8.4 基音周期估值后处理的基音周期估值后处理的MATLAB实现实现 本实验所用的语音样本是用本实验所用的语音样本是用Cool Edit在普通室内在普通室内环境下录制的女声环境下录制的女声“我到北京去我到北京去”,采样频率为,采样频率为8kHz,单声道,将语音信号分为若干帧
48、,每帧长单声道,将语音信号分为若干帧,每帧长220个样点,个样点,相邻帧交叠相邻帧交叠110个样点,采用基于能量的基音周期检测个样点,采用基于能量的基音周期检测算 法 求 出 基 音 周 期,并 将 原 始 基 音 周 期 保 存 为算 法 求 出 基 音 周 期,并 将 原 始 基 音 周 期 保 存 为“zhouqi.txt”文件,用程序对原始基音周期进行平滑文件,用程序对原始基音周期进行平滑处理。处理。第74页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著75第75页,共76页。2022-7-31数字语音处理及MATLAB仿真 张雪英编著76 由程序运行结果可以
49、看出,组合平滑算法对原由程序运行结果可以看出,组合平滑算法对原始基音周期的始基音周期的“野点野点”有很好的平滑作用,二次平有很好的平滑作用,二次平滑算法在对语音滑算法在对语音“我到北京去我到北京去”的平滑作用上,与的平滑作用上,与组合平滑算法相差无几,都很好地实现了对原始语组合平滑算法相差无几,都很好地实现了对原始语音进行平滑。理论上加延时的二次平滑算法的平滑音进行平滑。理论上加延时的二次平滑算法的平滑效果应优于二次平滑算法,但在该实验中效果不佳,效果应优于二次平滑算法,但在该实验中效果不佳,可能原因是原始基音周期已经趋于平滑,加延时反可能原因是原始基音周期已经趋于平滑,加延时反而造成基音周期的不准确。而造成基音周期的不准确。第76页,共76页。