合肥师范学院本科毕业论文(设计)开题报告(学生填写)学号姓名指导教师题目基于MATLAB的特定人孤立词识别系统课题内容:课题任务:本论文主要介绍在Matlab平台上进行特定人孤立词的处理和识别。语音识别是让机器自动识别和理解语音信号,并把语音信号转变为相应的文本或命令的技术。通过MATLAB平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参数(MFCC),形成参考模块。然后再对一组相同的语音信号输入进行同样的操作作为测试模块,利用DTW算法与参考模块进行匹配,输出匹配后的识别结果。课题目标:首先通过语音的录制作为输入信号,输入的模拟语音信号要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等等。经过预处理后,接下来就是重要的一环:特征参数提取。训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。课题意义:语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。随着科技技术的发展的今天,除了人与人之间的自然语言通信之外,人与机器或机器与机器之间也开始使用语言。也就是因为如此,需要涉及到语音识别技术。而MATLAB作为一个语音信号处理的平台,是一个高性能的科学计算软件,广泛应用于数学计算、算法开发、数学建模、系统仿真、数据分析处理及可视化、科学和工程绘图、应用系统开发(包括建立用户界面)等。其语言是一种简单、高效、功能极强的高级语言,具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易写。课题关键问题及难点:关键问题:1、特征参数MFCC的提取要求是:(1)提取的特征参数要能有效地代表语音特征,具有很好的区分性。(2)各阶参数之间有良好的独立性。(3)特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现。2、DTW算法的实现在孤立词语音识别中,最为简单有效的方法是采用DTW算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配为题,是语音识别中出现较早、较为经典的一种算法。用于孤立词识别,DTW算法与HMM算法在相同的环境条件下,识别效果相差不大,但HMM算法要复杂的多,这主要体现在HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。所以对于孤立词语音识别,DTW算法得到广泛的应用。3、图形用户界面设计(1)GUI设计模板:在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。(2)GUI设计窗口:在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。(3)GUI设计窗口的基本操作:在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。难点:对特征参数(MFCC)的提取以及相关的计算。包括预加重、分帧及加窗,端点检测,FFT算法计算DCT变换等。拟采取的方式、方法及计划进程、方案(主要技术路线):采取的方式:1.理论依据此次设计,通过MATLAB平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参数(MFCC),形成参考模块。然后再对一组相同的语音信号输入进行同样的操作作为测试模块,利用DTW算法与参考模块进行匹配,输出匹配后的识别结果。2.语音信号的预处理首先通过语音的录制作为输入信号,输入的模拟语音信号要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等等。3.特征参数(MFCC)的提取一种能够比较充分利用人耳的这种特殊感知特性的系数,这就是Mel尺度倒谱系数(Mel-scaledCepstrumCoefficients,简称MFCC)。MFCC系数的计算过程如下:(1)预处理:确定每一帧语音采样序列的长度,并对每帧序列s(n)进行预加重、分帧和加窗处理;(2)计算离散功率谱:对预处理的每帧进行离散FFT变换得到其频谱,再取模的平方作为离散功率谱S(n);(3)将功率谱通过滤波器组:计算S(n)通过M个Hm(n)后所得的功率值,即计算S(n)和Hm(n)在各离散频率点上的乘积之和,得到M个参数Pm,m=0,1,……M-1;(4)取对数:计算Pm的自然对数,得到Lm,m=0,1,……M-1;(5)离散余弦变换DCT:对Lm计算其离散余弦变换,得到Dm,m=0,1,……M-1,舍去代表直流成份的D0,取D1,D2,……,Dk作为MFCC参数。4.DTW算法的实现首先申请两个n*m的矩阵D和d,分别为累计距离和帧匹配距离。这里n和m为测试模板与参考模板的帧数。然后通过一个循环计算两个模板的帧匹配距离矩阵d。接下来进行动态规划,为每个格点(i,j)都计算其三个可能的前续格点的累积距离1D,2D和3D。考虑到边界问题,有些前续格点可能不存在,因此要加用一些判断条件。最后利用最小值函数min,找到三个前续格点的累积距离的最小值作为累积距离,与当前帧的匹配距离d(i,j)相加,作为当前格点的累积距离。该计算过程一直达到格点(n,m),并将D(n,m)输出,作为模板匹配的结果。通过DTW算法原理可以得出DTW算法的流程如下图所示:5.设计图形用户界面(1)在GUI界面中放置组件首先单击工具栏中的按钮,光标变成十字形后使用十字形光标的中心点来确定组件左上角的位置,或者通过在界面区域内单击并拖动鼠标来确定组件的大小。GUI组件布置完成后,可以使用菜单栏中最后一个三角形按钮或Tools菜单中的ActivateFigure选项来观察GUIDE的设计结果。这时会自动生成一个FIG文件和一个M文件,FIG文件会提示保存路径。(2)编程回调函数布置完GUI组件后,接下来最重要的一步就是编程每个按钮的回调函数,实现自己需要的功能,其编程过程为:信号输入帧匹配距离矩阵累积距离矩阵动态规划信号输出①右键单击按钮,待弹出选择窗口时,选择最后一项即viewscallbacks;②鼠标放在viewscallbacks后就会弹出子选择窗口,根据自己的按钮属性选择相应的函数回调;③择完函数后,则会自动跳到M文件中该按钮所对应的回调函数,在该段函数中,可以编写自己需要实现该按钮的功能的代码。进度安排:2015年1月7日—2015年1月15日收集与课题相关的资料,并阅读分析资料,开始准备开题报告;2015年1月16号—2015年2月28日复习与MATLAB软件相关的知识以及有关语音信号处理的相关知识;进行系统需求分析和总体设计,确定各模块功能;完成开题报告;2015年3月1日—2015年4月1日进行详细设计,编写系统实现的程序;2015年4月2日—2015年4月9日准备中期检查;2015年4月10日—2015年4月17进行系统调试,准备中期答辩;2015年4月18日—2015年4月30日根据给定的标准撰写毕业论文,完善系统;2015年5月1日—2015年5月10日修改论文格式,完善论文的编写;2015年5月11日—2015年5月17日准备论文答辩参考文献:[1]何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002[2]雷学堂,徐火希.基于MATLAB的语音滤波实验设计[J].实验技术与管理,2007,32(3):275-281[3]王嘉梅.基于MATLAB的数字信号处理与时间开发[M].西安:西安电子科技大学出版社,2007.12[4]张雄伟.现代语音处理技术及应用[M].北京:机械工业出版社,2009[5]张震,王化清.语音信号特征提取中Mel倒谱系MFCC的改进算法[J].计算机工程与应用,2008,44(22):101-110[6]朱淑琴.语音识别系统关键技术研究[D].西安电子科技大学,2004[7]胡广书.数字信号处理理论、算法与实现[M].北京:清华大学出版社,1997[8]沈怡.特定人孤立词汉语识别系统的研究[D].南京气象学院,2004[9]罗华飞.MatlabGUI设计学习手记[M].北京:北京航空航天大学出版社,2011[10]张雪英.数字语音处理及MATLAB仿真[M].北京:电子工业出版社,2010.7[11]郑玲,李为.计算机专业毕业设计指导[M].北京:清华大学出版社,2011[12]张磊,毕靖,郭莲英.MATLAB实用教程[M].北京:人民邮电出版社,2008[13]施阳等.MATLAB语言工具箱[M].西安:西北工业大学出版社,2013[14]SonamKumari,controllingofdevicethroughvoicerecognitionusingMatlab[J].InternationalJournalofAdvancedTechnology&EngineeringResearch(IJATER),2012,27(2):113-120[15]PaldenLama.SpeechRecognitionwithDynamicTimeWarpingusingMATLAB[J].PROJECTREPORT,2010,4:230-237指导教师意见:教师签名:年月日指导小组(教研室)意见:组长签名:年月日