您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 基于HTK调用MATLAB语音识别的研究
基于HTK调用MATLAB的语音识别的研究张戈,严欢,殷景华(哈尔滨理工大学,哈尔滨,150080)摘要:根据HTK(HiddenMarkovModelToolket)原理,介绍基于HTK调用MATLAB的语音识别过程。利用HTK软件建立隐马尔科夫模型(HMM)对录制的语料进行训练和识别。修改HMM中参数(包含语音特征,声学模型等),再利用Matlab计算速度快及其编程开发节省时间优势来对其计算仿真,通过仿真图来显示各类参数的语音识别结果,分析参数对语音识别系统识别率的影响,以便改进并提高语音识别率,从而达到更好的效果。关键词:HTK;HMM模型;声学模型0引言语音识别是指及其通过学习实现从语音信号到文字符号的理解过程,是一种十分重要的人机交互方式。本文应用剑桥大学开发的专门用于建立和处理HMM的实验工具包HTK(HiddenMarkovModelToolket),主要用于语音识别领域。基于HTK的重复实验比较浪费时间的缺点,本文利用Matlab计算速度快及其循环编程开发节省时间优势处理语音识别中各个模块,使其节约开发时间,提高工作效率。1语音识别系统的总体框架基于HMM的语音识别系统如图1所示:主要由特征提取单元、声学模型、识别网络、语音识别器等四部分组成[1]。声学模型(HMM)语言模型语音信号处理语音语料库文本语料库语音信号处理语音识别器语音输入文本输出图1语音识别系统特征提取单元主要包括预处理和端点检测。语音库中的训练语料数据经信号处理确定音素的起始点和终点,便于在声学建模中加入静音和停顿音拟合为接近自然的语音。语音测试识别时需经过特征提取单元。语音库由训练库和测试库组成,分别用于声学模型的训练及其测试。声学模型通过建模模拟人类的语音产生和感知特征。识别网络主要用来搜索最佳词序列,能够得出最大的识别概率作为可能的识别结果。语言模型应用统计语言模型,词典包括了在识别过程中所有可能遇到的单词,并定义每个单词的因素级的发音。2HTK工作原理HTK工具包是由语音数据准备、HMM训练工具、识别工具、数据分析工具等组成。在语音数据准备时,用Cooledit等录音软件进行语音语料的采集[3]。训练工具主要基于EM重估算法,利用HCompv、HInit用于估计一套初始模型参数,使用HRset、HERest命令用EM算法重估参数,对HMM训练主要应用上下文无关的建模方法,直接利用HERest进行嵌入式训练,利用EM算法对待训练的孤立音素进行重估,更新孤立音素对应的HMM参数,使系统中所有模型彼此间的距离增大,降低识别时的难度。不断调整系统模板的参数,使参数性能不断向最佳状态逼近[4]。HVite是基于Viterbi算法用于识别未知的语音,HResults是模型性能分析工具,用于分析识别率。3语音声学建模及其优化在选择识别单元时候,模型识别单元大小(词发音模型、字发音模型、半音节模型或音素模型)对语音训练数据量大小、语音测试识别率有较大的影响[2]。由于本文实验数字语音、语言比较简单,所以选择音素为识别基元。通过HTK的HLEd命令将音节转换为音素便于声学训练。在声学模型中通过matlab命令将*.wav文件转换为*.fea文件确定其对应关系,应用HTK的HCopy.exe指令来产生MFCC文件。声学模型是语音识别声学处理中比较关键的步骤,首先调用Matlab中genTemplateHmmFile.m文件来建立隐马尔科夫模型(HMM)模板文件,在声学模型的训练中通过EM训练算法和利用HTK的HHEd来分裂HMM的状态数及增加混合高斯分量,更好地涵盖数据集和表达模型特征,求最佳参数优化模板,为每个声学单元建立一套声学模型参数。语音的识别特征参数的选取也是语音识别中重要的一方面[2]。当前最普及的是Mel频率倒谱参数(MFCC)符合人耳的听觉特性,在有信道噪声和频谱失真的情况下,MFCC参数的鲁棒性比较好。在大语料库连续语音识别中选取基于上下文的相关模型,三音子的音素和音节模型与音节相比,识别性能有很大地提高[5]。4语音识别实验语音采集通过cooledit声音处理软件完成,采集过程中,以0-9这10个语音数字作为实验对象,通过对这十个汉语数字进行多遍录音,生成29组(共580个声音样本),分别来自25个男生和4个女,前22个为insidetest,后7个为outsidetest,兼顾男女声音的基频和最高频率,用11025Hz的采样率,单声道录音,量化为16bits。4.1语音识别结果通过HTK调用Matlab函数来处理在语音识别系统中涉及到训练和测试的数据。MFCC参数选用13阶,利用HTK的界面产生Insidetest和outsidetest的识别结果如图2和图3所示。图2InsidetestHTK的识别结果图3outsidetestHTK的识别结果从图2、3可以看出每个数字的识别率和总体的识别率,每个数字的识别率不一样,主要由于汉语的声母为清音的缘故,而且录入语音样本的幅度不够大而导致识别率不是很高。从中还可以看出,得到outsidetest并没有Insidetest识别率那么高,是因为训练语料库并没有足够的大语料训练库去覆盖各种说话人的发声。4.2改变Mixture个数对识别率的影响本节研究Mixture个数对识别性能的影响,即取13阶MFCC特征向量,识别模型为GMM。本次实验不需要再重复原来的试验步骤,而是利用Matlab计算速度快和循环编程开发来节省时间,只需要把HTK的命令及其各类参数用Matlab语言编写出来,直接在Matlab上相互调用来训练数据和测试识别率,这样就大大的节约了重复实验时间。Matlab在参数更改时简单的编程实现如图4所示:图4Matlab在参数更改时简单的编程实现从图4中可以看出,确定MFCC阶数不变的情况下,做Mixture个数对识别率的影响的实验中,仅仅通过Matlab调用语音工具箱中的相关接口函数,通过Matlab编程计算生成各个Mixture个数的识别率,从而节省了同样实验只需改变几个参数而重复做实验的时间。生成识别结果图5所示。图5Mixture个数变化对识别率的影响理论研究表明,随着Mixture的个数增加,识别率应该逐渐增加。但是从图5中可以看出,随着Mixture的个数增加识别率时增时减。造成这样的原因是增加GMM个数,协方差矩阵的一些分量就会比较少,就会降低模型的鲁棒性。同时,随着个数的增加,数据量和运算量比较大,而又需要较多的训练数据,必须保证较长的训练时间,如果训练时间达不到一定的长度,模型建立不准确,反而使识别率下降。在实际应用中,应该考虑多方面的因素,譬如获取语音长度,运算量的要求等等。4.3改变MFCC阶数对识别率的影响本节在13阶MFCC的基础上,再加上差量倒频谱参数,来显示倒频谱参数对时间的变化,参见公式:△Cm(t)=[St=-MMCm(t+t)t]/[St=-MMt2]。这里的M一般为2或3。如果加上一阶差量运算就会产生26维的特征向量;如果再加上二阶差量运算,就会产生39维特征向量[6]。同样利用Matlab的计算速度快和循环编程开发节省时间优势来调用已写好的26和39阶MFCC文件,测试识别率。测试结果如表1所示:表1MFCC阶数变化对识别率的影响MFCC阶数识别率13阶26阶39阶Insidetest85.3391.6794.40outsidetest75.1287.4189.46从表1可以看出,随着MFCC阶数增加,识别率逐渐提高,证明动态参数中确实包含表征说话人的信息。虽然阶数有所增加,增大了识别模型的复杂度,但是作为特征向量取得更高的识别性能。5结语本文结合隐马尔科夫模型(HMM)原理,利用HTK调用MATLAB语音处理工具箱,实现了汉语数字的语音识别系统。在实验中利用HTK软件做每次循环实验比较浪费时间,利用Matlab的计算速度快和循环编程开发节省时间的优势来减少做循环实验的时间,提高工作效率。所以二者结合能够更好的为语音识别搭建一个性能更优的语音识别系统。参考文献:【1】石现峰张峰等.基于HTK语音识别系统的设计.计算机技术与发展[J],2006,16[10],37~41【2】李净,徐明星,汉语连续语音识别中声学模型基元比较:音节、音素、声韵母,第六届全国人机语音通讯会议[R],2001,267~280【3】张瑞强.用于汉语连续语音识别中的语言模型的研究.博士论文[D].北京:清华大学,1997【4】蔡琴,吾守尔·斯拉木.基于HTK的维吾尔族语连续数字语音识别.现代计算机[J].2007,257(10):29~33【5】刘加,汉语大词汇量连续语音识别系统研究进展,电子学报[N],2000,Vol.28,No.1.85~91【6】涂俊辉,续晋华等.基于HTK的连续语音识别系统及其在TIMIT上的的实验.现代计算机[J],2009,vol.11,29~34ResearchonSpeechRecognitionCallMATLABBasedonHTKZhangGe,YanHuan,YinJinghua(HarbinUniversityOfScienceAndTechnology,Harbin,150080)Abstract:IntroducetoresearchonspeechrecognitioncallmatlabbaseonHTK(HiddenMarkovModelToolket)underHTKtheory.MakeuseofHTKsoftwaretobuildupHiddenMarkovModel(HMM)whichitisusedtotrainandrecogniseintherecordedcorpus.Modifytheparameters(includevoicefeatures,acousticmodelsandsoon)oftheHMM,makeuseofthecomputespeedandprogramtosavethetimetosimulatebythematlab,showtheresultofthevariousparametersinthesimulationpicturewhichanalyzetheinfluenceofrateonthespeechrecognitionsystem,inordertoimprovetherateofspeechrecognitionandachievethebettereffect.Keywords:HTK;HMMModel;AcousticModel作者简介:张戈(1987年4月13日)、男、汉、山东省临沂市沂水县、哈尔滨理工大学、在读硕士、连续语音识别算法的研究、黑龙江省哈尔滨市南岗区学府路52号262信箱、150080。
本文标题:基于HTK调用MATLAB语音识别的研究
链接地址:https://www.777doc.com/doc-2569953 .html