matlab htk tools,基于HTK调用MATLAB的语音识别的研究

基于HTK调用MATLAB的语音识别的研究

张戈,严欢,殷景华

(哈尔滨理工大学,哈尔滨,150080)

摘要:根据HTK(Hidden Markov Model Toolket)原理,介绍基于HTK调用MATLAB的语音识别过程。利用HTK软件建立隐马尔科夫模型(HMM)对录制的语料进行训练和识别。修改HMM中参数(包含语音特征,声学模型等),再利用Matlab计算速度快及其编程开发节省时间优势对其计算仿真,仿真图显示各类参数的语音识别结果,分析参数对语音识别系统识别率的影响,改进并提高语音识别率,从而达到更好的效果。关键词:HTK;HMM模型;声学模型

0引言

语音识别是指及其通过学习实现从语音信号到文字符号的理解过程,是一种十分重要的人机交互方式。本文应用剑桥大学开发的专门用于建立和处理HMM的实验工具包HTK(Hidden Markov Model Toolket),主要用于语音识别领域。基于HTK的重复实验比较浪费时间的缺点,本文利用Matlab 计算速度快及其循环编程开发节省时间优势处理语音识别中各个模块,使其节约开发时间,提高工作效率。

1语音识别系统的总体框架

基于HMM的语音识别系统如图1所示:主要由特征提取单元、声学模型、识别网络、语音识别器等四部分组成[1]。

matlab htk tools,基于HTK调用MATLAB的语音识别的研究_第1张图片

语音

输入

图1语音识别系统

特征提取单元主要包括预处理和端点检测。语音库中的训练语料数据经信号处理确定音素的起始点和终点,便于在声学建模中加入静音和停顿音拟合为接近自然的语音。语音测试识别时需经过特征提取单元。语音库由训练库和测试库组成,分别用于声学模型的训练及其测试。声学模型通过建模

模拟人类的语音产生和感知特征。识别网络主要用来搜索最佳词序列,能够得出最大的识别概率作为可能的识别结果。语言模型应用统计语言模型,词典包括在识别过程中所有可能遇到的单词,并定义每个单词因素级的发音。

2HTK工作原理

HTK工具包是由语音数据准备、HMM 训练工具、识别工具、数据分析工具等组成。在语音数据准备时,用Cooledit等录音软件进行语音语料的采集[2]。

训练工具主要基于EM重估算法,利用HCompv、HInit估计一套初始模型参数,使用HRset、HERest命令重估参数,对HMM 训练主要应用上下文无关的建模方法,直接利用HERest进行嵌入式训练,利用EM算法对待训练的孤立音素进行重估,更新孤立音素对应的HMM参数,使系统中所有模型彼此间的距离增大,降低识别时的难度。不断调整系统模板的参数,使参数性能不断向最佳状态逼近[3]。

HVite是基于Viterbi算法用于识别未知的语音,HResults是模型性能分析工具,用于分析识别率。

3语音声学建模及其优化

在选择识别单元时候,模型识别单元大小(词发音模型、字发音模型、半音节模型或音素模型)对语音训练数据量大小、语音测试识别率有较大的影响[4]。由于本文实验数字语音、语言比较简单,所以选择音素为识别基元。通过HTK的H LEd命令将

你可能感兴趣的:(matlab,htk,tools)