网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: TI德州中文网 >> 技术文库 >> 音频编码 >> 正文
  [组图]高性能汉语数码语音识别算法           ★★★ 【字体:
高性能汉语数码语音识别算法
作者:李虎生 …    文章来源:李虎生 刘加 刘润生    点击数:    更新时间:2009-9-14    
汉语数码语音识别 (mandarin digit speech recognition, MDSR) 是语音识别领域中一个具有广泛应用背景的分支,它的任务是识别“0”到“9”等10个非特定人汉语数码语音,在电话语音拨号、工业监控、家电遥控等领域有着极大的应用价值[1]。但与英语数码语音识别相比, MDSR的性能尚未达到成熟应用水平,这是因为 1) 汉语数码语音的混淆程度较高; 2) 汉语是一个多方言语种,说话人会带有或多或少的地方口音; 3) 在许多应用背景中,MDSR需要在运算和存储资源都较为紧张的数字信号处理器(digital signal processor, DSP)系统上实现,这为MDSR算法的设计带来了很大的限制。由于以上原因,MDSR是一项相当困难的任务。
  针对汉语数码语音识别提出了一系列高性能的算法,使MDSR识别率达到了98.8%。由这些算法构成的识别系统框图如图1所示。
  MDSR系统[1]提取的语音特征参数包括用于识别的参数和用于端点检测的参数。

t32.1.gif (3197 bytes)

图1 MDSR系统框图

1 语音前端处理

  语音前端处理包括语音特征提取和端点检测两部分。

1.1 语音特征提取
1.1.1 基本识别参数
  目前常用的语音识别参数有基于线性预测编码(LPC)的线性预测倒谱系数(LPCC)和基于Mel频标的倒谱系数(MFCC)[2]。实验证明,采用MFCC参数时系统识别率高于采用LPCC参数。因此本文的基本识别参数采用MFCC参数及一阶差分MFCC参数。

1.1.2 共振峰轨迹
  在MDSR中,易混淆语音“2”和“8”可以由其第2,3共振峰的变化趋势区分开[3]。因此可将共振峰轨迹作为识别参数之一,并选用峰值选取算法来提取共振峰轨迹[3]

1.1.3 鼻音特征参数
  汉语数码语音中,“0”的元音具有鼻音的特征,而“0”容易与具有非鼻化元音的“6”混淆,因此鼻音特征可用于提高“0”的识别率。鼻音的特征包括[4]
  1) 鼻音在频谱低端(约0.25kHz左右)有1个较强的共振峰。
  2) 鼻音在中频段(约0.8~2.3kHz)的能量分布较为均匀,没有明显的峰或谷。
  采用以下2个参数表征鼻音的特征:
  1) 低频能量比:

33.1.gif (1044 bytes)  (1)

其中fn为鼻音低频共振峰频率, B为鼻音低频共振峰带宽。Fk为对语音作快速Fourior变换(FFT)后第k个频率点的能量, [f1,f2]则为语音“6”能量集中的频带。
  2) 频谱质心:

33.2.gif (1062 bytes)  (2)

  其中[fL,fH]为0.8~2.3kHz的中频段。由于MDSR系统采用的基本识别参数为MFCC参数,其计算过程中需要作FFT,所以低频能量比和频谱质心两个参数可以顺带算出,不会影响特征提取的实时完成。

1.2 端点检测
  本文提出了基于语音特征的实时端点检测算法(feature-based real-time endpoint detection, FRED),充分利用汉语数码语音的特点,在实时提取特征参数后完成端点检测,检测到的端点只精确到帧的量级。
  根据语音学知识[4], MDSR中各类语音的频谱特点如表1

表1 汉语数码语音频谱特点

  频 谱 特 征
浊 音 元 音 低频(0.1至0.4kHz间)能量较高; 中频(0.64至2.8kHz)能量较高
浊辅音 低频(0.1至0.4kHz间)能量较高; 中频(0.64至2.8kHz)能量较低
清辅音   高频(3.5kHz以上)能量较高

  采用3个频谱能量分布参数{R1,R2,R3}分别反应频谱高频、低频和中频的分布特征。其定义如下:

33.3.gif (1140 bytes)  (3)
33.4.gif (1627 bytes)  (4)

其中: i表示第i帧, N为语音帧长,也即FFT点数, Fk为对语音帧作FFT后各频率点能量, T为语音的总帧数,式(3),(4) 中求和号的上下限由表1中相应频率范围确定,当N为256,采样频率为实验所用语音库的11kHz时, f0=81, f1=9, f2 =2, f3=65, f4=15.由于进行了能量归一化,所以上述特征与语音的强度是无关的。由于计算MFCC参数时需要作FFT,因此频谱能量分布参数可以顺带算出。此外,用于端点检测的参数还包括短时能量参数E0(i)[5].
  由以上参数, FRED算法过程为:
  1) 根据采入信号首尾两帧确定能量阈值;
  2) 根据参数R2确定语音浊音段;
  3) 根据参数R1与E0向浊音段两端扩展式搜索语音起始帧;
  4) 根据参数R3确定元音段。
  FRED算法的特点是:
  1) 利用了语音的本质特征进行端点检测,能够很好地适应环境的变化和干扰,实验证明FRED算法可以有效地提高识别率; 2) 将语音端点定在帧的量级上,保证了特征参数在采样时实时提取,节省了系统运行时间,大大减少了系统所需的存储量; 3) 能够准确地确定语音的元音段,从而将辅音与元音分割开,有利于对语音局部特征的辨识。

2 识别算法

  实验表明, MDSR的识别错误集中在少数几对易混语音中[1],因此本文采用了两极识别框架,即第一级完成对识别结果的初步确定,第二级完成对易混淆语音的进一步辨识。

2.1 第一级识别
  在第一级识别中采用的基本方法为离散隐含Malkov模型(DHMM)算法[5],用Viterbi算法[5]计算各个数码语音模型产生采入语音的概率Pr
  由于HMM是一个有人为假设的模型,所以有不可避免的缺陷。其中一个缺陷是在HMM中各状态的持续时间呈几何分布,即

P(Li=n)=anii(1-aii),  (5)

其中: Li为状态i的持续时间, aii为状态i跳转回自身的概率。按照式(5),状态持续时间越长,其概率越小,这是不符合实际情况的。用Γ分布来描述状态持续时间[5],即

34.1.gif (684 bytes)  (6)

其中αi和βi为Γ分布的参数, Fi为归一化因子参数,以上各参数在训练时由训练语音样本估计出。在识别时,用Viterbi算法获得的最佳状态路径中各状态持续时间的概率对Pr作修正:

34.2.gif (623 bytes)  (7)

其中: λ为加权系数, S为状态数。识别结果则由修正后的概率Pr获得。实验证明,用状态持续时间分布对Pr进行修正所得的识别性能有明显的提高。

2.2 第二级识别
  对第一级识别的错误作分析,我们发现大部分错误都集中在少数几对易混语音中。表2列出了识别错误最多的6对语音(其中“1”念为[yao])占所有错误的百分比及其区分特征。可见这6对语音占所有错误的91%,所以如果能够在第二级识别中对这几对语音作进一步的辩识,整个MDSR系统的性能会有很大的提高。

表2 易混语音错误百分比及其区分特征

易混语音 占识别错误百分比/% 区分特征
“2”“8” 45 共振峰轨迹变化趋势
“1”“9” 12 不同的辅音    
“1”“6” 11 不同的辅音    
“0”“6” 11 鼻音特征的有无  
“3”“4” 8 不同的元音    
“6”“9” 4 辅音的清浊性   

  由表2可见,易混语音“2”“8”, “0”“6”, “6”“9”可以用表征其区分特征的参数,根据一定的规则进行判决,而“1”“9”, “1”“6”, “3”“4”则可以利用端点检测中元、辅音分割的结果,训练元音部分和辅音部分的HMM参数,在识别时针对相应部分再作一次局部HMM识别。表3列出了各对易混语音第二级识别的方法。

表3 第二级识别方法

易混语音 第二级识别方法 规则判决的特征参数或
局部HMM的辨识部位
“2”“8” 规则判决 共振峰轨迹
“1”“9” 局部HMM辨识 辅音
“1”“6” 局部HMM辨识 辅音
“0”“6” 规则判决 鼻音特征
“3”“4” 局部HMM辨识 元音
“6”“9” 规则判决 频谱分布参数R1


3 实验结果

  实验使用了一个包含160人从“0”到“9”的各一遍发音的语音库来测试系统的性能,库中语音采样率为11kHz,量化精度为16bit线性量化,录音背景为普通办公室环境。
  首先测试了特征参数采用LPCC参数,端点检测采用快速端点检测算法[6],只用Viterbi算法进行一级识别时的基本结果,然后测试了逐个加入本文所提出的各种方法后的识别率,结果如表4。可见,所采用的每一种方法都使系统性能较之于基本系统有了显著的提高,最后达到98.8%的识别率。

表4 算法性能比较

采用的算法 识别率/%
基本结果 91.1
采用MFCC参数 92.9
FRED算法 95.4
状态持续时间分布 96.0
第二级识别 98.8

4 结 论

  采用了一系列算法,有效地提高了MDSR系统的识别率,实现了一个高性能的MDSR系统,其特点为:
  1) 采用了两极识别框架,增强了对易混语音的区分能力。
  2) 充分利用针对汉语数码语音的语音学知识,提高了端点检测的抗干扰能力,提取了用于区分易混语音的共振峰轨迹、鼻音特征等声学特征,进一步提高了系统识别率。
  3) 各算法所需的运算量和存储量都较小,有利于MDSR在DSP系统上的实现。■

基金项目:国家自然科学基金项目(69772020)和国家“八六三”高技术项目(863-512-9805-10)
作者简介:李虎生 (1975-), 男(汉), 四川, 硕士研究生
作者单位:李虎生(清华大学,电子工程系,北京,100084)
     刘加(清华大学,电子工程系,北京,100084)
     刘润生(清华大学,电子工程系,北京,100084)

参考文献:

[1]顾良, 刘润生. 汉语数码语音识别: 困难分析与方法比较 [J]. 电路与系统学报, 1997, 2 (4): 32-39.
Gu Liang, Liu Runsheng. Mandarin digit speech recognition: state of the art, difficult points analysis and methods comparison [J]. J of Circuits and Systems, 1997, 2(4): 32-39. (in Chinese) 
[2]Davis S B, Mermelstein P. Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences [J]. IEEE Trans, on Speech and Audio Signal Processing, 1980, 28 (4): 357-366.
[3]李虎生, 杨明杰, 刘润生. 用共振峰轨迹提高汉语数码语音识别性能 [J]. 清华大学学报, 1999, 39(9).
Li Husheng, Yang Mingjie, Liu Runsheng. Use formant trajectory to improve the performance of mandarin digit speech recognition [J]. J of Tsinghua University, 1999, 39(9): 69-71. (in Chinese) 
[4]吴宗济, 林茂灿. 实验语音学教程 [M]. 北京: 高等教育出版社, 1989.
Wu Zongji, Lin Maocan. Tutorial on Experimental Phonetics [M]. Beijing: Higher Education Press, 1989. (in Chinese) 
[5]杨行峻, 迟惠生. 语音信号数字处理 [M]. 北京: 电子工业出版社, 1995.
Yang Xingjun, Chi Huisheng. Digit Speech Signal Processing [M]. Beijing: Publishing House of Electronic Industry, 1995. (in Chinese) 
[6]顾良. 汉语数码语音识别方法研究及DSP系统设计 [D]. 北京: 清华大学, 1997.
Gu Liang. Research on Methodologies for Mandarin Digit Speech Recognition and Design of its DSP System [D]. Beijing: Tsinghua University, 1997. (in Chinese

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备06016957号 站长:TIchinese