基于MATLAB的DHMM、DTW和CHMM语音识别算法的对比研究_第1页
基于MATLAB的DHMM、DTW和CHMM语音识别算法的对比研究_第2页
基于MATLAB的DHMM、DTW和CHMM语音识别算法的对比研究_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MATLAB的DHMM、DTW和CHMM语音识别算法的对比研究 摘 要:在对语音识别基本理论阐述的基础上,研究了DHMM、DTW和CHMM三种不同的语音识别算法,并通过在MATLAB环境下搭建孤立词数字语音识别系统得出三种不同语音识别算法的具体运行数据,验证了识别理论的正确性,对比三种不同语音识别算法优缺点,为硬件实现语音识别系统提供了重要参考。关键词:离散隐马尔可夫算法;动态时间规整算法;连续隐马尔可夫算法;MATLAB语音识别中图分类号:TN912.34 文献标识码:A 文章编号:1007-9599 (2013) 04-0000-021 引言离散隐马尔可夫、动态时间规整和连续隐马尔可夫是语音识别中三种常用算法。前人在孤立词数字语音识别对该三种算法研究方面的局限是,大多只阐述理论分析结果,却未有具体完整的实验平台来实际验证该三种算法的优缺点。因此本文通过在MATLAB环境下搭建孤立词数字语音识别系统得出三种不同语音识别算法的具体运行数据,以实现论文研究的突破。2 基于MATLAB的DHMM、DTW和CHMM三种不同的孤立词数字语音识别系统的实现我完成下列实验所使用的机器类型是:笔记本电脑,Intel奔腾双核CPUT2060,主频1.6GHz,2GDDR2内存;Matlab7.04平台。所用的非特定人汉语数字一到十发音的语音数据均是在实验室环境下用系统自带的录音机软件录制。2.1 离散HMM方法(DHMM)在此,我做的是基于矢量量化(VQ)与DHMM模型的数字语音识别。对于已经给出的非特定人汉语110语音数据,每个数字5次发音(共50个样本)用作训练集,另外5次发音(共50个样本)用作测试集。实现的主要步骤是:(1)对所有1-10语音训练数据训练得到矢量量化用的码书;(2)获取1-10每个数字识别用的hmm模型;(3)把训练或者测试的数据与已经训练好了的码书和hmm模型进行匹配,从而得到识别数据。2.2 DTW算法根据DTW算法的特点,实现孤立词语音识别时我选用其中110共一组10个语音作为训练集得到参考模板,拿其它组10个语音作为测试集进行模板匹配。主要步骤是:(1)读入wav文件,用mfcc函数获得其MFCC参数,用vad函数对其进行端点检测,并保存语音部分的MFCC参数到参考模板的结构数组ref(i).mfcc中或测试模板的结构数组test(i).mfcc中。(2)模板匹配阶段,计算所有测试模板和参考模板之间的距离,保存到矩阵dist中,将最后的匹配分数用min函数找到最小值对应的模板。由图2可见,匹配距离矩阵dist的对角线上是正确匹配模板的对应分数,可见对角线上的10个数值都是在本行中最小的,由此验证了识别结果的正确性。此外,我还换用了不同组1-10语音再做测试或者做参考,得到的两组1-10语音的DTW识别,不管是训练集(参考集)还是测试集,识别结果均是100%。这说明了DTW算法用在孤立词识别上,能够得到较好的识别率。2.3 连续HMM方法(CHMM)离散HMM模型由于存在矢量量化(VQ)的处理过程,而矢量量化会造成语音信号的丢失,因而离散HMM模型的识别效果要比连续HMM模型要差。为了更好地描述语音信号的时变特征,可以选用连续HMM模型,但是连续HMM在硬件实现时难度较大。一般采用的是从左到右型HMM模型。我所采用的CHMM识别步骤如下:(1)端点检测:其中包括幅度归一化、设置双门限、分帧并计算过零率、分帧并计算短时能量、端点检测判断;(2)提取mfcc和一阶差分mfcc参数:其中包括归一化mel滤波器组系数、设置dct系数、归一化倒谱提升窗口、预加重滤波器、分帧、计算每帧的mfcc系数、差分系数、合并mfcc和一阶差分mfcc参数、去除首尾两帧等操作;(3)采用对数形式Viterbi算法:其中包括预处理、初始化、递推、终止、回溯最佳路径;(4)将训练所得的hmm模型用于对训练集和测试集的识别,得到识别数据并保存为Excel文档格式输出。3 识别结果分析以上实验是在安静的实验室环境下针对非特定人分别应用DHMM、DTW和CHMM算法进行语音识别,综合MATLAB各类算法中最佳的识别结果如表3所示。结合以上实验过程及上表数据可以得出,在系统识别率方面CHMM最优,其次到DTW,再到DHMM,但是由于识别以及测试样本数量还算较少,因此未能体现出在识别以及测试样本数量较多时DHMM识别率优于DTW的结果。由于均是在实验室环境下完成的识别结果,噪声相对较少,因此测试准确率基本达到100%。另外,在硬件实现的复杂度方面CHMM最复杂,其次到DHMM,再到DTW,因此综合分析之下,用可编程逻辑器件采取DHMM是实现语音识别的一种较优方式。4 结束语本文通过在MATLAB环境下搭建数字语音识别系统,详细阐述了DHMM、DTW和CHMM算法的实现步骤,严格对比了三种不同语音识别算法优缺点,为硬件实现实时的语音识别系统提供了重要参考。参考文献:1何英,何强.MATLAB扩展编程(第一版)M.北京:清华大学出版社,2002.2陈新锐.基于小波语音去噪的FPGA系统设计与实现D.广西师范大学,2010.3杨行竣,迟惠生.语音信号数字处理(第一版)M.北京:电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论