日期:2023-01-24 阅读量:0次 所属栏目:应用电子技术
摘 要:基于词网模型的连续语音识别系统在各方面得到了广泛应用,如语音拨号、语音指令、语音菜单、语音导航及语音电话簿等。本文在研究语音识别理论的基础上,设计并开发了基于词网模型的连续语音识别系统-MYASR。MYASR提供了丰富的功能模块,包括前端处理、特征提取、模型训练、词网构建、识别等,使开发一个基于词网模型的连续语音识别应用系统更加方便,同时也是语音识别研究的实验平台。MYASR所采用的XML描述文件,使系统具有良好的可读性和可扩展性。通过在TIMIT语料库上单音子连续语音识别的实验显示,MYASR具有很高的识别性能和实时性能。
关键词:语音识别;MYASR系统;XML语言
1.引言
在小词汇量的语音识别系统中,主要分为孤立词识别和基于词网模型的连续语音识别。前者通过词发音端点分割算法,把每个词的发音从整段语音中分割出来,然后再到模型集中去寻找最佳的匹配作为识别结果。XML同HTML一样,都来自SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的用标记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于此,人们提出了XML 语言,它具有可扩展性、灵活性、自描述性、简明性的优点。
在MYASR系统中有多个功能模块,每个功能模块都有各自的参数,采用XML语言对这些参数进行描述更加直观,可读性更强。例如,MYASR中MFCC编码的XML描述如下:
MYASR通过XML解析器将XML元素中的参数提取出来,然后再传递给各个功能模块。当需要增加参数时,只要在XML文件中适当位置增加一个元素(Element)即可,具有良好的可扩展性。
3.系统开发
MYASR系统的模块结构如下所示:
3.1前端处理
MYASR的前端处理包括以下功能模块:自动增益控制(AGC)、噪音消除、预加重处理。其相应的XML描述如下:
其中属性"workdir"表示当前的工作目录,元素
"" ""
"" ""
"" ""
.........
3.2端点分割
在MYASR系统中,实现两种类型的端点分割:句子端点检测,词端点检测。采用的静音检测方法有【2】:基于短时能量、基于短时平均过零率、和基于GMM模型。其XML描述如下:
元素
3.3特征提取
MYASR系统中目前采用MFCC结合动态差分参数作为特征矢量。将语音文件转换为MFCC编码的XML描述文件如下所示:
其中是MFC
C特征参数的描述文件,内容如下:
其中
表3-1 MYASR中MFCC编码类型
标志 | 含义 |
MFCC | MFCC参数 |
MFCC_0 | MFCC参数加对数能量 |
MFCC_D | MFCC参数及其一阶差分 |
MFCC_0_D | MFCC参数加对数能量,及一阶差分 |
MFCC_D_A | MFCC参数及其一阶、二阶差分 |
MFCC_0_D_A | MFCC参数加对数能量,及一阶、二阶差分 |
"" ""
"" ""
"" ""
.........
3.4模型训练
MYASR采用了连续概率密度的HMM模型,模型参数初始化采用了"K-均值分割"算法,参数重估采用"Baum-Welch"算法。其XML描述文件如下:
hmm _train>
其中,
"" ""
"" ""
"" ""
.........
标注文件".lab"中注明了每个单元的发音起点和终点,MYASR将根据标注文件从特征文件中读取特征矢量进行HMM模型的训练。标注文件内容如下:
0 191 sil
191 285 sh
285 358 ix
358 415 hh
415 548 eh
548 646 jh
646 720 ih
720 790 d
790 920 ah
....
其中时间单位为毫秒。
2.945649e+001 1.096035e+002...... //方差
......
......
3.5词网构建
3.5.1 词网模型的双层结构
MYASR中的词网模型分为两层:一层是描述层,主要用于描述词网的结构,包括上下文无关文法和有限状态图;另一层是模型层,这一层由HMM模型构成的搜索网络,是搜索算法的输入。首先由用户定义语法规则,然后转换成有限状态图,最后结合HMM模型集和发音字典将其转化成搜索算法可以处理的模型层搜索网络。
3.5.2 描述层到模型层的转换
在模型层搜索网络中,按节点是否有词输出分为两类:空节点和词节点。空节点中不含有HMM模型,而只是作为词网中的一个过度节点,如起始节点(#START),终止节点(#END),中转节点(#L)都是没有词输出的节点。而词节点则包含了构成这个词的HMM模型。
词网模型的有限状态图转换成模型层搜索网络的过程为:当遇到空节点时,不作处理;当遇到词结点时,在字典哈希表找到这个词,并保存word_id,word_id是这个词在字典哈希表的索引,当搜索结束后,回溯时就是根据这个word_id找到哈希表中对应的词;同时根据这个词的发音,到HMM哈希表中查找子词的HMM模型,然后在这个词结点中创建指向子词HMM模型的指针。转换后的模型层搜索网络如图3-4所示。
模型层搜索网络构建后,就可以用Token-Passing算法进行搜索。
4 总结
本文在研究语音识别理论的基础上,设计并开发了基于词网模型的连续语音识别系统-MYASR。MYASR提供了丰富的功能模块,使开发一个基于词网模型的连续语音识别应用系统更加方便,同时也是语音识别研究的实验平台。MYASR所采用的XML描述文件,使系统具有良好的可读性和可扩展性。通过在TIMIT语料库上单音子连续语音识别的实验显示,MYASR具有很高的识别性能和实时性能。当前系统只是在Windows平台上,为适应各种应用的需要,在后续的语音识别系统设计中,可考虑将系统移植到嵌入式平台。
参考文献:
Ney H , Haeb2Umbach R , Tran B H , et al .