基于MATLAB的特定人语音识别算法设计.doc
《基于MATLAB的特定人语音识别算法设计.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的特定人语音识别算法设计.doc(41页珍藏版)》请在冰豆网上搜索。
![基于MATLAB的特定人语音识别算法设计.doc](https://file1.bdocx.com/fileroot1/2022-10/30/84e001d3-ea49-43a1-a197-94fb06e16dce/84e001d3-ea49-43a1-a197-94fb06e16dce1.gif)
本科毕业设计
基于MATLAB的特定人语音识别算法设计
摘要
语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。
而在随着科技技术的发展的今天,除了人与人之间的自然语言通信之外,人与机或机器与机器之间也开始使用语言。
也就是因为如此,需要涉及到语音识别技术。
为了解决机器能“听懂”人类的语言,在科技如此迅猛发展的今天,语音识别技术一直受到各国科学界的关注,其对计算机发展和社会生活的重要性也日益凸显出来。
在孤立字语音识别中,如语音密码锁,汽车控制等领域,都运用到了特定人语音识别技术,也就是DTW算法,相对于HMM算法,DTW算法具有简单操作。
在相同环境下,两者识别效果相差不大,但是HMM算法要复杂得多,主要体现在HMM算法在训练阶段需要提供大量的语音数据,而DTW算法则不需要额外的计算。
所以在特定人语音识别当中,DTW算法被广泛使用。
在本次设计中,将运用到MATLAB平台来对语音信号进行处理及识别。
相对于C语言而言,MATLAB平台更能给用户提供一个简单易懂的代码分析窗口。
而且在个性化设计中,MATLAB可以为用户提供一个人性化界面--GUI。
所以,此次设计,通过MATLAB平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参数(MFCC),形成参考模块。
然后再对一组相同的语音信号输入进行同样的操作作为测试模块,与参考模块进行DTW算法进行匹配,输出匹配后的识别结果。
关键词:
MATLABGUI端点检测MFCCDTW
DesignofSpeechRecognitionAlgorithmBasedonSpecificMATLAB
CaiJingzuo
(CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China)
Abstract:
Languageisawayofhumanexchangeofinformationthemostconvenient,quick,highlydevelopedintheinformationsociety,forvoicetransmission,byusingthedigitalmethodofstorage,recognition,synthesisandenhancementisoneofthemostimportantpartsofthewhole,themostbasicdigitalcommunicationnetwork.Whilewiththedevelopmentofscienceandtechnologytoday,inadditiontonaturallanguagecommunicationbetweenpeople,betweenpeopleandmachineormachineandmachinearealsostartingtousethelanguage.Itisbecauseofthis,needtoinvolvethespeechrecognitiontechnology.Inordertosolvethemachinecan"hear"thehumanlanguage,thetechnologyissorapiddevelopmenttoday,thespeechrecognitiontechnologyhasbeenthesubjectofscientificattentionofallcountries,theimportanceofcomputerdevelopmentandsociallifeisincreasinglyprominent.
Intheisolatedwordspeechrecognition,suchasvoicepasswordlock,autocontrolfield,areappliedtothespeechrecognitiontechnology,whichisrelativetotheDTWalgorithm,HMMalgorithm,DTWalgorithmhastheadvantagesofsimpleoperation.Inthesameenvironment,boththerecognitioneffectissimilar,butHMMalgorithmismuchmorecomplex,mainlyreflectedintheHMMalgorithmneedtoprovidealargeamountofspeechdatainthetrainingphase,whiletheDTWalgorithmdoesnotneedtheextracomputation.Sointhespeaker-independentrecognition,DTWalgorithmiswidelyused.
Inthisdesign,willapplytotheMATLABplatformtocarryontheprocessingandrecognitionofspeechsignal.ComparedwiththeClanguage,MATLABplatformcanprovideuserswithasimplecodeanalysiswindow.Butinthepersonalizeddesign,MATLABcanprovideahumanuserinterface--GUI.So,thedesign,theestablishmentofaGUIinterfacethroughtheMATLABplatform,andthenasetoftheinputspeechsignalpretreatment,endpointdetection,featureparameterextraction(MFCC),theformationofthereferencemodule.Thenagroupofthesamespeechsignalinputtothesameoperationasatestmodule,matchingwithreferencetoDTWalgorithmmodule,outputmatchingrecognitionresults.
Keywords:
DTWGUIEndpointdetectionMFCCDTW
目录
1前言 1
1.1语音识别的历史背景 1
1.1.1国外研究历史及现状 2
1.1.2国内研究历史及现状 3
1.2语音识别技术的应用及研究方向 4
1.3语音识别系统的基本构成 5
2语音信号的数字模型及采集 5
2.1概述 5
2.2语音的发音原理 5
2.2.1人的发声器官 5
2.2.2语音生成 7
2.3语音的听觉机理 8
2.3.1听觉器官 8
2.3.2耳蜗的信号处理原理 10
2.4MATLAB中的语音信号模型 11
2.4.1wavrecord函数 11
2.4.2wavplay函数 12
3语音信号的端点检测 12
3.1概述 12
3.2MATLAB的语音端点检测算法 15
3.2.1短时能量的计算 15
3.2.2过零率的计算 15
3.2.3端点检测的流程 17
4语音信号非线性预测分析 18
4.1概述 18
4.2MFCC的基本原理 19
4.3实验结果 20
5特定人语音识别算法-DTW算法 20
5.1DTW算法原理 20
5.2DTW算法流程及实验结果 23
5.2.1算法流程 23
5.2.2实验结果 23
6GUI设计 25
6.1概述 25
6.2GUI界面的打开 25
6.3作品演示 27
7结论 28
参考文献 29
附录 30
附录A语音识别主函数 30
致谢 36
本科生毕业设计成绩评定表
I
1前言
语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。
随着人类步入信息社会步伐的加快,越来越多的地方需要用到语音信号处理的知识。
而MATLAB作为一个语音信号处理的平台,是一个高性能的科学计算软件,广泛应用于数学计算、算法开发、数学建模、系统仿真、数据分析处理及可视化、科学和工程绘图、应用系统开发(包括建立用户界面)等。
其语言是一种简单、高效、功能极强的高级语言,具有强大的矩阵运算能力和极高的编程效率,这一方面使得MATLAB程序可以被高度向量化,另一方面使得程序易读易写。
本设计主要围绕着MATLAB平台进行语音信号的录制及预处理,提取特征参数,建立两种模块,一组为参考模块,一组为测试模块,然后通过DTW算法进行匹配,算出匹配结果。
主要通过用户开发界面直观地呈现出来。
1.1语音识别的历史背景
早在计算机发明之前,自动语音识别的设想就已经被提上了议事日程,早期的声码器可被视作语音识别及合成的雏形。
而1920年代生产的"Radio Rex"玩具狗可能是最早的语音识别器,当这只狗的名字被呼唤的时候,它能够从底座上弹出来。
最早的基于电子计算机的语音识别系统是由AT&T贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。
其识别方法是跟踪语音中的共振峰。
该系统得到了98%的正确率。
到1950年代末,伦敦学院(Colledge of London)的Denes已经将语法概率加入语音识别中。
1960年代,人工神经网络被引入了语音识别。
这一时代的两大突破是线性预测编码Linear Predictive Coding (LPC),及动态时间弯折Dynamic Time Warp(DTW)技术。
语音识别技术的最重大突破是隐含马尔科夫模型Hidden Markov Model(HMM)的应用。
从Baum提出相关数学推理,经过Labiner等人的研究,卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。
此后严格来说语音识别技术并没有脱离HMM框架。
尽管多年来研究人员一直尝试将“听写机”推广,但是语音识别技术在目前还无法支持无限领域,无限说话人的听写机应用。
1.1.1国外研究历史及现状
国外的语音识别的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英