基于matlab的语音识别dtw算法设计.doc

上传人:F****n 文档编号:98877908 上传时间:2019-09-15 格式:DOC 页数:29 大小:519.50KB
返回 下载 相关 举报
基于matlab的语音识别dtw算法设计.doc_第1页
第1页 / 共29页
基于matlab的语音识别dtw算法设计.doc_第2页
第2页 / 共29页
基于matlab的语音识别dtw算法设计.doc_第3页
第3页 / 共29页
基于matlab的语音识别dtw算法设计.doc_第4页
第4页 / 共29页
基于matlab的语音识别dtw算法设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于matlab的语音识别dtw算法设计.doc》由会员分享,可在线阅读,更多相关《基于matlab的语音识别dtw算法设计.doc(29页珍藏版)》请在金锄头文库上搜索。

1、目录1概述21.1研究的目的和意义21.2国内外发展状况21.2.1国外研究历史及现状31.2.3国内研究历史及现状42语音识别系统的概述43 MATLAB中的语音信号的采集43.1 wavrecord函数43.2 wavplay函数64语音信号的端点检测64.1语音信号端点检测的流程64.1.1短时能量84.1.2过零率的计算94.1.3双门限端点检测115语音识别参数提取125.1 MFCC的基本原理126特定人语音识别算法-DTW算法136.1DTW算法原理146.2DTW算法流程及实验结果167 GUI界面的设计177.1图形用户界面设计工具的启动177.3测试与分析18总结20致谢2

2、1参考文献22附件23村民建房委员会应建立村级农房建设质量安全监督制度和巡查制度,选聘有责任心和具有一定施工技术常识的村民作为义务巡查监督员,开展经常性的巡查和督查。基于MATLAB的特定人语音识别算法设计摘要在高度发达的社会,语言是一种人类交流最方便的,最速度的信息,在高度发达的社会中,用数字化的方式举行语音的保存、传递、判别、加强和合成等是全部数字化通信过程中最基础、最重要的组成的一部分。由于人类进入信息社会节奏加快, 语音信号处理方面的知识被越来越多的地方需要。本设计主要在MATLAB平台下先语音信号的端点检测、预处理,然后提取特征参数,建立两个模块,一个为参考模块,一个为测试模块,然后

3、通过动态时间归整技术(DTW)算法进行匹配,算出匹配结果。最后在用户开发界面(GUI界面)直观地呈现出来。本次设计录制010的数字做为参考库(model),测试库(test)中为需要测试及识别的语音,0的序号为11,19的数字以相应数字做为文件名的命名。关键词:端点检测; MFCC特征提取;语音识别;DTW算法1概述1.1研究的目的和意义随着计算机技术和科技成果的的飞速发展,人们早已不再满足于让计算机做一些简单的科学计算和运算,而是向它提出了更高的要求,即要求我们的计算机向智能化方向发展,于是人们便开始了第五代计算机(即智能计算机)的研究。计算机人工智能方面的研究内容有很多,诸如计算机知识处理

4、、专家系统、视觉、计算机语音等。其中人机自然语言的接口是一个非常重要的部分。它要求人工智能计算机能说会听,应此要求出现了语音识别和语音合成两门学科。语音识别是人机通信的关键技术之一,也是一种最为理想的人机通信方式。 对于许多应用来说,一个语音识别系统只要一组词汇或命令就能为用户提供一个有效的工具,因此简单有效的特定人语音识别系统就能满足要求。同时特定人语音识别系统具有广阔的应用前景,比如工业命令控制、计算机控制、家庭电器服务、个人移动通信呼叫等,尤其当人手已被占用或无法使用的情况下必须进行声音控制时,更可以起到不可替代的作用,这项技术将给人们的日常生活带来极大的便利。1.2国内外发展状况1.2

5、.1国外研究历史及现状国外的语音识别方面的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。但是真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初。这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。实验室语音识别研究的巨大突破产生于20世纪80年代末:人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型

6、的是卡耐基梅隆大学(CarnegieMellonUniversity)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。这一时期,语音识别研究进一步走向深入,其显著特征是隐马尔可夫模型(HMM)模型和人工神经元网络(ANN)在语音识别中的成功应用。HMM模型的广泛应用应归功于AT&TBell实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。20世纪90年代前期,许多著名的大公司如IBM、苹果、AT&T和NTT都对语音识别系统的实用化研究投以巨资。语音识别技术有一个很好的评估机制

7、,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。比较有代表性的是:IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。其中IBM公司于1997年开发出汉语ViaVoice语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaVoice98。它带有一个32,000词的基本词汇表,可以扩展到65,000词,还包括办公常用词条,具有“纠错机制”,其平均识

8、别率可以达到95%。该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音识别系统。1.2.3国内研究历史及现状我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室逐步走向实用。从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。我国语音识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8%(不定长数字串)和96.8%(定长数字串)。在有5%的拒识

9、率情况下,系统识别率可以达到96.9%(不定长数字串)和98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。研发的5000词邮包校核非特定人连续语音识别系统的识别率达到98.73%,前三选识别率达99.96%;并且可以识别普通话与四川话两种语言,达到实用要求。中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。2语音识别系统的概述语音识别系统的总体结构框图如图2-1所示。从图中可以看出语音识别系统的本质就是

10、一种模式识别系统,它也包括特征提取、模式匹配、参考模式库等基本单元。由于语音信号是一种典型的非平稳信号,加之呼吸气流、外部噪音、电流干扰等使得语音信号不能直接用于提取特征,而要进行前期的预处理。首先通过语音的录制作为输入信号,输入的模拟语音信号要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等等。经过预处理后,接下来就是重要的一环:特征参数提取,在训练阶段,将特征参数进行一定的处理之后,为每个词得到一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。训练识别参考 模块识别结果语音输入预处理特

11、征提取测度估计模板库识别决策专家知识图2.1 语音识别总体架构3 MATLAB中的语音信号的采集语音信号的采集也可以使用Windows中的“录音机”录制成.wav格式。而在MATLAB环境中语音信号的采集可使用wavrecord函数录制,然后使用wavread函数读入,wavplay函数播放,uiputfile函数保存。3.1 wavrecord函数wavrecord的用法:y = wavrecord(n,Fs);y = wavrecord(n,Fs,ch);其中n为样本个数,Fs为频率,默认值为11025,本设计采用16000,ch为通道数,默认为1,若为2,则表示采样为双声道立体声数据,本

12、设计ch为1Audiorecorder函数也可以用来录制音频,但在本次设计的操作上,通常采用的语音格式以wav格式为主,在保存语音上,uiputfile能更好的与wavrecord相结合,所以用wavrecord比较好。3.2 wavplay函数wavplay函数的用法:wavplay(y,Fs)其中y为输入信号,Fs为频率sound函数与soundsc函数也可以用来播放音频,虽然它们可以在任何操作系统平台上使用,而wavplay只支持Windows平台。但因为在语音识别中,我们通常采用的语音格式为wav格式,而wavplay函数与wavrecord函数的配合能更好的操作运行起来,两者结合共同

13、使用。举个例子:Fs=16000;y=wavrecord(5*Fs,Fs,int16);wavplay(y,Fs);该段代码意思为:通过Windows的录音设备以16000Hz的采样频率录制5秒的数据,采样精度为16位,存储格式为int16;随后通过Windows的音频设备进行播放, 如图3-1所示为采集到的信号波形图。图3-1 语音信号波形 在MATLAB平台处理语音信号时,可以通过wavplay函数回放录制好了的语音,次函数具有快速检验数据和计算可靠性。但是在录音的时候,wavrecord函数有很大的局限性,在录制语音的时候必须事先制定语音的时间。如果在指定的时间内用户没有说话,就会漏掉全

14、部或部分的语音数据,操作起来不方便。并且,在一个语音识别系统中,程序会自动判断当前是用户在说话还是静音,如果检测用户有发出语音,那么就会保存该段语音,然后将删除掉头部和尾部的静音部分,这一功能被称为语音信号的端点检测。4语音信号的端点检测无论是测试和建立模板阶段还是在识别阶段,都先采用端点检测算法确定语音的起点和终点。语音端点检测是指用计算机数字处理技术从包含语音的一段信号中找出起始点及结束点,从而只存储和处理有效语音信号。语音端点检测是语音分析和识别中的一个重要环节,其算法的优劣在某种程度上也直接决定了整个语音识别系统的优劣。4.1语音信号端点检测的流程语音信号输入设置短时能量高、低门限设置

15、短时过零率高、低门限计算过零率计算短时能量进入状态status开始检测调整能量门限归一化语音端点检测流程如图4-1所示。图4-1端点检测算法流程图(1)归一化:为了后面处理方便,通常将读取的语音信号进行归一化到-1,1(2)短时能量的作用: 可以较好地区分出浊音和静音。(3)短时过零的作用:检测清音。由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音;短时过零率则可以从语音中区分出静音和清音(如“S”、“C”)(4)高低门限的作用:检测之前,先为短时能量和过零率分别确定两个门限。一个是比较低的门限,其数值比较小,对信号的变化能够敏感,很容易就会被超过;而另一个是比较高的门限,数值要求比较大,信号要达到一定的强度,该门限才可能被超过。不过,低门限被超过未必就是语音的开始,有可能是时间很短的噪声引起的。高门限被超过的话则可以基本确定是由于语音信号引起的。在了解语音信号的端点检测之前,我们先来了解一下语音信号的特征,如图4-2可以看到,信号在大致0.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号