届语音信号处理课程设计报告孤立词识别Word下载.doc
《届语音信号处理课程设计报告孤立词识别Word下载.doc》由会员分享,可在线阅读,更多相关《届语音信号处理课程设计报告孤立词识别Word下载.doc(21页珍藏版)》请在冰豆网上搜索。
主要
内容
编程实现基于动态时间规整的小规模孤立词语音识别系统,可以实时识别每个集合内的孤立词。
设计
要求
1.录制训练及测试语音。
2.能够提取特征参数MFCC。
3.能够使用动态时间规整(DTW)算法计算语音模板之间的距离。
4.编程实现基于动态时间规整的小规模孤立词语音识别系统。
5.对某个集合内的孤立词语音实时进行识别
6.准确率应不低于80%。
仪器
设备
计算机1台,安装MATLAB软件及cooledit录音软件
参考
文献
数字语音处理及MATLAB仿真[M].北京:
电子工业出版社,2010.
课程设计进度计划(起止时间、工作内容)
本课程设计共安排3个题目,这是其中题目之一。
具体进度如下:
6学时复习题目相关知识,掌握实现的原理;
16学时用MATLAB语言实现题目要求;
6学时进一步完善功能,现场检查、答辩;
4学时完成课程设计报告。
课程设计开始日期
2015.5.14
课程设计完成日期
2015.6.14
课程设计实验室名称
电子信息技术实验室
地点
实验楼3-507
资料下载地址
摘要
本论文主要阐述了语音识别系统开发的过程,采用了端点检测和特征参数提取的思路,主要的关注点是如何运用MEL频率倒谱系数(MFCC)的算法,也运用了动态时间规整(DTW)算法,以MATLAB语言为编程语言,编程和获得语音识别算法。
笔者设计的语音识别算法的识别率相对较高,而以该算法为基础的语音识别系统可以达到设计的要求,所以其市场前景广阔。
关键词:
语音识别系统;
MFCC;
DTW;
孤立词识别
Abstract
Thispapermainlyexpoundsthevoicerecognitionsystemdevelopmentprocess,usingtheendpointdetectionandfeatureextractionofideas,themainconcernishowtouseMELFrequencyCepstralCoefficients(MFCC)algorithm,alsousedtheDynamicTimeWarping(DTW)algorithminMATLABlanguageprogramminglanguageprogrammingandaccesstospeechrecognitionalgorithm.Theauthordesignthespeechrecognitionalgorithmoftherecognitionrateisrelativelyhigh,andbasedonthealgorithmofspeechrecognitionsystemcanmeetthedesignrequirements,soitswideprospectofmarket.
Keywords:
speechrecognitionsystem,MFCC,theDTW(dynamictimewarping);
isolatedwordsrecognition;
目录
12级“语音信号处理课程设计”任务书 2
摘要 3
Abstract 4
第一章概述 6
1.1主要内容 6
1.2要求 6
1.3主要仪器设备 6
1.4基本方法 6
第二章信号特征参数MFCC提取 7
第三章DTW算法 9
第四章实现过程及结果 11
4.1实现过程 11
4.2结果及分析 12
结束语 12
参考文献 12
附录 13
1、place_recgrnition 13
2、vad 14
3、mfcc 16
4、dtw 17
5、out 19
第一章概述
21世纪,人类要不断地进行信息交流和传递,而在这一过程中,语音无疑是最为方便的工具和主要的交流媒介。
所以,为了达到交流方便的目的,我们往往在人机系统中,采用语音识别系统。
说得更通俗一点,语音识别就是要能让机器理解人在说什么,即准确地识别出语音的内容,以此来达到人的意愿执行机器指令的目的。
就语音识别技术的应用的主要内容来看,主要就是语音拨号、导航、语音文档检索等一系列功能。
语音识别技术就好像其他的自然语言处理技术一样,在处理了相关的技术之后,就能够顺利地展开语音间翻译。
1.1主要内容
编程实现基于动态时间规整的小规模孤立词语音识别系统,可以实时识别每个集合内的孤立词。
1.2要求
1.录制训练及测试语音。
2.能够提取特征参数MFCC。
3.能够使用动态时间规整(DTW)算法计算语音模板之间的距离。
4.编程实现基于动态时间规整的小规模孤立词语音识别系统。
5.对某个集合内的孤立词语音实时进行识别
6.准确率应不低于80%。
1.3主要仪器设备
计算机1台,MATLAB软件及cooledit录音软件
1.4基本方法
一般开说,我们在识别语音的时候,主要有三种语音识别方法:
第一种是声道模型和语音知识方法,第二种是模板匹配方法,第三种是人工神经网络语音识别方法。
(1)声道模型和语音识别方法:
这种方法是较早就开始进行过研究的,当时主要是在语音识别技术的基础上提出来的,但是考虑到其模型及语音知识相对来说不是很简单,所以就是到了现在也没有采用于实际的工作中。
一般来说,人们都会以为,在一些我们经常使用到的语言中,语音基元的数量是有限的,在区分它们的时候,我们通常都是以时域特性和语音信号频域为基础的,具体地来说,要实现该方法主要是按以下步骤进行的:
其一,分段和标号,通过以时间为基本单元,把语音信号按划分成若干个离散的段,任何一段都与若干个语音基元特性存在着相互对应的联系。
从此之后,人们在对语音基元进行分段的时候,都是以声学特性为基础,会给出相对应的标音符号。
其二,我们成功地获取到了词序列之后,下一步的工作就是以语音识别序列为基础,获取到首个语音基元网格。
(2)主要的模版匹配方法
模板匹配方法目前的发展情况非常好,可以所已经处于一个比较成熟的实用阶段。
我们在匹配模板的时候,通常都是按照下面的顺序来进行的:
提取特征、讯乱模板、分类模板、判决。
其中,往往用来开展此工作的方法如下:
动态时间规整(DTW)、隐马尔可夫(HMM)理论等。
第二章信号特征参数MFCC提取
语音信号在端点检测以后,就把其中的噪声消去了,同时也把有价值的语音信息全部提出来了,这也就进到了语音识别的最关键的阶段:
特征提取阶段。
正确又合理地把特征参数选择出来,有利于提高系统的识别率,而且还会系统的实时性能产生较大的影响。
语音信号特征提取往往就是出于二个目的,其一就是想尽办法取得模式匹配数据库中的模板样本:
其二就是在进行语音识别时,采取一切措施,减少相同类的类间距离,与此同时,语音信号的端点还要保持在类的类间距离尽量大,这也就意味着异音字特征间的距离尽可能的大,而使得同音字的间距尽可能地缩小。
近几年以来,充分地利用人耳的特殊感知特性的参数在实际中得到了普及应用,这就是Mel频率倒谱参数(MelFrequencyCepstrumCoefficient,MFCC),简称MFCC。
MFCC参数能够比LPCC参数可以更好地优化系统的性能。
Mel频率和线性频率的具体关系式如下:
对于频率轴,我们主要是使用了不均匀划分方法,而这也是MFCC特征最大的特点。
如图2.2所示的滤波器组中,就有16个滤波器。
图2.2Mel带通滤波器组图
我们往往也按帧来计算MFCC倒谱系数,在实际应用中,MFCC倒谱系数的计算过程如图2.3:
图2.3MFCC计算的一般流程
(1)其一,就是要对信号进行预加重和加窗处理,然后以此为基础,做好离散FFT的变换工作,在进行了取模,再平方以后,又得到了离散功率谱。
在此次文章中,我们主要是用了帧长为256点,帧移为80点的信号。
所以,我们根据此,得到了第n帧语音信号,另外也做了离散傅里叶变换工作,并得到了下面的关系式:
除此之外,我们再根据短时功率谱与短时傅里叶变换的关系,可以直接地把其中的短时功率谱求解出来,具体的可以用如下的关系式:
(2)对做准确的计算,其主要的思路就是通过M(M往往是取16~24)个Mel带通滤波器,在滤波处理了以后,以此得到了相关的功率值。
所以,在任何的频带里,人耳在其中的作用是叠加形成的,所以我们把滤波器的能量放在一起,也主要是对和在各点离散频率点上的乘积的和做一些详细的计算,以此来获得M个参数只
(3)对的自然对数,我们运用如下的公式进行计算,以此来计算出对数功率谱,接下来,我们开展离散余弦变换(DCT)工作,从而得到了L个MFCC系数。
对于L,我们往往是取12-16位为主。
(4)对于其中的任何一个帧的语音信号,我们都要想办法把其中的L维MFCC参数计算出来,往往还是使用其中的一个参数进行提升。
总的来说,标准的MFCC参数往往就只能显示出语音信号的某些静态特性,虽然纯净语音信号情况下可能会产生比较好的识别率。
但是,有一点要注意的,那就是如果测试环境和训练环境无法进行匹配,就有可能会导致识别系统的性能下降的情形。
其具体的计算公式如下:
第三章DTW算法
DTW(DynamicTimeWarping,动态时间规整)
算法简介:
在识别孤立词语音的时候,较好的方法就是DTW算法,它在语音识别中实用得比较早,也是其中最有影响力的一种,在识别孤立词的时候,经常都会使用到这种方法。
在DTW算法中,无需做更多的计算。
不管是建立模板还是训练模板的阶段,还是识别的阶段,需要判断最终的语音起点和终点。
用{R
(1),R
(2),..R(m),..R(M)}来表示其中的一个参考模板,其中起点语音帧用m=1表示,而m=M表示的则是终点语音帧。
在表示参考模板和测试的时候,分别用T和R来表示它们。
通常来说