1、LPCC参数的优点是计算量小,对元音有较好的描述能力,其缺点在于对辅音的描述能力较差,抗噪声性能较差。Mel频标倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)。该特征考虑了人耳的听觉特性,将频谱转化为基于Mel频标的非线性频谱,然后转换到倒谱域上。由于充分模拟了人的听觉特性,而且没有任何前提假设,MFCC参数具有识别性能和抗噪能力。本文采用MFCC参数为语音特征参数。2.1.2 MFCC参数的优点与LPCC参数相比,MFCC参数具有以下优点:1语音的信息大多集中在低频部分,而高频部分易受环境噪声干扰。MFCC参数将线性频标转化为Mel频标,强调语音的
2、低频信息,从而突出了有利于识别的信息,屏蔽了噪声的干扰。LPCC参数是基于线性频标的,所以没有这一特点。2MFCC参数无任何前提假设,在各种情况下均可使用。而LPCC参数假定所处理的信号为AR信号,对于动态特性较强的辅音,这个假设并不严格成立,而汉语数码语音识别需要对辅音有较强的分辨能力,如“6”和“9”,“1”和“6”等,所以MFCC参数在汉语数码语音识别中优于LPCC参数。另外,当噪声存在时,AR信号会变为ARMA信号: (2.1)其中H()为受噪声污染的信号功率谱,1 / A()为AR信号功率谱,为噪声功率。这会给LPC分析的结果带来较大误差。因此,MFCC参数的抗噪声能力也优于LPCC
3、参数。 3MFCC参数提取过程中需要FFT变换,我们可以由此顺便获得语音信号频域上的全部信息。而以后将要介绍的端点检测、语音分段、鼻音特征提取等算法都要利用到语音的频域信息,因此MFCC参数的提取可以节省掉以上算法FFT的计算量。 2.1.3 MFCC参数提取的具体步骤1假定已有一帧采样语音,N为帧长。为方便后面所需的FFT,我们取N256。对加Hamming窗后作N点FFT,将时域信号转化为频域分量。2将线性频标转化为Mel频标。转化方法是将频域信号通过24个三角滤波器,其中中心频率在1000Hz以上和以下的各12个。滤波器的中心频率间隔特点是在1000Hz以下为线性分布,1000Hz以上为
4、等比数列分布。三角滤波器的输出则为: ,i = 1,2,.,24 (2.2)其中为频谱上第k个频谱点的能量, 为第i个滤波器的输出, 为第i个滤波器的中心频率。3用离散余弦变换(Discrete Cosine Transformation, DCT)将滤波器输出变换到倒谱域: k = 1,2,.,P (2.3)其中P为MFCC参数的阶数,我们取P12。即为所求的MFCC参数。求出MFCC参数后,我们按式(2.3)对其进行加权,并按式(2.4)计算差分MFCC参数。 (2.4) (2.5)其中下标l与l-k表示第l与l-k帧。故最后提取的特征参数为24维的特征矢量,包括12维MFCC参数和12维
5、差分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
6、,求其极点作为共振峰频率估计值。3基于动态规划的方法,即事先假设有K个共振峰,即K个全极点滤波器。然后用动态规划的方法确定K个滤波器的最优位置,使得其频响特性与实际频响特性最为一致,而上述K个滤波器的最优位置即为共振峰频率。以上三种算法各有优缺点,峰值选取法计算量小,一般不会误判出实际不存在的共振峰,但其精度较低,对间隔较小的两个共振峰的分辨能力也较弱;求根法精度较高,但计算量大,对初值选取较为敏感,而且计算出的共振峰有可能只是LPC分析的产物,实际并不存在;动态规划法精度高,对共振峰的分辨能力好,但计算量很大。考虑到我们所需的只是共振峰的变化趋势,而不是共振峰的精确值,而且实际应用中必须有较
7、小的计算量,所以我们选用峰值选取法来提取共振峰轨迹。2.2.2 峰值选取法的步骤1)计算LPCC系数。对一帧语音用Durbin算法计算出AR模型系数,其中N为LPC分析阶数。然后递推求出LPC倒谱系数:2)计算声道频响特性对倒谱系数作M点反FFT(N1,.,M点补0),即可求出声道频响对数特性。3)计算共振峰频率对于我们要求的第二共振峰()和第三共振峰(),选取方法如下: ,如果且且 (2.6) ,如果且且 (2.7)其中,是根据语音学知识事先设定的,位置的范围。4)中值滤波在语音各帧的共振峰提取完毕后,我们再对各帧的共振峰频率依次作三点中值滤波,以滤去个别“野点”。这样,我们就得到了所需的共
8、振峰轨迹。由上述步骤我们可以看到,峰值选取法是十分简洁的,其主要计算量集中在LPC分析和反FFT上。所以峰值选取算法可以在语音采样时实时完成共振峰轨迹的提取,从而减少了系统识别时间和所需存储量。在共振峰轨迹提取中,我们应当注意到两个问题:(1)元音a的第一共振峰与第二共振峰之间间隔较小,仅有200至500Hz,而峰值选取法对相隔很近的两个共振峰难以区分,所以利用峰值选取算法求出的F2实际上是F1与F2合并成的复合共振峰。由于在塞音过渡段中F1也是上升的,所以我们求出的虽然不是准确的F2,但共振峰变化趋势是一致的,并不影响到最后的结果。同理,在2的共振峰轨迹中,当F3下降与F2合并时,峰值选取法
9、会将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”的起始段第二共振峰及第三共振峰,图中数字为用峰值选取法 求出的共振峰频率值,下划线表示该
10、帧为共振峰起始帧。以下同。 图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”混淆,这些混淆都可以通过判断鼻音的有无来分辨。因此我们有必要对鼻音的特征加以分析,并在语音特征提取阶段提取鼻音特征。鼻音是由软腭下垂,鼻腔与口腔耦合发音形成的。由于鼻腔的耦合,鼻音具有特殊的共振峰模式。当鼻音位于元音之
11、后时,会对元音产生鼻化作用,改变元音的共振峰。鼻音是较为复杂的音,在语谱图上较难辨认,因此其特征也是相当复杂的。语音学家们经过数十年的努力,发现了鼻音的主要特征如下:1鼻音在频谱的低端(约250Hz左右)有一个较强的共振峰。2鼻音的共振峰带宽较大。3鼻音共振峰密度较高,并存在反共振峰,即零点。后两个特征可以归结为在中频段,即800至2300Hz,鼻音能量的分别是较为均匀的,没有显著的频谱峰或谷。 2.3.2 鼻音特征提取将鼻音特征量化是一件十分困难的任务,目前语音学界尚无成熟的量化鼻音特征。本文用以下两个量表征上面的两个鼻音特征:1低频能量比。其定义如下: (2.8)其中为鼻音低频共振峰频率,
12、约为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内的频谱均匀情况。这两个量的计算都是十分
13、方便的。由于采用的语音特征参数是MFCC参数,其计算过程中需要作FFT,所以这两个量可以顺便算出,不会影响特征提取的实时完成。图2.5和图2.6分别是“0”和“6”的波形以及低频能量比和频谱质心轨迹图。由图可见低频能量比和频谱质心可以很好地分辨“0”和“6”。 图2.5 图2.62.4 基于帧的实时汉语数码语音端点检测2.4.1 语音端点检测算法在语音识别系统中,语音的端点检测的准确性和可靠性,对系统识别率的提高起着重要的作用,当系统收到一段包含语音的信号时系统需要对语音的端点进行定位,丢弃语音前后多余的噪音段,将完整的语音交付下一级进行识别。如果语音前后噪音保留过多,则会增加不同语音的共同成
14、分,对识别产生干扰;而如果语音部分被切割掉,则会造成语音信息的丢失,若丢失的恰是区分语音的重要特征,则识别错误不可避免。例如在汉语数码语音识别中,数字“3”的清音部分s被判为噪声而被丢弃时,“3”中只剩下元音an,很容易被判为“8”。同时,语音端点检测也对系统的计算量和存储量有一定影响。因此,一个良好的语音端点检测算法是系统有较高识别率和易于实用的必要条件。近二十年来,人们对语音端点检测算法作了全面的研究,提出了多种算法。早期的算法主要是根据语音的一些特征参数(如能量、过零数、LPC系数等)完成端点检测,其中较为典型的是利用能量和过零率进行清音 / 噪音 / 浊音判别,从而完成端点检测,我们可以称之为VUS算法(Voice Unvoice Silence)。VUS算法的阈值都是事先在特定环境下根据经验设定的,当环境变化时,阈值的可靠程度降低,故其抗噪能力较
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1