汉语数码语音识别分析毕业设计第二章.doc
- 文档编号:4879938
- 上传时间:2023-05-07
- 格式:DOC
- 页数:22
- 大小:600.50KB
汉语数码语音识别分析毕业设计第二章.doc
《汉语数码语音识别分析毕业设计第二章.doc》由会员分享,可在线阅读,更多相关《汉语数码语音识别分析毕业设计第二章.doc(22页珍藏版)》请在冰点文库上搜索。
第二章汉语数码语音的特征提取及端点检测方法分析
第二章汉语数码语音的特征提取
及端点检测方法分析
§2.1语音特征参数提取
2.1.1语音特征参数:
LPCC和MFCC
在语音识别系统中,模拟的语音信号在完成A/D转换后成为数字信号,但时域上的语音信号很难直接用于识别,因此我们需要从语音信号中提取语音的特征,一方面可以获得语音的本质特征,另一方面也起到数据压缩的作用。
目前通用的特征提取方法是基于语音帧的,即将语音信号分为有重叠的若干帧,对每一帧提取语音特征。
例如采用的语音库采样率为11kHz,因此我们采用的帧长为220个采样点(即20ms),帧步长(即每一帧语音与上一帧语音不重迭的长度)为110个采样点(即10ms)。
现有语音识别系统采用的最主要的两种语音特征包括:
²线性预测倒谱系数(LinearPredictionCepstrumCoefficient,LPCC)。
该特征是基于语音信号为自回归信号的假设,利用线性预测分析获得倒谱系数。
LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。
²Mel频标倒谱系数(MelFrequencyCepstrumCoefficient,MFCC)。
该特征考虑了人耳的听觉特性,将频谱转化为基于Mel频标的非线性频谱,然后转换到倒谱域上。
由于充分模拟了人的听觉特性,而且没有任何前提假设,MFCC参数具有识别性能和抗噪能力。
本文采用MFCC参数为语音特征参数。
2.1.2MFCC参数的优点
与LPCC参数相比,MFCC参数具有以下优点:
1.语音的信息大多集中在低频部分,而高频部分易受环境噪声干扰。
MFCC参数将线性频标转化为Mel频标,强调语音的低频信息,从而突出了有利于识别的信息,屏蔽了噪声的干扰。
LPCC参数是基于线性频标的,所以没有这一特点。
2.MFCC参数无任何前提假设,在各种情况下均可使用。
而LPCC参数假定所处理的信号为AR信号,对于动态特性较强的辅音,这个假设并不严格成立,而汉语数码语音识别需要对辅音有较强的分辨能力,如“6”和“9”,“1”和“6”等,所以MFCC参数在汉语数码语音识别中优于LPCC参数。
另外,当噪声存在时,AR信号会变为ARMA信号:
(2.1)
其中H()为受噪声污染的信号功率谱,1/A()为AR信号功率谱,为噪声功率。
这会给LPC分析的结果带来较大误差。
因此,MFCC参数的抗噪声能力也优于LPCC参数。
3.MFCC参数提取过程中需要FFT变换,我们可以由此顺便获得语音信号频域上的全部信息。
而以后将要介绍的端点检测、语音分段、鼻音特征提取等算法都要利用到语音的频域信息,因此MFCC参数的提取可以节省掉以上算法FFT的计算量。
2.1.3MFCC参数提取的具体步骤
1.假定已有一帧采样语音,N为帧长。
为方便后面所需的FFT,我们取N=256。
对加Hamming窗后作N点FFT,将时域信号转化为频域分量。
2.将线性频标转化为Mel频标。
转化方法是将频域信号通过24个三角滤波器,其中中心频率在1000Hz以上和以下的各12个。
滤波器的中心频率间隔特点是在1000Hz以下为线性分布,1000Hz以上为等比数列分布。
三角滤波器的输出则为:
,i=1,2,....,24(2.2)
其中为频谱上第k个频谱点的能量,为第i个滤波器的输出,为第i个滤波器的中心频率。
3.用离散余弦变换(DiscreteCosineTransformation,DCT)将滤波器输出变换到倒谱域:
k=1,2,...,P(2.3)
其中P为MFCC参数的阶数,我们取P=12。
即为所求的MFCC参数。
求出MFCC参数后,我们按式(2.3)对其进行加权,并按式(2.4)计算差分MFCC参数。
(2.4)
(2.5)
其中下标l与l-k表示第l与l-k帧。
故最后提取的特征参数为24维的特征矢量,包括12维MFCC参数和12维差分MFCC参数。
§2.2共振峰轨迹提取
2.2.1共振峰提取方法
共振峰是区分语音的本质特征。
由于易混语音对“2”和“8”的区别特征表现在第二共振峰和第三共振峰的上升或下降上,即“8”中塞音过渡段第二、第三共振峰的上升和“2”中儿化音第三共振峰的下降,所以我们可以提取共振峰轨迹以提高“2”和“8”的辨识率。
目前常用的共振峰提取方法大致可以分为三类:
1.基于LPC分析的峰值选取法(Peak-picking),其主要方法是利用LPC分析获得声道频响曲线,然后选取其峰值点为共振峰频率估计值。
2.求根法,利用LPC分析求出声道转移函数1/A(z),用Newton迭代法解方程1/A(z)=0,求其极点作为共振峰频率估计值。
3.基于动态规划的方法,即事先假设有K个共振峰,即K个全极点滤波器。
然后用动态规划的方法确定K个滤波器的最优位置,使得其频响特性与实际频响特性最为一致,而上述K个滤波器的最优位置即为共振峰频率。
以上三种算法各有优缺点,峰值选取法计算量小,一般不会误判出实际不存在的共振峰,但其精度较低,对间隔较小的两个共振峰的分辨能力也较弱;求根法精度较高,但计算量大,对初值选取较为敏感,而且计算出的共振峰有可能只是LPC分析的产物,实际并不存在;动态规划法精度高,对共振峰的分辨能力好,但计算量很大。
考虑到我们所需的只是共振峰的变化趋势,而不是共振峰的精确值,而且实际应用中必须有较小的计算量,所以我们选用峰值选取法来提取共振峰轨迹。
2.2.2峰值选取法的步骤
1)计算LPCC系数。
对一帧语音用Durbin算法计算出AR模型系数,其中N为LPC分析阶数。
然后递推求出LPC倒谱系数:
2)计算声道频响特性
对倒谱系数作M点反FFT(N+1,...,M点补0),即可求出声道频响对数特性。
3)计算共振峰频率
对于我们要求的第二共振峰()和第三共振峰(),选取方法如下:
=,如果且且(2.6)
=,如果且且(2.7)
其中,[,][,]是根据语音学知识事先设定的,位置的范围。
4)中值滤波
在语音各帧的共振峰提取完毕后,我们再对各帧的共振峰频率依次作三点中值滤波,以滤去个别“野点”。
这样,我们就得到了所需的共振峰轨迹。
由上述步骤我们可以看到,峰值选取法是十分简洁的,其主要计算量集中在LPC分析和反FFT上。
所以峰值选取算法可以在语音采样时实时完成共振峰轨迹的提取,从而减少了系统识别时间和所需存储量。
在共振峰轨迹提取中,我们应当注意到两个问题:
(1)元音[a]的第一共振峰与第二共振峰之间间隔较小,仅有200至500Hz,而峰值选取法对相隔很近的两个共振峰难以区分,所以利用峰值选取算法求出的F2实际上是F1与F2合并成的复合共振峰。
由于在塞音过渡段中F1也是上升的,所以我们求出的虽然不是准确的F2,但共振峰变化趋势是一致的,并不影响到最后的结果。
同理,在2的共振峰轨迹中,当F3下降与F2合并时,峰值选取法会将F4当作F3,从而造成F3轨迹的跳变。
(2)LPC算法的前提是在所分析的时段里,声道是稳态或准稳态的。
但我们所处理的语音过渡段是动态变化的过程,不满足LPC算法的前提,但用时变模型提取共振峰轨迹计算量很大,而且我们所求的只是共振峰的变化趋势,所以我们仍使用LPC算法提取声道模型参数。
图2.1和图2.2分别为“2”和“8”的起始段共振峰轨迹,我们可以清楚地看到其变化趋势,图2.3和图2.4为“2”和“8”整个语音的共振峰轨迹,从中我们可以看到“2”的F3的跳变,而“8”的F3是稳定的。
图2.1
“2”的起始段第二共振峰及第三共振峰,图中数字为用峰值选取法
求出的共振峰频率值,下划线表示该帧为共振峰起始帧。
以下同。
图2.2
“8”的塞音过渡段第二共振峰及第三共振峰
图2.3
“2“的波形及共振峰轨迹
图2.4
“8“的波形及共振峰轨迹
§2.3.鼻音特征提取
2.3.1鼻音特征分析
在汉语数码语音中,数字“0”和“3”的元音都是鼻化元音。
“0”的元音为[in]或[ing],“3”的元音为[an]。
“0”和“3”都是混淆较多的语音,“0”易与“6”混淆,“3”易与“4”或“8”混淆,这些混淆都可以通过判断鼻音的有无来分辨。
因此我们有必要对鼻音的特征加以分析,并在语音特征提取阶段提取鼻音特征。
鼻音是由软腭下垂,鼻腔与口腔耦合发音形成的。
由于鼻腔的耦合,鼻音具有特殊的共振峰模式。
当鼻音位于元音之后时,会对元音产生鼻化作用,改变元音的共振峰。
鼻音是较为复杂的音,在语谱图上较难辨认,因此其特征也是相当复杂的。
语音学家们经过数十年的努力,发现了鼻音的主要特征如下:
1.鼻音在频谱的低端(约250Hz左右)有一个较强的共振峰。
2.鼻音的共振峰带宽较大。
3.鼻音共振峰密度较高,并存在反共振峰,即零点。
后两个特征可以归结为在中频段,即800至2300Hz,鼻音能量的分别是较
为均匀的,没有显著的频谱峰或谷。
2.3.2鼻音特征提取
将鼻音特征量化是一件十分困难的任务,目前语音学界尚无成熟的量化鼻音特征。
本文用以下两个量表征上面的两个鼻音特征:
1.低频能量比。
其定义如下:
(2.8)
其中为鼻音低频共振峰频率,约为250Hz,B为其带宽,约为50Hz。
为第k个频率点的能量,[,]则为另一频段,由所需区分的混淆语音对决定。
对于“0”和“6”,由于“6”的后端为元音[ou],其能量集中在第一、第二共振峰内,即300至1000Hz内,因此我们将[,]定为[200Hz,1000Hz]。
这样对于“0”,200至1000Hz间的能量主要集中在200至300Hz间,故较大;而“6”的[ou]中,300至1000Hz的能量占了所有能量的大部分,所以较小。
根据的大小则可对“0”和“6”作分辨。
2.频谱质心。
其定义如下:
(2.9)
其中=800Hz,=2300Hz。
频谱质心可以反映频谱800至2300Hz内的频谱均匀情况。
这两个量的计算都是十分方便的。
由于采用的语音特征参数是MFCC参数,其计算过程中需要作FFT,所以这两个量可以顺便算出,不会影响特征提取的实时完成。
图2.5和图2.6分别是“0”和“6”的波形以及低频能量比和频谱质心轨迹图。
由图可见低频能量比和频谱质心可以很好地分辨“0”和“6”。
图2.5
图2.6
§2.4基于帧的实时汉语数码语音端点检测
2.4.1语音端点检测算法
在语音识别系统中,语音的端点检测的准确性和可靠性,对系统识别率的提高起着重要的作用,当系统收到一段包含语音的信号时系统需要对语音的端点进行定位,丢弃语音前后多余的噪音段,将完整的语音交付下一级进行识别。
如果语音前后噪音保留过多,则会增加不同语音的共同成分,对识别产生干扰;而如果语音部分被切割掉,则会造成语音信息的丢失,若丢失的恰是区分语音的重要特征,则识别错误不可避免。
例如在汉语数码语音识别中,数字“3”的清音部分[s]被判为噪声而被丢弃时,“3”中只剩下元音[an],很容易被判为“8”。
同时,语音端点检测也对系统的计算量和存储量有一定影响。
因此,一个良好的语音端点检测算法是系统有较高识别率和易于实用的必要条件。
近二十年来,人们对语音端点检测算法作了全面的研究,提出了多种算法。
早期的算法主要是根据语音的一些特征参数(如能量、过零数、LPC系数等)完成端点检测,其中较为典型的是利用能量和过零率进行清音/噪音/浊音判别,从而完成端点检测,我们可以称之为VUS算法(Voice–Unvoice–Silence)。
VUS算法的阈值都是事先在特定环境下根据经验设定的,当环境变化时,阈值的可靠程度降低,故其抗噪能力较弱。
1991年,Dermatas等人提出了FED算法(FastEndpointDetection),其阈值由语音两端的噪音动态设定,解决了环境变化问题。
但其对语音两端噪声一致性要求过于苛刻,使得许多语音被拒绝进行端点检测,整个信号作为语音交付下一级进行识别。
上述算法除了各自的缺点外,还有共同的缺点:
(1)上述算法用于端点检测的语音参数并未反映语音的实质。
VUS算法和FED算法都使用的是语音短时能量、短时过零率、语音幅度等参数,而这些参数都无法将语音和一些干扰区分开。
例如利用语音短时能量就无法将语音浊音段和能量较大的突发干扰(如办公室内关门声、敲击键盘声等)区分开,因为较高的能量是这两种信号的共同特点。
因此,上述算法在只有白噪声存在时性能尚可,当有大量干扰时则性能严重下降。
(2)上述算法搜索端点时都是按采样点进行的。
因此,识别系统在采样时必须将全部原始语音存储下来,以备采样完毕后进行端点检测和特征提取,这样的存储量对于存储资源十分紧张的DSP系统是难以忍受的。
同时,特征提取也必须在语音采样后进行,从而使得特征无法在采样的同时实时提取,浪费了语音采样的时间,增加了识别系统的运行时间。
当采入的语音为持续时间较长的连续语音时,上述缺陷将使实用系统几乎无法实现。
基于以上算法的优缺点,本文提出了一种针对汉语数码语音识别的基于帧的实时语音端点检测算法,充分利用语音的本质特征,并以帧为端点检测的基本单位,在采样时同时完成特征提取,并在采样后进行端点检测,大大节省了系统存储量和运行时间,并有较好的抗干扰能力。
2.4.2VUS算法与FED算法简介
1.VUS算法
语音的短时能量、短时过零率是语音信号的一组最基本的短时参数,定义
如下:
当窗起点为0时,短时能量为:
(2.10)
其中为帧长,为时刻n时的加窗语音。
短时过零率为:
(2.11)
其中
实验证明,浊音能量高于清音和噪音,清音过零率高于浊音和噪音。
VUS算法利用以上规律进行端点检测,其步骤为:
1〕设定阈值:
预先设定阈值、、,其中、分别为高、低能量阈值,
为过零率阈值。
2〕寻找高能量区:
利用寻找能量较高的语音段。
其前端起点为
(2.12)
其中为起点时刻为i的帧的短时能量,N为语音总长度。
后端终点为
(2.13)
3〕端点检测:
根据与及2〕中求得的、精确检测语音端点,语音精确起点
为:
(2.14)
语音精确终点为
(2.15)
4〕结果检验:
计算检测到的语音的长度L=-,若L太小,则认为检测失败,将整
个采样信号作为语音交付下一级识别。
在环境噪声恒定时,VUS算法简单可靠,但当环境噪声变化较大时,事先设定的阈值便失去了意义,因此VUS算法的抗噪能力较弱。
2.FED算法
FED算法步骤如下:
1〕噪声能量设定:
从输入信号前后各取两帧(帧长80ms),计算其能量:
(2.16)
k=1,2,K-1,K。
K为总帧数。
然后由此确定噪声能量:
(2.17)
(2.18)
(2.19)
为估计出的噪声能量,当前后噪声能量相差较大时,FED算法认为噪声能量无法估计,拒绝进行端点检测,整个信号作为语音交付下一级。
2〕语音端点定位:
语音起点为:
(2.20)
其中
s(n)为未加窗语音,V为事先设定的常数,阈值设为
(2.21)
C为经验常数,,即直流电平。
语音终点为
(2.22)
3〕低能区定位:
前端低能区为至:
,q=1,2(2.23)
后端低能区为至:
,q=1,2(2.24)
4〕精确端点检测:
语音前端端点:
(2.25)
语音后端端点:
(2.26)
其中=0.1。
然后将、间的语音交付下一级识别。
由于阈值动态设定,所以FED算法有较好的抗噪声性能。
而且由于采用了语音能量变化率为检测标准,所以精度较高。
但正如前文所言,FED算法抗干扰能力较弱。
实用环境中不仅存在白噪声,还存在大量的干扰,语音前后两端经常已被干扰污染,使得按(2.17)、(2.18)算出的噪声能量不一致,无法有效地估计出噪声能量,而FED算法进行端点是基于噪声能量的,所以在这种情况下FED算法只能放弃端点检测,将含有大量无用信息的整段信号交付识别,造成系统性能的下降。
另外,FED算法的端点是基于采样点的,这也限制了FED算法的实用性。
2.4.3汉语数码语音声学特征分析
我们有必要对汉语数码语音的特点作分析,以充分利用其声学特征来完成端点检测的任务。
汉语数码语音的辅音和元音列于表2.1中。
数字
0
1
2
3
4
5
6
7
8
9
元音
[in]
[ao]
[er]
[an]
[iz]
[u]
[iou]
[i]
[a]
[iou]
辅音
[l]
[y]
/
[s]
[s]
[w]
[l]
[q]
[b]
[j]
表2.1
以下我们对汉语数码语音的辅音和元音作一详细分析:
1.辅音
辅音分为浊辅音和清辅音两类:
1.1浊辅音
汉语数码语音的浊辅音包括:
半元音[y]、[w],边音[l]、塞音[b],它们由于声带发声,所以具有浊音的特征,具体表现为低频段100至400Hz间能量较高。
由于它们发声时声腔都要形成一定阻碍,不象元音发声时声道畅通,所以又具有辅音的特性,对于半元音[y]、[w]及边音[l]表现为640至2800Hz间的频谱能量较元音为低,而塞音[b]的持续时间很短,我们难以利用其声学特征,因此对其不作讨论。
1.2清辅音
汉语数码语音的清辅音包括清擦音[s]、不送气塞擦音[j]、送气擦音[q]。
清擦音[s]非圆唇时的特点为能量分布下限很高,在4000Hz以上,而主要能量集中于5000Hz以上。
[j]、[q]的同发声部位清擦音是[x],所以它们的特征都表现为频谱上具有两个强频区,分布在3000Hz、4000Hz左右(非圆唇情况)。
可见汉语数码语音的清辅音的能量主要都分布于高频部分。
2.元音
汉语数码语音包含了汉语普通话中大部分的基本元音,它们都是靠声带发声,因此具有浊音性,频谱100至400Hz间能量较高,而其区分于浊辅音的特征为640至2800Hz间的能量较高。
我们将以上分析总结于表2.2
浊辅音
清辅音
元音
共同特征
100至400Hz能量
较高,640至2800Hz
能量较低
4000Hz以上能量
较高
100至400Hz间能
量较高,640至2800
Hz能量较高
表2.2
2.4.4基于帧的实时汉语数码语音端点检测
基于对汉语数码语音的分析和VUS算法、FED算法的优缺点,我们提出了一种基于帧的实时汉语数码语音端点检测算法。
其步骤如下:
1.参数提取
在语音信号录入的同时,系统便实时地提取语音特征参数,包括用于识别的参数和用于端点检测的参数,并丢弃已提取完参数的原始语音。
用于识别的参数为MFCC参数。
用于端点检测的参数除了由式(2.10)决定的短时能量外,还包括频谱能量分布的信息{,,},其定义如下:
(2.27)
q=2,3(2.28)
其中,i表示第i帧,N为DFT点数,为各频率点能量。
我们取=
[4000Hz,5500Hz],=[100Hz,400z],=[640Hz,2800Hz],=[100Hz,1500Hz]。
我们可以看到为高频能量与低频能量的比值,为低频能量与语音最高高低频能量的比值,为中频能量与语音最高中频能量的比值,它们对应了表2.2中的特征。
由于进行了归整,所以上述特征与语音的强度是无关的。
2.能量阈值设定
在语音采样结束后,我们已得到了N帧参数。
我们由最前一帧和最后一帧
语音短时能量求出能量的阈值:
(2.29)
A为常数,我们取A=10.0。
某些时候,这两帧的能量由于干扰的确差别较大,但我们发现按以上的方法仍能获得较好的效果。
3.浊音段定位:
我们首先寻找浊音段,以可靠地确定语音的大致位置,防止将持续性干扰
误判为语音。
浊音段起点:
(2.30)
浊音段终点:
(2.31)
式(2.30)表示当连续3帧语音满足高频能量低、低频能量高、总能量高时,我们认为找到了浊音起点,当连续3帧语音满足低频能量、总能量低于阈值时,我们认为浊音结束。
我们取=0.006,=7.4。
确定浊音段后,我们可以求出元音的起始帧。
虽然端点检测并不需要求出元音的位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汉语 数码 语音 识别 分析 毕业设计 第二