第19卷第3期 2006年6月 四川理工学院学报(自然科学版) JOURNAL OF SICHUAN UNIVERSITY OF V01.19 NO.3 SCIENCE&ENGINEERING(NATURAL SCIENCE EDITION) 文章编号:1673—1549(2006)03—0097—04 基于MATLAB的孤立字语音识别试验平台 李潇,王大垄 (贵州大学计算机科学与工程学院,贵阳550025) 摘要:文章研究了两种不同语音识别算法一动态时间伸缩算法(DTW)和隐马尔可夫模型(HMM), 并在模式匹配原理的基础上,设计、实现了在Matlab环境中,应用DTW识别法及HMM识别法的孤 立字语音识别实验平台。 关键词:孤立字语音识别;动态时间伸缩算法(DTW);隐马尔可夫模型(HMM);试验平台 中图分类号:TP391.42 文献标识码:A 孤立字语音识别是语音信号处理学科研究和应用的一个重要领域,与计算机科学、通信与信息科学 以及模式识别等学科都有非常密切的关系,内容较为抽象。通过一定的试验,有助于加深对孤立字语音 识别相关知识的理解。 MATLAB将不同分支的算法以函数的形式分类成库,同时具有可扩展性,通过编写M文件可以组 成用户自己的工具箱[1】。本文在MATLAB环境中构建了孤立字语音识别试验平台,可以选择MFCC或 LPCC特征参数、DTW或HMM识别算法对指定目录的孤立字进行语音识别,并可以模拟特定人识别 和非特定人识别。通过测试,试验平台基本达到试验要求。 1孤立字语音识别 语音识别系统根据对说话人 说话方式的要求,可以分为孤立 字(词)语音识别系统,连接词语音 识别 结果 识别系统以及连续语音识别系 统;根据对说话人的依赖程度, 可以分为特定人和非特定人语音 识别系统L2J。孤立字识别系统用 图1模式匹配原理语音识别系统 于识别孤立发音的字(词)。孤立 字在字与字之间存在发音停顿, 单字之间的端点检测比较容易;同时一般对单字的发音都比较认真,且单字之间的协同发音影响较小, 较容易得到较高的识别率。采用模式匹配原理的语音识别系统组成如图1所示t 1。 1.2识别算法 本文涉及的孤立字语音识别采用了模式匹配原理。由于语音信号具有相当大的随机性,即使是同一 个人在不同的时刻所讲的同一句话、发的同一个音,也不可能有完全相同的时间长度。对于采用模板匹 配法的识别系统,这些时间长度的变化会影响测度的估计,从而降低系统的识别率,因此时间的伸缩是 必不可少的。最有效的两种策略:一种是动态时间规整技术(DTW);另一种是马尔可夫模型技术(HMM o 1.2.1动态时间伸缩算法(D1w) 动态时间规整就是要寻找一个时间规整函数J=∞(I),它将测试矢量的时间轴非线性地映射到模板的 收稿日期:2005—12—08 作者简介:李潇(1981一),男,贵州凯里人,2004级硕士研究生,主要研究方向为控制与测量。 维普资讯 http://www.cqvip.com
98 四川理.Y-学院学报(自然科学版) 2006年6月 时间轴上,并使该函数满足: D d T ( ))】 ‘ 式(1)中,假设语音参数共有I帧矢量,而参考模板共有J帧矢量,且I不等于J,则d[T(i),R(∞(i))】 是第i帧测试矢量T(i)和第j帧模板R(J)矢量之间的距离测度,D则是处于最优时间规整情况下两 矢量的距离。由于DTW不断地计算两矢量的距离以寻找最优的匹配距离路径,所以得到的两矢量匹配 是积累距离最小的规整函数,这保证了它们之间存在最大的声学相似特性[31。实际中,DTW是采用动 态规划技术来具体实现的。由于已经对路径进行了限制,所以计算量可相应的减少,提高了系统的反应 速度 。 1.2.2隐马尔可夫模型(HMM) 隐马尔可夫模型(Hidden Markov Model-HMM)用隐含的状态对应于声学层相对稳定的发音单位, 如图2所示口】,该HMM包含四个状态。随着时间的变换,各个状态之间可以发生转移,也可以在一个 状态内驻留。每个观察向量都有相应的输出概率。用概率密度函数计算语音参数对HMM的输出概率, 通过搜索最佳状态序列,以后验概率为准则找到识别结果。 图2隐马尔可夫模型状态图 2实验平台设计 2.1基于DTW的孤立字语音识别 图3基于DTW的流程图 维普资讯 http://www.cqvip.com
第19卷第3期 李潇等:基于MATLAB的孤立字语音识别试验平台 99 基于DTW识别法的孤立字语音识别部分为特定人语音识别。采用静态语音识别法,进行语音识别 前,需要用待识别人的语音训练参考模板。端点检测采用双门限法,系统如图3所示。 在低噪声环境中用NGwave录制8组孤立字语音用于测试识别效率。说话人分别为两位男生,两 位女生。每组语音分别为:“零,一,二,三,四,五,六,七,八,九,十”,每个语音取样两次,得 到同一语音的两个语料,分别用于计算参考模板和测试模板。基于DTW的测试结果如表l、表2所示。 对于相同的语料,以MFCC参数作为特征参数,正确识别率达到90%;以LPCC参数作为特征参数, 该程序的识别正确率总体看来有所下降。 表1以MFCC为特征参数的识别效果 为比较高效DTW算法与DTW算法的识别效率,用女声1的语料测试,以MFCC为特征参数,测 试结果如表3所示。高效DTW识别算法在确保识别率的基础上提高了程序的运行效率,有效地减少了 运行时间。 表3 DTW算法与高效DTW算法识别效果对比 2.2基于HMM的孤立字语音识别 基于HMM的孤立字语音识别部分为非特定人语音识别。本试验仅为模拟语音识别程序对说话人的 非敏感性,应用HMM进行小范围人群的语音识别。在基于HMM的程序中,以MFCC参数为特征参 数,端点检测用双门限端点检测法。系统如图4所示。 程序运行时同时调入四组语音用于估算HMM参数。模板训练过程中,先对每个字分别用四个语音 建立各自的特征参数模型,然后用统计聚类的方法将同一个字的四个特征参数模型聚类,得到反映说话 维普资讯 http://www.cqvip.com
100 四川理工学院学报(自然科学版) 2006年6月 人特征尽量少,而反映语意特征尽量多的参数模型。如果先前同一个字的各个参数模型类间距离过大, 不能通过聚类得到反映共同特征的参数模型,训练程序自动退出迭代过程,进入下一个语料HMM模板 的训练,同时该语料HMM模板将空缺,识别时所对应的语音将不能被识别。模板训练调用的语音组数 可以随着语料的增加而设置增加,参与模板训练的语料越多,系统的识别正确率越高,但所耗费的时间 也随之增加,同时聚类时溢出的风险也增加。 训练结束,用参与训练的语音分别进行孤立字语音识别。识别结果如表4示。 表4 HMM实验程序识别结果 对所采集的语料,识别参与模板计算语音时,正确识别率达到100%。为了验证实验程序的非特定 人特性,采用一组没有参与模板训练且与训练语料语意相同的语音进行识别,实验结果如表4所示,正 确识别率有所下降。原因在于参与模板训练的语料不够丰富。要达到对说话人的较高独立性,用于训练 模型的语料数量是巨大的。这将消耗较多的运算时间。 3结论 本文通过编写MATLAB程序组成孤立字语音识别工具箱,以此在MATLAB环境下构建了孤立字 语音识别的实验平台。直接在MATLAB命令窗口输入操作参数,可与试验平台进行交互,对指定目录 的说话人语音进行识别操作。孤立字语音识别实验平台的开发对理解孤立字语音识别的相关知识具有教 好的辅助作用。与硬件为主的实验相比,采用软件实验方式,具有直观性、实时性与逼真性及操作灵活 的优点。 参考文献: 【1】阮沈勇.MATLAB程序设计【M】,北京: ̄q-az,&出版社,2004, 【2】胡航.语音信号处理【M】.哈尔滨:哈尔滨工业大学出版社,2002 【3】赵力.语音信号处理【M】.北京:机械工业大学出版社,2003. 【4】何英.Maflab扩展编程【M】.北京:清华大学出版社,2002. Test PIatfOrm of Isolated—word Speech Recognition Based on MATLAB /_JXiao.w G Da—kun (College of Computer Science and Engineering,Guizhou University,Guiyang 550025,China) Abstract:This paper studies two diferent kinds of arithmetic used in the speech recognition:the Dynamic Time Warping and the Hidden Markov Mode1.Making use of constraints imposed by the models,the test platform of isolated—word speech recognition using DTW and HMM have been carded out. Key words:isolated-word sepech recognition;Dynamic Time Warping(DTW);Hidden Markov Model(HMM);test platform
因篇幅问题不能全部显示,请点此查看更多更全内容