语音信号的短时时域分析.ppt
数字语音处理及MATLAB仿真 张雪英编著1第三章第三章 语音信号的短时时域分析语音信号的短时时域分析 3.1概述概述13.2语音信号的预处理语音信号的预处理3.3短时平均能量短时平均能量 33.4短时平均幅度函数短时平均幅度函数 43.5短时平均过零率短时平均过零率 5 3.6短时自相关分析短时自相关分析 62 3.7基于能量和过零率的语音端点检测基于能量和过零率的语音端点检测7数字语音处理及MATLAB仿真 张雪英编著23.1 概述概述 语音信号是一种非平稳的时变信号,它携带语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中都需要提取语音中包含和语音增强等语音处理中都需要提取语音中包含的各种信息。的各种信息。语音处理的目的:对语音信号进行分析,提语音处理的目的:对语音信号进行分析,提取特征参数,用于后续处理;加工语音信号。取特征参数,用于后续处理;加工语音信号。总之,语音信号分析的目的就在于方便有效总之,语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息。的提取并表示语音信号所携带的信息。数字语音处理及MATLAB仿真 张雪英编著3根根据据所所分分析析的的参参数数类类型型,语语音音信信号号分分析析可可以以分分成成时时域域分分析析和和变变换换域域(频频域域、倒倒谱谱域域)分分析析。其其中中时时域域分分析析方方法法是是最最简简单单、最最直直观观的的方方法法,它它直直接接对对语语音音信信号号的的时时域域波波形形进进行行分分析析,提提取取的的特特征征参参数数主主要要有有语语音音的的短短时时能能量量和和平平均均幅幅度度、短短时时平平均均过过零零率率、短短时时自自相相关关函函数数和和短短时时平平均均幅幅度度差差函数等。函数等。数字语音处理及MATLAB仿真 张雪英编著43.2 语音信号的预处理语音信号的预处理 在在对对语语音音信信号号进进行行数数字字处处理理之之前前,首首先先要要将将模模拟拟语语音音信信号号s(t)离离散散化化为为s(n).实实际际中中获获得得数数字字语音的途径一般有两种,正式的和非正式的。语音的途径一般有两种,正式的和非正式的。正正式式的的是是指指大大公公司司或或语语音音研研究究机机构构发发布布的的被被大大家家认认可可的的语语音音数数据据库库,非非正正式式的的则则是是研研究究者者个个人人用用录录音音软软件件或或硬硬件件电电路路加加麦麦克克风风随随时时随随地地录录制制的一些发音或语句。的一些发音或语句。数字语音处理及MATLAB仿真 张雪英编著5图3-4 语音信号处理系统框图数字语音处理及MATLAB仿真 张雪英编著6数字语音处理及MATLAB仿真 张雪英编著7语语音音信信号号的的频频率率范范围围通通常常是是3003400Hz,一一般情况下取采样率为般情况下取采样率为8kHz即可。即可。采采样样后后的的信信号号在在进进行行量量化化的的过过程程中中不不可可避避免免的的产产生生量量化化误误差差,一一般般可可用用量量化化信信噪噪比比来来表表示示量量化误差的大小:化误差的大小:数字语音处理及MATLAB仿真 张雪英编著83.2.1 语音信号的预加重处理语音信号的预加重处理 预预加加重重目目的的:为为了了对对语语音音的的高高频频部部分分进进行行加加重重,去去除除口口唇唇辐辐射射的的影影响响,增增加加语语音音的的高高频频分分辨辨率率。可通过一阶可通过一阶FIR高通数字滤波器来实现:高通数字滤波器来实现:设设n时刻的语音采样值为时刻的语音采样值为x(n),经过预加重处理后经过预加重处理后的结果为的结果为 有了语音数据文件后,对语音的预处理包括:有了语音数据文件后,对语音的预处理包括:预加重、加窗分帧等。预加重、加窗分帧等。数字语音处理及MATLAB仿真 张雪英编著9高通滤波器的幅频特性和相频特性如下高通滤波器的幅频特性和相频特性如下 数字语音处理及MATLAB仿真 张雪英编著10预加重前和预加重后的一段语音信号时域波形预加重前和预加重后的一段语音信号时域波形 数字语音处理及MATLAB仿真 张雪英编著11 预加重前和预加重后的一段语音信号频谱预加重前和预加重后的一段语音信号频谱 数字语音处理及MATLAB仿真 张雪英编著123.2.2语音信号的加窗处理语音信号的加窗处理 由由于于发发音音器器官官的的惯惯性性运运动动,可可以以认认为为在在一一小小段段时时间间里里(一一般般为为10ms30ms)语语音音信信号号近近似似不不变变,即即语语音音信信号号具具有有短短时时平平稳稳性性。这这样样,可可以以把把语语音音信信号号分分为为一一些些短短段段(称称为为分分析析帧帧)来来进进行行处处理。理。数字语音处理及MATLAB仿真 张雪英编著13语音信号的分帧实现方法:语音信号的分帧实现方法:采采用用可可移移动动的的有有限限长长度度窗窗口口进进行行加加权权的的方方法法来实现的。一般每秒的帧数约为来实现的。一般每秒的帧数约为33100帧。帧。分分帧帧一一般般采采用用交交叠叠分分段段的的方方法法,这这是是为为了了使使帧帧与与帧帧之之间间平平滑滑过过渡渡,保保持持其其连连续续性性。前前一一帧帧和和后后一一帧帧的的交交叠叠部部分分称称为为帧帧移移,帧帧移移与与帧帧长长的的比比值值一般取为一般取为01/2。数字语音处理及MATLAB仿真 张雪英编著14图图3.3给出了帧移与帧长示意图。给出了帧移与帧长示意图。数字语音处理及MATLAB仿真 张雪英编著15加窗常用的两种方法:加窗常用的两种方法:矩形窗,窗函数如下:矩形窗,窗函数如下:汉明汉明(Hamming)窗,窗函数如下窗,窗函数如下数字语音处理及MATLAB仿真 张雪英编著16矩形窗及其频谱如下矩形窗及其频谱如下数字语音处理及MATLAB仿真 张雪英编著17汉明窗及其频谱如下汉明窗及其频谱如下数字语音处理及MATLAB仿真 张雪英编著18思考:思考:两种窗效果有何异同?两种窗效果有何异同?数字语音处理及MATLAB仿真 张雪英编著19加窗方法示意图:加窗方法示意图:数字语音处理及MATLAB仿真 张雪英编著20窗长的选择窗长的选择一般选取一般选取100200(应含应含17个基音周期个基音周期)。原。原因如下:因如下:当窗较宽时,平滑作用大,能量变化不大,当窗较宽时,平滑作用大,能量变化不大,故反映不出能量的变化。故反映不出能量的变化。当窗较窄时,没有平滑作用,反映了能量的当窗较窄时,没有平滑作用,反映了能量的快变细节,而看不出包络的变化。快变细节,而看不出包络的变化。数字语音处理及MATLAB仿真 张雪英编著21语语音音信信号号的的分分帧帧处处理理,实实际际上上就就是是对对各各帧帧进进行行某某种种变变换换或或运运算算。设设这这种种变变换换或或运运算算用用T表表示示,x(n)为为输输入入语语音音信信号号,w(n)为为窗窗序序列列,h(n)是是与与w(n)有有关关的的滤滤波波器器,则则各各帧帧经经处处理理后后的的输输出出可可以以表表示为:示为:数字语音处理及MATLAB仿真 张雪英编著22几种常见的短时处理方法是:几种常见的短时处理方法是:1.对应于能量;对应于能量;2.,对应于平均过零率;对应于平均过零率;3.对应于对应于自相关函数自相关函数;数字语音处理及MATLAB仿真 张雪英编著233.3短短时平均能量时平均能量 1短时平均能量定义短时平均能量定义定义定义n时刻某语音信号的短时平均能量时刻某语音信号的短时平均能量En为:为:当窗函数为矩形窗时,有当窗函数为矩形窗时,有数字语音处理及MATLAB仿真 张雪英编著24若令若令 则则短时平均能量短时平均能量可以写成:可以写成:数字语音处理及MATLAB仿真 张雪英编著252.En特特点点:En反反映映语语音音信信号号的的幅幅度度或或能能量量随随时时间间缓缓慢变化的规律慢变化的规律。3.窗窗的的长长短短对对于于能能否否由由短短时时能能量量反反映映语语音音信信号号的的幅幅度变化,起着决定性影响。度变化,起着决定性影响。如果窗选得很长,如果窗选得很长,En不能反映语音信号幅度变化不能反映语音信号幅度变化。窗选得太窄,窗选得太窄,En将不够平滑。将不够平滑。通通常常,当当取取样样频频率率为为10kHz时时,选选择择窗窗宽宽度度N=100200是比较合适的。是比较合适的。数字语音处理及MATLAB仿真 张雪英编著26不同矩形窗长不同矩形窗长N时的短时能量函数时的短时能量函数数字语音处理及MATLAB仿真 张雪英编著27短时平均能量的主要用途如下:短时平均能量的主要用途如下:1)可以作为区分清音和浊音的特征参数。)可以作为区分清音和浊音的特征参数。2)在信噪比较高的情况下,短时能量还可以作为)在信噪比较高的情况下,短时能量还可以作为区分有声和无声的依据。区分有声和无声的依据。3)可以作为辅助的特征参数用于语音识别中。)可以作为辅助的特征参数用于语音识别中。数字语音处理及MATLAB仿真 张雪英编著28MATLAB的具体实现如下的具体实现如下:1、用、用Cooledit读入语音读入语音“我到北京去我到北京去”。2、将读入的语音文件、将读入的语音文件wav保存为保存为txt文件,设置采样文件,设置采样率为率为8kHz,16位,单声道。位,单声道。3、把保存的文件、把保存的文件zqq.txt读入读入Matlab。fid=fopen(zqq.txt,rt);x=fscanf(fid,%f);fclose(fid);4、对采集到的语音样点值进行分帧。、对采集到的语音样点值进行分帧。数字语音处理及MATLAB仿真 张雪英编著293.4短时平均短时平均幅度函数幅度函数 为了克服短时能量函数计算为了克服短时能量函数计算x2(m)的缺点,定的缺点,定义了短时平均幅度函数义了短时平均幅度函数:数字语音处理及MATLAB仿真 张雪英编著30 Mn与与En的比较:的比较:1.Mn能较好地反映清音范围内的幅度变化;能较好地反映清音范围内的幅度变化;2.Mn所能反映幅度变化的动态范围比所能反映幅度变化的动态范围比En好;好;3.Mn反映清音和浊音之间的电平差次于反映清音和浊音之间的电平差次于En。数字语音处理及MATLAB仿真 张雪英编著31短时平均幅度函数随矩形窗窗长短时平均幅度函数随矩形窗窗长N变化的情况变化的情况数字语音处理及MATLAB仿真 张雪英编著323.5短时平均过零率短时平均过零率 1.定义定义 在在离离散散时时间间语语音音信信号号情情况况下下,如如果果相相邻邻的的采采样样具具有有不不同同的的代代数数符符号号就就称称为为发发生生了了过过零零。单单位位时时间间内内过过零零的的次次数数就就称称为为过过零零率率。短短时时平平均均过过零零率率的定义为的定义为 数字语音处理及MATLAB仿真 张雪英编著33在上式中,用在上式中,用1/2N作为幅值,是考虑了对该窗口范作为幅值,是考虑了对该窗口范围内的过零数取平均的意思围内的过零数取平均的意思。数字语音处理及MATLAB仿真 张雪英编著34考考虑虑到到w(n-m)的的非非零零值值范范围围为为n-m0,即即mn,以以及及n-mN-1,故故mn-N+1,因因此此短短时时平平均均过过零零率率可以改写为:可以改写为:(定义式)(定义式)数字语音处理及MATLAB仿真 张雪英编著352.实现短时平均过零率实现短时平均过零率数字语音处理及MATLAB仿真 张雪英编著36女声女声“我到北京去我到北京去”的短时平均过零次数的变化曲线的短时平均过零次数的变化曲线:数字语音处理及MATLAB仿真 张雪英编著373.应用应用清音过零率高,浊音过零率低。清音过零率高,浊音过零率低。局局限限性性:浊浊音音和和清清音音重重叠叠区区域域只只根根据据短短时时平平均均过零率不可能明确地判别清、浊音。过零率不可能明确地判别清、浊音。数字语音处理及MATLAB仿真 张雪英编著38端点检测端点检测 端端点点检检测测目目的的:从从包包含含语语音音的的一一段段信信号号中中确确定出语音的起点及结束点。定出语音的起点及结束点。有有效效的的端端点点检检测测不不仅仅能能使使处处理理时时间间减减到到最最少少,而而且且能能抑抑制制无无声声段段的的噪噪声声干干扰扰,提提高高语语音音处处理理的的质量。质量。数字语音处理及MATLAB仿真 张雪英编著393.6短时自相关分析短时自相关分析 3.6.1短时自相关函数短时自相关函数时域离散确定信号的自相关函数定义为:时域离散确定信号的自相关函数定义为:时域离散随机信号的自相关函数定义为:时域离散随机信号的自相关函数定义为:周期为周期为P的周期信号满足:的周期信号满足:数字语音处理及MATLAB仿真 张雪英编著40自相关函数具有下述性质:自相关函数具有下述性质:(1)对称性对称性R(k)=R(-k)(2)在在k=0处为最大值,即对于所有处为最大值,即对于所有k来说,来说,|R(k)|R(0)(3)对于确定信号,对于确定信号,R(0)对应于能量对应于能量对于随机信号,对于随机信号,R(0)对应于平均功率对应于平均功率数字语音处理及MATLAB仿真 张雪英编著41采用短时分析方法,定义语音信号短时自相关函数为采用短时分析方法,定义语音信号短时自相关函数为因为因为所以所以3.6.2语音信号的短时自相关函数语音信号的短时自相关函数 数字语音处理及MATLAB仿真 张雪英编著42定义定义(3-18)那么短时自相关函数可以写成:那么短时自相关函数可以写成:上式表明,序列上式表明,序列经过一个冲激响应为经过一个冲激响应为的数字滤波器滤波即得到短时自相关函数的数字滤波器滤波即得到短时自相关函数 数字语音处理及MATLAB仿真 张雪英编著43数字语音处理及MATLAB仿真 张雪英编著44也可采用直接运算的方法,令也可采用直接运算的方法,令则可得:则可得:上式可以写成上式可以写成 数字语音处理及MATLAB仿真 张雪英编著45浊音的短时自相关函数浊音的短时自相关函数 数字语音处理及MATLAB仿真 张雪英编著46清音的短时自相关函数清音的短时自相关函数 数字语音处理及MATLAB仿真 张雪英编著47浊音和清音的短时自相关函数有如下几个特点:浊音和清音的短时自相关函数有如下几个特点:1)短短时时自自相相关关函函数数可可以以很很明明显显的的反反映映出出浊浊音音信信号号的周期性。的周期性。2)清清音音的的短短时时自自相相关关函函数数没没有有周周期期性性,也也不不具具有有明显突出的峰值,其性质类似于噪声。明显突出的峰值,其性质类似于噪声。3)不同的窗对短时自相关函数结果有一定的影响。)不同的窗对短时自相关函数结果有一定的影响。数字语音处理及MATLAB仿真 张雪英编著48图图3.16不同矩形窗长时的短时自相关函数不同矩形窗长时的短时自相关函数数字语音处理及MATLAB仿真 张雪英编著493.6.3修正的短时自相关函数修正的短时自相关函数修正的短时自相关函数,其定义如下修正的短时自相关函数,其定义如下 数字语音处理及MATLAB仿真 张雪英编著50式中,式中,K为为k的最大值,即的最大值,即0kK。要使要使为非零值,必须使为非零值,必须使考虑到考虑到,可得,可得 修正的短时自相关函数可以写成:修正的短时自相关函数可以写成:数字语音处理及MATLAB仿真 张雪英编著51因为求和上限是因为求和上限是N-1,与,与k无关,故当无关,故当k增加时,增加时,值不下降值不下降.数字语音处理及MATLAB仿真 张雪英编著523.6.4短时平均幅度差函数短时平均幅度差函数一个周期为一个周期为P的周期信号,在的周期信号,在k=0,P,2P,时,时,对对于于浊浊音音语语音音,在在基基音音周周期期的的整整数数倍倍上上,d(n)总总是是很很小小,但但不不是是零零,因因此此,我我们们可可以以定定义义短短时时平平均均幅幅度差函数度差函数AMDF为为数字语音处理及MATLAB仿真 张雪英编著53使用矩形窗时,短时平均幅度差函数可写成:使用矩形窗时,短时平均幅度差函数可写成:与与之间的关系为:之间的关系为:数字语音处理及MATLAB仿真 张雪英编著543.7基于能量和过零率的语音端点检测基于能量和过零率的语音端点检测 语音端点检测就是指从包含语音的一段信号语音端点检测就是指从包含语音的一段信号中确定出语音的起始点和结束点。中确定出语音的起始点和结束点。正确的端点检测对于语音识别和语音编码系正确的端点检测对于语音识别和语音编码系统都有重要的意义。统都有重要的意义。本节介绍基于能量和过零率的语音端点检测本节介绍基于能量和过零率的语音端点检测方法方法两级判决法及程序实现。两级判决法及程序实现。数字语音处理及MATLAB仿真 张雪英编著55 两级判决法示意图两级判决法示意图 数字语音处理及MATLAB仿真 张雪英编著56 采用双门限比较法的两级判决法,具体如下采用双门限比较法的两级判决法,具体如下第一级判决:第一级判决:1.先先根根据据语语音音短短时时能能量量的的轮轮廓廓选选取取一一个个较较高高的的门门限限T1,进进行行一一次次粗粗判判:语语音音起起止止点点位位于于该该门门限限与与短短时时能能量量包包络络交交点点所所对对应应的的时时间间间间隔隔之之外外(即即AB段段之之外外)。2.根根据据背背景景噪噪声声的的平平均均能能量量确确定定一一个个较较低低的的门门限限T2,并并从从A点点往往左左、从从B点点往往右右搜搜索索,分分别别找找到到短短时时能能量量包包络络与与门门限限T2相相交交的的两两个个点点C和和D,于于是是CD段就是用双门限方法根据短时能量所判定的语音段。段就是用双门限方法根据短时能量所判定的语音段。数字语音处理及MATLAB仿真 张雪英编著57第二级判决:第二级判决:以以短短时时平平均均过过零零率率为为标标准准,从从C点点往往左左和和从从D点点往往右右搜搜索索,找找到到短短时时平平均均过过零零率率低低于于某某个个门门限限T3的的两两点点E和和F,这这便便是是语语音音段段的的起起止止点点。门门限限T3是是由背景噪声的平均过零率所确定的。由背景噪声的平均过零率所确定的。注注意意:门门限限T2,T3都都是是由由背背景景噪噪声声特特性性确确定定的的,因因此此,在在进进行行起起止止点点判判决决前前,T1,T2,T3,三个门限值的确定还应当通过多次实验。三个门限值的确定还应当通过多次实验。数字语音处理及MATLAB仿真 张雪英编著58基基于于MATLAB程程序序实实现现能能量量与与过过零零率率的的端端点点检检测算法步骤如下:测算法步骤如下:(1)语音信号)语音信号x(n)进行分帧处理。进行分帧处理。(2)得到语音的短时帧能量。)得到语音的短时帧能量。(3)计算每一帧语音的过零率,得到短时帧过零率。)计算每一帧语音的过零率,得到短时帧过零率。(4)考考察察语语音音的的平平均均能能量量设设置置一一个个较较高高的的门门限限T1,用用以以确确定定语语音音开开始始,然然后后根根据据背背景景噪噪声声的的平平均均能能量量确确定定一一个个稍稍低低的的门门限限T2,用用以以确确定定第第一一级级语语音音结结束束点点。第第二二级级判判决决同同样样根根据据背背景景噪噪声声平平均均过过零零率率ZN,设置一个门限设置一个门限T3,判断语音前端清音和后端尾音。,判断语音前端清音和后端尾音。