毕业设计(论文)-基于DTW语音信号分析算法设计与实现.docx_第1页
毕业设计(论文)-基于DTW语音信号分析算法设计与实现.docx_第2页
毕业设计(论文)-基于DTW语音信号分析算法设计与实现.docx_第3页
毕业设计(论文)-基于DTW语音信号分析算法设计与实现.docx_第4页
毕业设计(论文)-基于DTW语音信号分析算法设计与实现.docx_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州航空工业管理学院毕 业 论 文(设 计) 2016 届 电子信息工程 专业 1213081 班级 题 目 基于DTW语音信号分析算法设计与实现姓 名 学 号 指导教师 陈 宇 职 称 副教授 二一 六 年 五 月 十六 日24摘 要随着科技和人们对生活需求的不断提高,语音信号分析越来越受到人们的重视,生活中运用语音信号的现象随处可见,大到计算机的语音识别小到人们运用手机之间的沟通交流,总之我们越来越离不开语音信号的分析和处理技术。这次的毕业设计就是在今天已经趋于成熟的语音信号分析的基础之上,设计一个简单的语音信号识别系统。设计流程大致分为三个部分:1.将预先录制好的0-9的WAV格式的语音信号存入模板库中;2.然后提取输入语音信号的特征值,进行动态规整后与模板库的 语音信号进行匹配;3.与模板库里面的标准语音作比较后将识别结果显示出来。 本论文的创新点在于:1、本文是在基于DTW算法基础上改进后对语音信号进行信号分析处理的;2、语音信号特征参数值利用较为理想的MFCC(梅尔频率倒频谱)提取。关 键 词语音识别;DTW算法;MFCC系数;端点检测Design and Implementation of speech signal analysis algorithm Based on DTW Author: Tutor: CHEN Yu Associate professorAbstractWith the improvement of technology and the demands of life, speech signal analysis by more and more peoples attention, using speech signal can be seen everywhere in life, big to small computer speech recognition to the communication between people using their cell phones, in short, we have become increasingly inseparable from the speech signal analysis and processing techniques.The graduation is today mature distraction of speech signal based on the design of a simple speech recognition system. Design process can be divided into three parts: Prerecorded 0-9 WAV format audio signals stored in template gallery; Then enter the speech signal feature extraction and dynamic structured and template library of the voice signal matching; And template repository of standard speech after comparing recognition results are displayed.The innovation of this paper: This article is based on based on improved DTW algorithms for signal analysis and processing of the speech signal; speech feature parameter extraction is worth using an ideal MFCC (Mel-frequency cestrum) obtained.Key WordsSpeech recognition; DTW algorithm; MFCC parameter; endpoint detection目 录第一章 绪论11.1语音识别的发展11.2语音识别的概念21.3语音识别的应用2第二章 语音信号识别系统4第三章 语音识别的预处理和特征提取53.1预处理53.1.1预滤波53.1.2预加重63.1.3加窗63.1.4端点检测73.2 特征值的提取12第四章 基于DTW的语音识别算法原理154.1 DTW的原理154.2 DTW的不足之处174.3 DTW的改进17第五章 基于DTW的语音识别设计195.1 模块划分与实现195.2特征值的提取模块195.3仿真结果20第六章 总结22致谢23参考文献24基于DTW语音信号分析算法设计与实现学号:121308123 作者:宋厅华 指导教师:陈宇 职称:副教授第一章 绪论1.1语音识别的发展语音识别是一门交叉学科,近年来语音识别技术取得了很大的进步并逐渐走进了人们的日常生活当中,比如我们手机上一些软件的语音登陆,微软win10中加入的Cortana语音识别功能等。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。简单的来说就是让计算机能够听懂人在说什么并能迅速做出相应的反应。语音识别技术主要包括特征提取、模式训练、模式匹配准则三个方面的技术。语音识别最早出现在十九世纪六十年代,随后研究出了世界上第一个计算机语音识别系统。七十年代后随着小词汇量、孤立词的识别技术方面得到了实质性的进展,大规模的语音识别研究逐步开始兴起。八十年代后研究方向开始转向大词汇和非特定人的连续语音识别,研究思路也开始从传统的标准模板匹配逐步转向基于统计模型(HMM)的匹配,此外还提出了将神经网络引入语音识别的思路。九十年代后语音识别的重点开始转向自然语言的识别、航空旅行信息的搜索,与此同时语音识别技术也不断应用于电话通信网络,以及自助语音服务。二十世纪初,人机语音交流开始成为语音识别研究的焦点。 我国的语音识别技术最早出现于1958年中科院的10个元音的电子管电路识别。十九世纪七十年代才开始计算机的语音识别,进入八十年代我国的在语音识别方面取得了一定的发展。伴随着863计划的启动,语音识别开始由智能计算机系统研究的重要的组成部分逐步转入专门研究课题。此计划的支持使我国的语音识别技术开始进入了一个以前从未有过的发展高度。迄今为止国内很多实验部门都成功研制出许多各具特色语音识别系统。1.2语音识别的概念语音识别就是将人们发出的语音信号转换成相应的计算机的内部指令。语音识别技术以语音为识别对象,它是语音信号处理技术的一个主要方向,模式识别的重要的分支,这项技术被广泛运用于各个领域当中。1.3语音识别的应用语音识别应用于商务系统、电信、医疗、制造业等多种领域。生活中常用到的有:1.语音搜索:例如我们拨打10086查询信息时的自助语音客服系统。现在很多产品的售后服务也逐渐采用语音搜索功能,这能大大节省了人力资源。2.听歌识曲:当我们听到一首动听的音乐却不知道歌曲的名字时,以前我们总是通过搜索歌词的方式来锁定歌曲,现在很多手机听歌识曲的软件就可以帮我们解决问题。常用的有华为音乐APP的听歌识曲功能、微信摇一摇搜歌等。3.语音控制:出于对安全性能的考虑,现在很多汽车上都配有语音拨号功能,这样可以在通话时解放双手,在一定的程度上提高了安全性能。4.家电控制:现在很多家电都逐步走向智能化,很多语音识别的技术在此方面随处可见,例如前些时间乐视推出了属于自己品牌的乐视智能电视,人们可以通过语音来开启或者关闭电视机。第二章 语音信号识别系统语音识别系统如图2-1所示,输入的语音信号要经过以下几个过程:1. 首先语音信号要经过预处理过程。预处理的过程包括预滤波,采样,量化,分帧,预加重,端点处理等过程2. 提取特征值。在训练过程中将特征值进行一定的预处理后每一个词条得到一个模型并将其保存为模板库。在识别过程中输入语音信号经过同样的预处理得到特征值3. 将生成的测试模板与标准模板进行比较,将识别度最高的标准模板作为测试结果。系统流程图如图2-1所示。语音输入预处理特征提取测试估计模板库识别决策专家知识失真测试识别结果识别训练 图2-1 语音信号识别系统第三章 语音识别的预处理和特征提取3.1预处理由于采用量化后的语音信号具有不稳定性,且采用过程中会产生大量的信息冗余,所以量化而来的语音信号不能直接输入语音识别系统进行识别。为了将语音信号输入到语音识别系统就必须对信号进行一定的预处理。预处理过程的作用有:1. 不仅可以减少信息冗余度2. 还能够提取有用信息3. 并增强语音识别系统的稳定性。语音信号的预处理包括预滤波,预加重,加窗、端点检测等过程。3.1.1预滤波 预滤波的作用是为了滤除高频杂波。根据奈奎斯特定理可知高于采样频率1/2的信号经过A/D转换后会产生失真,所以要进行预滤波处理。若采样频率不满足采样定理,则会产生频谱混叠现象,此时信号中的高频部分将会失真。因此,预滤波是一个带通滤波器,其下截止频率应 50Hz,上截止频率根据采用频率来设定。3.1.2预加重由于语音信号的功率谱随着频率的增加而减少,能量主要集中在信号的低频部分,由此造成的是信号高频部分的信噪比较低,因此人们发出的信号语音在频率800Hz时会以6dB每分频产生衰减,既所求频谱的频率越高信号幅度越小。这种现象的存在使得高频部分的语音信号的频谱信息比低频部分的语音信号频谱更难求的,对于语音识别来说这种现象对语音识别系统来说是很不利的,为了抵消这样不希望看到的现象,就必须采取预加重的处理措施,这样可以使得语音信号的频谱趋于平坦,使其动态范围得以减小。预加重过程一般是通过滤波器来完成的。滤波器的传输函数为:H (Z)HZ=1-Z-1Xnyn其中是预加重系数,其取值一般在0900 0970范围之间。y(n)=x(n)-x(n1)3.1.3加窗语音信号属于非平稳信号。语音信号的特点是随着时间而不断变化的。但从微观上来说语音信号在0.010.03s内其特性保持不变,即在一个很短的时间内保持相对稳定,因此可以将这个时间内的语音信号视为平稳信号,而平稳信号研究起来较容易,所以可以通过加窗函数的方式将非平稳信号转化成平稳信号来近似计算。常见的窗函数类型有:矩形窗,海明窗、汉宁窗等。(1)矩形窗 wn=1 1nN-10 其他(2)汉明窗 wn=0.54-0.46cos2nN-1 0nN-10 其他(3)汉宁窗 wn=0.51-cos2nN-1 0nN-10 其他窗函数的类型不同所得语音信号的平均能量也不同。矩形窗的时域谱平滑但是波形细节易丢失,而汉明窗则可以客服频谱的泄露现象而且具有平滑低通性,因此在语音信号的时域分析中时一般选择矩形窗而在频谱分析中时一般选择汉明窗。此次在MATLAB实现语音信号的分析时选择的是汉明窗。假设x(n)为原始的语音信号信号,w(n)为窗函数类型,y(n)为经过加窗过程处理后的语音信号。y(n)则可以表示成:Yn=xnwn (1)3.1.4端点检测端点检测的作用是准确的从包含语音信号的一段信号中识别出语音信号的起始和终止点,并将非语音和语音信号通过此过程区分出来。端点检测的意义:1.数据语音识别系中数据的采集量会减少,系统的计算时间会大幅度的降低。2.去除无声或者是噪声信号的干扰,提高语音识别系统的性能。端点检测时语音信号中的一个重要方面。 本论文中端点检测运用的是基于短时能量和过零频的方法,该方法在开始进行端点检测之前,首先根据短时能量、过零率来确定两个门限:1.其中一个门限的值比较低。由于其数值比较小,所以对信号的变化比较敏感,因此很容易就就会被超过。2.另一个门限的值相对来说比较高。因此信号必须达到一定的强度,这样该门限才可能会被超越。 短时能量语音段的信号能量相对于噪声能量来说比较大,所以两者可从能量的角度来加以区别。语音信号的能量包含两个部分,既噪声能量和信号能量。短时能量的定义为: En=m=0N-1Xn2m (2) 其中为窗函数中所取出的第n段短时语音,N为窗函数中所分的帧的长度。由于公式中平方的出现使得能量En存在对高电平十分敏感的缺陷,所以很多场合都会用下列公式替代:En=m=0N-1 | Xnm | (3) 这样就避免了大采样值和小采样值出现很大差异的情况。此文中N的取值为256。短时过零频在一帧语音信号的时域波形中通过横轴零电平的次数被定义为短时过零频。因为语音信号中的高频语音段有高的过零频,低的语音段有低的过零频,因此它可以用来区别清浊音。语音信号的短时过零频的定义为: (4)sgnx=1 x0-1 x0 (5)清音能量主要集中在高频上,其平均过零频要高于浊音,所以它可以用来区分清浊音和无声。下图是00.wav的语音信号通过MATLAB所绘出的语音信号波形以及其语音信号的起始和结束的波形图的波形图(如图3-1-1),和语音信号的波形图以及其短时能量图和过零频波形(如图3-1-2)。 图3-1-1 语音信号、语音起始、语音结束波形 图3-1-2语音信号 短时过零频、短时能量波形开始检测之前需要分设定三个门限,既为高门限、过零频设置门限、低门限。整个语音的端点检测有四个部分:静音段和过渡段、语音段和结束段。1.静音段:检测的能量参数值未达到门限时的状态即为静音段。2.过渡段:静音段的能量过了它的低门限或者是过零频超过其设定的门限,系统将默认为已经进入了端点检测的过渡段。3.语音段:过渡段的参数值较小不能确定其是否已经进入了端点检测的语音段,进入语音段的标准是:系统所提取的两个参数至少的其中一个能够超越所设定高门限的值。4.结束段:系统提取出的参数值降低到低门限时,则认为其已经进入了端点检测的结束段。与此同时可能引起端点误判的原因有两个,其一是噪声所引起的,其二是语音中字与字之间的间隙所引起。端点检测中的三个门限的设定十分重要,其好坏直接会影响端点检测的结果,目前门限的设定没有特定的方式,不同的情况需要做不同的调整。下图3-1-3是00.WAV语音的端点检测结果以及有声段的能量谱和过零频谱,红线之间的部分是所检测出来的有声语音段。图3-1-3 语音信号、短时过零率谱、短时能量谱3.2 特征值的提取特征参数提取就是要从原始语音信号中所提取出所能反映语音信号本质的特征参数,其目的是得到有助于语音识别的重要信息去除多余的信息冗余。语音信号识别系统对特征值一曲的依赖性很高,不同的提取方式和提取特征参数的不同都会对系统产生很大的影响,语音识别过程中特征参数提取要求如下:1.能清晰准确的反映出语音信号中所携带的信息量,还要和其他不同的语音信号有很大的区分度。2.特征参数之间具有相互独立性。3.易于计算,且能在不影响系统识别的条件下采取最有效的提取方法,确保语音信号的实时性能。特征参数有时域参数和频域参数两大类。1.时域参数:包括短时平均能量、短时过零频率、基音周期等。短时平均能量和短时过零频主要运用于端点的检测而基音周期主要运用于清浊音及汉字的音调区分上。2.频域参数:包括滤波器的平均谱、离散傅里叶变换频谱、幅度、频率、带宽以及倒谱。(本文中用的是基于Mel频率弯曲的倒谱即MFCC)MFCC(梅尔频率倒频谱)是特征参数提取中运用较广的方法,此方法考虑了人耳对不同频率的语音感受程度的不同,因此非常适合语音识别系统,它能综合分析语音信号从而能够计算出一种较为理想的特征参数。 MFCC的系数计算以bark作为基准频率,它与线性频率的转换满足:fmel=2595lg1+fHz700 (6) 其系数是以帧为单位计算的,mel频谱的计算过程分为两个过程:1首先将语音信号通过快速傅里叶变换计算出每帧信号的功率谱2.将得到的功率谱转换成Mel下的功率谱计算之前首先要在语音信号的频率范围内设置带通滤波器组。Hmn , m=0 , 1 , , M-1 , n=0 , 1 , , N2-1M为带通滤波器组中滤波器的个数,其值通常取24。N为一帧语音信号的采样点的个数,为了方便快速傅里叶变换通常取256。该带通滤波器组的每个滤波器在时域上都为简单三角形,中心频率为fm,其在梅尔频率上是服从均匀分布的,但线性频谱却呈现出另一种规律。该滤波器组的计算公式为:Hm(n) 0 nfm-1 ,nfm+1n-fm-1fm-fm-1 fm-1nfmfm+1-nfm+1-fm fmnfm+1下(图3-2-1)是包含24个滤波器的Mel尺度滤波器组。语音信号帧长的取值为256,采样频率的取值为8000Hz。图3-2-1 mel尺度滤波器组MFCC系数的计算过程如(图3-2-2)预处理| |2Mel滤波器组LogDCT语音信号MFCC系数 图3-2-2 MFCC系数计算第四章 基于DTW的语音识别算法原理语音信号预处理和特征值提取结束后,后续的工作就是语音识别,目前常用到的语音识别方法有:1.动态时间规则(DTW)的语音识别方法2.隐马尔科夫模型(HMM)的语音识别方法3.矢量量化的语音识别方法4.混合技术的语音识别方法等。此次设计中采用的是动态时间规则(DTW)的方法。4.1 DTW的原理无论是建立模板、训练阶段、识别阶段,首先需要做的就是确定语音信号的起点和终点。参考模板一般由存入模板库的一系列词条构成,其通常的表达形式为:R=R1 , R2 , ,Rm, , R(M)m为训练语音的序号,取值为R(1)时表示起始语音帧,取值为R(M)时表示为结束语音帧,第m帧训练语音的特征矢量表示为R(m)。需要识别的输入语音为训练语音,其表示形式为: T=T1,T2, ,TN测试语音的起始帧一般用T(1)表示,测试语音的终点帧一般用T(N)表示,第n帧测试语音的特征矢量表示为T(n)。测试和参考模板一般采用同类型的特征矢量、同帧长、同帧移、同窗函数。 训练语音和测试语音模板两者之间的距离通常用D T R来表示,这个距离一般被形容成相似度:距离越小则说明相似度越高。在DTW算法中常采用欧式距离来表示两者之间的相似度。由于语音信号在不同的情况下的持续时间会产生不同的变化,而动态规划却能够很好的解决这个问题,因此多采用此方法。以测试模板的帧为横轴(n)参考模板的帧为纵轴(m),横轴坐标轴则会形成一个网络,(m n)表示测试模板帧的交汇点。DP算法就是寻求一条通过该网络的路径,路径通过的格点为横纵轴的交点(m n)。根据语音信号发音的快慢变化的不同路径的选择是不同的,但是不论路径怎么变化都必须是从左下角出发到右上角结束。(n m) = (n+1 m)(n m) = (n+1 m+1)(n m) = (n m+1) 设路径为n1 , m1) , ,ni , mi , , ( nN , mM),为使路径不过于倾斜,通常将路径斜率角度的斜率一般在取(0.5-0.2)之间的某个值。若此路径通过点(n m),则下一个点的出现的位置只有三种情况:路径搜索从(n m)点出发,展开一系列满足一定条件的路径,并计算出每条到达(n m)点路径的叠加距离,距离最小的则为最佳路径。路径的累加距离公式为:D n ,m =dTn,R(m)+minDn+1,m,Dn+1,m+1,D(n,m+1)根据此公式从起始点(1 1)搜索(n m),对每一个(n m)都存储其相应的距离,该距离为当前格点与前一累计距离最小的格点。在搜索到点(n m)的一系列路径中只保留一条最佳的路径。倘若有必要的话可以通过逐点向前寻找得到整条路径,这便是DTW算法。4.2 DTW的不足之处1运算量大。由于最佳匹配点的寻找不是只考虑一种情况,而是需要考虑情况有很多种,虽然一些限制条件使得的运算量有了相对的减少,但运算量相比来说还是很大,因此识别速度变慢。2.识别的性能太依赖端点检测。端点检测的精度与检测音素有关,而检测音素的检测精度会所不同,因此识别率相对不同。3.没有充分利用语音信号的时序动态信息。4.3 DTW的改进由于对端点检测精度的灵敏度是DTW算法的严重缺陷,因此解决方案有两种:1.从DTW算法的本身入手2.从DTW算法的外界着手能相对精确的检测语音信号的端点,本文通过对短时窗函数以及窗的长度所提出的一种能够比较精确的检测方法。窗的长度越小越能够比较精确的检测语音信号的端点,但是运算量变大和识别速度也会随之而变慢,与此同时会有一些短时脉冲被误认为噪声而产生识别上的错误。窗的长度越长语音信号处理的速度越快、但是却会跳过一些短时噪声,大检测时误差会增加,这对DTW算法对端点十分敏感的特点是致命的。因此窗的长度一般取比较合适的中间值,这样可以综合两者的优缺点,相对精度的计算检测端点。第五章 基于DTW的语音识别设计5.1 模块划分与实现本文设计的基于DTW的语音识别系统由以下模块组成:1.录音模块,将测试语音信号转换数字信号并存储到计算机。本论文的语音是windows中的录音程序录制的WAV格式,在MATLAB的实现环境中使用wavrecord函数输入。2.预处理模块,该模块包括预加重、分帧、加窗、端点检测几个过程本文所用的高通滤波器为: Hz=1-z-1 (7)其中的取值为0.9375。为简化语音进行分帧处理过程,得到一系列的短时语音帧,每帧都能看成一个随机信号,每帧语音信号的采样点数为8000个。加窗函数时采用的汉明窗,端点检测采用双门限法,计算语音信号的短时能量、平均过零率、并确定语音信号的起始点为后续特征值提取作铺垫。5.2特征值的提取模块本论文中该模块集成了求语音信号的多种时域和频域参数的功能,主要是实现语音信号的特征值提取。本文在MATLAB中根据MEL倒频谱系数MFCC提取算法,分帧计算测试语音数据的MFCC系数。其流程框如图5-1: 开始预加重分频变换梅尔滤波器系数到尾帧LOGDCT结束计算功率值得到参数NY图5-1 mfcc系数流程5.3仿真结果该语音识别系统中所包含的文件如所示 :图5-1 系统文件1. 在文件train中包含着0-9的训练语音,语音识别系统通过对该文件内的语音信号进行识别和特征值提取,将所得到的参数值存入相应的模板库中,作为测试语音比较的依据。2. 测试语音保存在以test命名的文件夹中,录入的语音信号分别以相应的数字为首字母便于区分和识别。3. 端点检测程序包含在以vad命名的m文件中,该段程序通过输入语音信号的采样绘出了语音信号的波形、语音信号的起始和结束出的放大波形、短时能量频谱图、短时过零率频谱图。4. 以mfcc命名的m文件为MFCC系数计算程序,该程序将采样后的语音信号通过一个MEL滤波器组5. 以mfcc命名的mat文件中存储着从训练语音信号中提取的特征值参数,作为测试用的模板。6. 以DTW命名的m文件为动态时间规整(DTW)的实现程序。7. 以dtwtest命名的m文件为语音实现的识别程序,它将系统中的各个模块连接起来,完成对语音信号的识别,并显示出测试结果。8. 程序运行结果如下图5-2:图5-2 程序运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论