基音周期检测算法比较.doc

上传人:文库蛋蛋多 文档编号:4139643 上传时间:2023-04-07 格式:DOC 页数:33 大小:1.30MB
返回 下载 相关 举报
基音周期检测算法比较.doc_第1页
第1页 / 共33页
基音周期检测算法比较.doc_第2页
第2页 / 共33页
基音周期检测算法比较.doc_第3页
第3页 / 共33页
基音周期检测算法比较.doc_第4页
第4页 / 共33页
基音周期检测算法比较.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《基音周期检测算法比较.doc》由会员分享,可在线阅读,更多相关《基音周期检测算法比较.doc(33页珍藏版)》请在三一办公上搜索。

1、本科毕业论文题 目 语音基音周期检测算法比较 学 院 管理科学与工程学院 专 业 电子信息工程 班 级 081信工(1)班 学 号 200883082 姓 名 周刚 指导老师 段凯宇 讲师 二一二 年 六 月语音基音周期检测算法比较摘要基音周期作为语音信号处理中描述激励源的重要参数之一,广泛的应用于语音合成、语音编码和语音识别等语音信号处理等技术领域。准确可靠的对基音周期进行检测将直接影响整个语音处理系统的性能。常用的基音检测算法对于纯净语音信号都能达到较好的检测效果。然而,实际当中的语音信号不可避免的会受到外界背景噪音的影响,使得这些检测算法的检测效果都不是很理想,为此本文用两种基本算法对语

2、音信号滤波前后进行基音周期检测,在进行比较。论文首先介绍了语音基音检测算法的研究背景极其重要意义。其次对现有的基音检测算法进行了归纳和总结,并详细的介绍本文将用的两种基本基音检测算法的基本原理及实现。最后在Matlab上对语音信号进行基音周期检测。论文还完成了算法的程序设计,在Matlab7.0仿真环境下,对上诉算法进行仿真验证,并且在滤波前后做了对比实验。实验结果表明,经过滤波的语音信号基音周期检测的更加准确。关键词:基音检测;自相关函数法;平均幅度差函数法;基音轨迹AbstractPitch as in speech signal processing is one of the impo

3、rtant parameters to describe the excitation source, widely used in speech synthesis, speech coding and speech recognition speech signal processing technology. Accurate pitch period detection will directly affect the performance of the speech processing system.Commonly used algorithm for pitch detect

4、ion for clean speech signal to achieve good detection effect. However, the actual speech signal will be inevitably influenced by external effects of background noise, so the detection algorithm to detect the effect is not very ideal, the paper use two basic algorithms before and after filtering the

5、speech signal pitch detection, in comparison.The thesis first introduces the research background of speech pitch detection algorithm is very important. Next to the existing algorithm for pitch detection are summarized, and a detailed introduction to this article will use the two kinds of basic pitch

6、 detection algorithm is the basic principle and realization. Finally in Matlab on speech signal pitch period detection.The paper also finished programming algorithm, in the Matlab7.0 simulation environment, the algorithm is validated by simulation, and the contrast experiments were done before and a

7、fter filtering. The experimental results show that, after the filtering of the speech signal pitch period detection is more accurate.Keywords: pitch detection; autocorrelation function; the average magnitude difference function method; pitch contrail目 录第1章 绪论 1 1.1 引言 1 1.2 基音检测的定义和意义 1 1.3 基音检测的研究现

8、状 2 1.4 论文的结构安排 3第2章 基音检测的常用算法 4 2.1 引言 4 2.1常用的基音检测算法及原理 4 2.2.1 自相关函数法 4 2.2.2 平均幅度差函数法 6 2.3本章小结 7第3章 基于Matlab基因周期的检测 9 3.1 语音文件的录制与读入 9 3.2 语音信号的采样与分帧 9 3.3 语音信号基音周期的检测 11 3.3.1 短时自相关函数法检测基音周期 11 3.3.2 短时平均幅度差函数法检测基音周期 12 3.4 基音周期检测的后处理 14 3.5 滤波后的基音周期检测 15 3.6 本章小结 18第4章 总结与展望 19参考文献 20致谢 21附录

9、22第1章 绪论1.1引言语音是语言的声学表现是人类相互之间进行信息交流时所用的重要载体和基本手段,随着现代信息科学技术的飞速发展,尤其是计算机网络技术的日益普及和完善,是的语音信号处理技术发挥着越来越重要的作用。目前,语音信号处理的一系列技术及其应用已经成为信息社会中不可或缺的重要组成部分,对促进信息社会的发转具有重要意义。语音信号处理是语音学的数字信号处理相结合而形成的一门综合性学科,包括语音合成、语音识别、语音编码和说话人识别等四大分支1。语音信号处理和认知科学、心理学、语言学、计算机科学、模式识别和人工智能等学科联系紧密。语音信号处理技术的发展依赖于这些学科的发展,而语音信号处理技术的

10、进步也会促进这些学科的发展2。在语音信号处理中,语音信号参数提取的准确性非常重要。只有获得准确的可表征语音信号本质特征的参数,才有可能利用这些参数进行高效的语音合成,语音识别以及语音压缩编码解码处理,其中基音周期的提取在语音信号众多参数提取中尤为重要,其提取的准确与否直接影响到合成语音是否真实再现原始语音信号的频谱3。1.2 基音检测的定义和意义人在发音时,根据声带是否震动可以将语音信号分为清音跟浊音两种。浊音又称有声语言,携带者语言中大部分的能量,浊音在时域上呈现出明显的周期性;而清音类似于白噪声,没有明显的周期性。发浊音时,气流通过声门使声带产生张弛震荡式振动,产生准周期的激励脉冲串。这种

11、声带振动的频率称为基音频率,相应的周期就成为基音周期4。通常,基音频率与个人声带的长短、薄厚、韧性、劲度和发音习惯等有关系,在很大程度上反应了个人的特征。此外,基音频率还跟随着人的性别、年龄不同而有所不同。一般来说,男性说话者的基音频率较低,大部分在70200Hz的范围内,而女性说话者和小孩的基音频率相对较高,在200450Hz之间。基音周期的估计称谓基音检测,基音检测的最终目的是为了找出和声带振动频率完全一致或尽可能相吻合的轨迹曲线。基因周期作为语音信号处理中描述激励源的重要参数之一,在语音合成、语音压缩编码、语音识别和说话人确认等领域都有着广泛而重要的问题,尤其对汉语更是如此。汉语是一种有

12、调语言,而基因周期的变化称为声调,声调对于汉语语音的理解极为重要。因为在汉语的相互交谈中,不但要凭借不同的元音、辅音来辨别这些字词的意义,还需要从不同的声调来区别它,也就是说声调具有辨义作用;另外,汉语中存在着多音字现象,同一个字的不同的语气或不同的词义下具有不同的声调。因此准确可靠地进行基音检测对汉语语音信号的处理显得尤为重要。1.3 基音检测的研究现状自进行语音信号分析研究以来,基音检测一直是一个重点研究的课题。尽管目前基音检测的方法有很多种,然而这些方法都有其局限性。迄今为止仍然没有一种检测方法能够适用不同的说话人、不同的要求和环境、究其原因,可归纳为如下几个方面5。1语音信号变化十分复

13、杂,声门激励的波形并不是完全的周期脉冲串,在语音的头、尾部并不具有声带振动那样的周期性,对于有些清浊音的过度帧很难判定其应属于周期性或非周期性,从而也就无法估计出基音周期。2声道共振峰有时会严重影响激励信号的谐波结构,使得想要从语音信号中去除声道影响,直接取出仅和声带振动有关的声源信息并不容易。3在浊音语音段很难对每个基因周期的开始和结束位置进行精确的判断,一方面因为语音信号本身是准周期的。另一方面因为语音信号的波形受共振峰、噪音等因素的影响。4在实际应用中,语音信号常常混有噪声,而噪声的存在对于基音检测算法的性能产生强烈影响。5基音频率变化范围大,从低音男声的70Hz到儿童女性的450Hz,

14、接近3个倍频程,给基因检测带来了一定的困难。尽管语音检测面临着很多困难,然而由于基因周期在语音信号处理领域的重要性,使得语音基因周期检测一直是不断研究改进的重要课题之一。数十年来,国内外众多学者对如何准确地从语音波形中提取出基因周期作出了不懈的努力,提出了多种有效的基音周期检测方法。我国基因检测方面的研究起步要比国外发达国家晚一点,但是进步很大,特别是对汉语的基音检测取得成果尤为突出。目前的基因检测算法大致可分为两大类:非基于事件检测方法和基于事件检测方法6,这里的事件是指声门闭合。非基于事件的检测方法主要有:自相关函数法7-10、平均幅度查函数法11,倒谱法1213,以及在以上算法基础上的一

15、些改进算法14-17。语音信号是一种典型的时变、非平稳信号,但是,由于语音的形成过程是发音器官的运动密切相关的,而这种物理运动比起声音振动速度来讲要缓慢得多,因此语音信号常常可假定为短时平稳的,即在短时间内,其频谱特性和某些物理特征参量可近似地看作是不变的,非基于事件的检测方法正是利用语音信号短时平稳性这一特点,先将语音信号分为长度一定的语音帧,然而对每一帧语音求基音周期。相比基于事件的基音周期检测方法来说,它的优点是算法简单,运算量小,然而从本质上说这些方法无法检测帧内基因周期的非平稳变化,检测精度不高。基于事件的检测方法是通过定位声门闭合时刻来对基因周期进行估计,而不需要对语音信号进行短时

16、平稳假设,主要有小波变换方法和Hilbert-Huang变换方法两种。在时域和频域上这两种方法又具有良好的局部特性,能够跟踪基因周期的变化,并可以将微小的基因周期变化检测出来,因此检测精度较高,但是计算量较大。1.4 论文的结构安排与论文的主要内容相对应,全文具体章节安排如下:第1章:首先简述语音信号处理以及基因周期检测的相关概念,其次对基音检测的背景研究意义、意义以及现状进行了说明,最后叙述了论文的结构安排。第2章:对对现有的基音检测算法进行归纳和总结,针对常用的两种检测算法,详细介绍其检测原理以及事先,并进行了优缺点分析。第3章:在matlab上对自相关函数法和平均幅度差函数法进行了实现,

17、对语音信号滤波前后的基音周期轨迹图进行了比较。第4章:对论文的主要内容进行了总结,对语音基因周期的检测算法进行了很好的展望。最后是参考文献、致谢、附录。第2章 基音检测的常用算法2.1 引言基音周期是语音信号的重要参数之一,准确而快速基音周期检测对语音信号的合成、编码、识别等具有重要意义。目前,基音检测的算法有很多种,常用的检测算法要有自相关函数法、平均幅度差函数法等。本章将详细的介绍这两种常用基音检测算法的基本原理。2.2 常用的基音检测算法及原理2.2.1 自相关函数法能量有限的语音信号的短时自相关函数定义为: (2.1)其中,为移位距离,是偶对称的窗函数。短时自相关函数有以下重要性质:如

18、果是周期信号,周期是,则也是周期信号,且周期相同,即。当=0时,自相关函数具有最大值;当处周期信号的自相关函数达到极大值。自相关函数是偶函数,即。短时自相关函数法基音检测的主要原理是利用短时自相关函数的第二条性质,通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么,两个信号具有最大类似性。在实际采用短时自相关函数法进行基音检测时,使用一个窗函数,窗不动,语音信号移动,这是经典的短时自相关函数法。窗口长度的选择至少要大于基音周期的两倍,越大,短时自相关函数波形的细节就越清楚,更有利于基音检测,但计算量较大,近年来由于高速数字信号处理器(DSP)的使用,从而

19、使得这一算法简单有效,而不再采用结构复杂的快速傅里叶变换法、递归计算法等;越小,误差越大,但计算量较小。图2-1 (a)原信号(b)自相关函数图2-2 (a)原信号(b)自相关函数基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。但通常情况下,基波分量往往不是最强的分量,丰富的谐波成分使语音信号的波形变得非常复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二次倍频或二次分频的情况。加之还有清浊混杂等情况,使基音检测成为一大难题。如图2-1(a)是一帧语音信号,2-1(b)是这

20、帧语音信号的自相关函数,可以看出自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,如图2-2(b)所示可以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭头所示)的影响,这就是上述缺点中所说的倍频现象。2.2.2 平均幅度差函数法语音信号的短时平均幅度差函数定义为: (2.2)其中,是窗函数,是一帧语音信号的长度,因为语音信号的浊音段具有周期性,我们假设基音周期为,则在浊音段,在处将出现谷点,谷点间的距离即为基音周期。实际应用中,窗函数和取矩形窗,这样可使短时平均幅度差函数的定义更简单。短时平均幅度差函数可以写成: (2.3)由于只需加法

21、、减法和取绝对值等计算,故算法简单,很易于硬件实现,从而使得短时平均幅度差函数法在基音检测中使用得相当普遍,著名的10阶线性预测声码器LPC-10声码器就采用AMDF法来进行基音周期的提取。研究表明:当在静音环境下或当噪声较小时,AMDF法可以取的较好的检测结果,但在语音环境较恶劣、信噪比较低时,检测的效果很差,难以让人满意。如图2-3(a)是一帧语音信号,2-3(b)是这帧语音信号的平均幅度差函数,可以看出平均幅度差函数在基音周期处表现为谷值,这些谷值之间的间隔的平均值就是所要求得基音周期。如图2-4(a)是在这帧语音信号中加入信噪比是2dB噪声后的波形,由图2-4(b)可以看出它的平均幅度

22、差函数中出现了很多谐波分量,基音峰值点基本淹没在这些谐波分量中,影响了基音周期的判断。图2-3 (a) 原信号(b) 平均幅度差函数图2-4 (a)加噪信号(b) 平均幅度差函数2.3 本章小结本章对常用基于ACF、AMDF的基音检测算法的基本原理进行了详细介绍,并进行了分析。两种算法对纯净的语音信号都能取得较好的检测精度但是由于语音信号的复杂多变,以及噪声等因素的影响,这些方法都有一定的局限性。基于语音信号短时平稳性,它们的优点是比较简单,主要应用于只需要平均基音周期作为参数的语音编解码,语音识别等。自相关函数法具有很好的抗噪性,但易受半频、倍频错误影响。平均幅度差函数法只需加法、减法和取绝

23、对值等计算,算法简单,运算量相比自相关函数法大为减少,易于硬件实现。 第3章 基于Matlab基因周期的检测3.1 语音文件的录制与读入1 利用windows附件中的录音机功能录制2-3秒的.wav语音文件,并以a为文件名保存到Matlab/work的文件夹中。a.打开 开始/程序/附件/娱乐/录音机;b.自已说话a的四个音调录音(按键),到2-3秒时停止(按键);c.将录制的文件加存为C:/Matlab/work中,文件名为a1.wav,a2.wav,a3.wav,a4.wav,采样频率选11.025KHz,16位,单声道; 2 打开Matlab并新建一.m文件;3 在.m文件中用y=wav

24、read(a1.wav)命令读入语音文件。3.2 语音信号的采样和分帧这里的“采样”是指从语音信号中选取一段样本,一般取样点数为帧长的整数倍。短时分析将语音分为一段一段来处理,每一段就称为一“帧”。分帧时需要对语音信号进行加窗操作,窗口长度的选择非常重要,窗口长度过短会使得分析窗内没有包含足够的数据点来进行周期判断,且短时能量变化剧烈;窗口长度过长,短时能量是一段长时间的平均,不但不能反映语音信号基频的细节变化部分,而且使得计算量增大。窗口长度至少要大于基音周期的两倍。一般窗长选为120-240点,分帧模块主要完成将取样模块中获得的语音样值点分为若干个语音帧。以a1.wav语音为例,在Matl

25、ab上进行语音的采样与分帧。打开Matlab并新建一.m文件,运行:x=wavread(a1.wav);%读取声音文件figure(1);stem(x,.); %显示声音信号的波形得到的波形如下:图3-1 a1原始语音波形对语音信号采样,通过matlab对语音文件“a1.wav”计算得知其语音长度为2.5秒,若采样频率为11KHz,共计27500个采样点。采样模块从采样频率为11KHz的语音信号中截取1秒到2秒这一时间段,取了11000个样点进行分析,取帧长为20ms,即每帧为220个样点值,共分为50帧。打开Matlab,运行:x=wavread(a1.wav);%读取声音文件x=x(110

26、01:22000);figure(1);stem(x,.); %显示声音信号的波形得到波形如下:图3-2 a1采样信号波形3.3 语音信号基音周期的检测3.3.1 短时自相关函数法检测基音周期对每一帧信号进行自相关运算程序如下:n=220; %取20ms的声音片段,即220个样点for m=1:length(x)/n; %对每一帧求短时自相关函数 for k=1:n; Rm(k)=0; for i=(k+1):n; Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n); end end p=Rm(10:n); %防止误判,去掉前边10个数值较大的点 Rmax,N(m)

27、=max(p); %读取第一个自相关函数的最大点end %补回前边去掉的10个点N=N+10;T=N/8; %算出对应的周期 figure(2);stem(T,.);axis(0 length(T) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);得到结果如下:图3-3 a1基音轨迹图3.3.2 短时平均幅度差函数法检测基音周期对每一帧信号进行平均幅度差运算程序如下:x=wavread(a1.wav);%读取声音文件 b1=x(11001:22000);figure(1);stem(b1,.); %显示声音信号的波形N=200;%窗长A=;for

28、k=1:200%延迟长度 sum=0; for m=1:N sum=sum+abs(b1(m)-b1(m+k-1); end A(k)=sum;ends=x(11001:22000);figure(2)subplot(211);plot(s);subplot(212);plot(A);得到结果如下:图3-4 a1平均幅度差运算3.4 基音周期检测的后处理无论采用哪一种基音周期检测算法都可能产生基音检测的错误,使求得的基音周期轨迹中一个或几个基音周期估计值偏离了正常的估计(通常是偏离到正常值的两倍或1/2),并称这种偏离点为基音轨迹的“野点”。此时为了去除这些野点,可以采用各种平滑算法,其中最常

29、用的是中值平滑算法和线性平滑算法。这里采用中值平滑处理,中值平滑处理的基本原理是:设x(n)为输入信号,y(n)为中值滤波器的输出,采用一个滑动窗,输出值就是将窗外的中心移到n处时窗口输入样点的中值,及n点的左右各取L个样点。连同被平滑点中心共同构成一组信号采样点(共2L+1个样值),然后将这(2L+1)个样点按大小序列排成一排,此序列中中间着作为平滑器的输出。L值一般为1或2,即中值平滑起的“窗口”一般套住3个火5个样点。中值平滑的有点是既可以有效的除去少量的野点,又不会破坏基因周期轨迹中两个平滑段之间的阶跃性变化。得到基音轨迹图后,在matlab中运行:T1= medfilt1(T,5);

30、 %去除野点,中值平滑figure(3);stem(T1,.);axis(0 length(T1) 0 10); xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);得到结果如下:图3-6 处理后的a1基音轨迹图3.5 滤波后的基音周期检测对采样信号进行滤波处理,这里用截至频率为500Hz的低通滤波器,阻带衰减20dB,过度带宽0.1。打开matlab,运行如下程序:x,fs,bits=wavread(a1.wav);x1=x(11001:22000);figure(1);plot(x1);%做原始语音信号的时域图形title(原始语音信号);fc1=500;N1

31、=2*pi*0.9/(0.1*pi)wc1=2*pi*fc1/fs;if rem(N1,2)=0 N1=N1+1;endWindow= boxcar (N1+1); %长度为N1的矩形窗Windowb1=fir1(N1,wc1/pi,Window);figure(2);freqz(b1,1,512);title(低通滤波器的频率响应);y= filter(b1,1,x1);%对信号进行低通滤波figure(3);plot(y);title(信号经过低通滤波器(时域);得到结果如下:图3-7 低通滤波器的频率响应图3-8 a1经过低通滤波器的波形再对滤波后的的语音信号y检测基因周期,用上面讲述的

32、自相关函数法和平均幅度差法进行基音周期的检测,再进行中值平滑处理,最后进行比较。下图是自相关函数法检测滤波后的a1的基音轨迹图。图3-9 a1滤波后的基音轨迹图图3-9跟图3-6比较发现,检测精度有明显的提高。3.6 本章小结本章在Matlab上对自相关函数法和平均幅度差法进行了实现,并且进行了比较,随后又把采样语音信号进行滤波处理再进行基音周期的检测,跟之前的进行比较,可以看出,检测精度有明显的提高。Matlab上对a2.wav,a3.wav,a4.wav基音检测的程序跟结果图片全放在附录。 第4章 总结与展望语音信号的基音周期是描述激励源的重要特征参数之一,准确的检测语音信号的基音周期对高

33、质量的语音分析与合成、语音压缩编码、语音识别等都具有重要意义。本论文讨论了几种常用的基音周期检测方法自相关函数法和平均幅度差函数法以及在matlab上的实现。论文中首先介绍了几种常见的语音基音周期检测方法如自相关函数法(ACF)、平均幅度差法(AMDF)。自相关函数方法适合于噪声环境下,但单独使用经常发生基频估计结果为其实际基音频率的二次倍频或二次分频的情况;平均幅度差法在静音环境下或噪声较小时可以取得较好的检测结果,但在语音环境较恶劣、信噪比较低时,检测的结果下降较快,难以让人满意。基音检测是语音处理中的一个非常重要的问题,但由于影响基音检测的因素众多。使得基音周期的准确估计非常困难。尽管基

34、音周期检测有许多困难,但因为它的重要性,基音周期检测一直是一个研究的重要课题。为了从语音波形中准确地提取基音的工作,使全世界的科学家忙了几十年,从20世纪60年代以来出现了很多种基音周期检测方法,特别是在有噪环境下的语音信号的基音周期检测方面更是提出了许多有效的方法。进行基音检测方面早期研究工作的国家主要有美国等欧美国家,之后,我国在基音检测方面,尤其是对汉语的基音检测工作也取得了很大进展。 为了提高基音检测的准确性,降低计算复杂度,人们已经从基于事件的检测方法和非基于事件的检测方法出发 ,开发了许多基音检测算法 。我相信以后在基音周期方向,人们会取得重大的突破。参考文献1 易克初,田斌,付强

35、语音信号处理M北京:国防工业出版社,2000:1-10页。2 胡航语音信号处理M哈尔滨:哈尔滨工业出版社,2000。3 付青青,吴爱平基于IATLAR的语音信号自相关基音检测长江大学学报2006O34:9910l。 4 张雄伟,陈亮,杨吉斌现代语音处理技术及应用M北京:机械工业出版社,2003:9-11页。5 冯康,时慧坤语音先好基音检测的现状及发展J微机发展,2004,14(3):95-98页。6 李娟基音周期检测算法研究及在语音合成中的应用D太原理工大学,2008:3-5页。7 韩纪庆,张磊,郑铁然语音信号处理M北京:清华大学出版社,2004:1、75、85-89页。8 杨树功小波分析在语

36、音信号基音检测中应用研究D西安:西北工业大学,2005:1-2页。9 马祥杰,孟相如,张百生一种自相关基音检测算法J通信技术,2003(5):9-11页。10 鲍长春,樊昌信基于归一化互相关函数的基音检测算法J通信学报,1998,19(10):27-31页。11 王小亚倒谱在语音的基音和共振峰提取中的应用J工程应用,2004,44(1):57-61页。12 赵建伟,楼宏伟,徐大为,刘重庆噪音环境下的基音检测方法J红外与激光工程,2002,21(1):5-8页。13 徐刚,黄冰基于小波变换和归一化自相关的基音检测算法J桂林电子工业学院学报,2003,23(6):2-5页。14 陈小利,徐金普利用

37、小波变换加权自相关的基音检测算法J数据采集与处理,2007,22(4):463-467页。15 李香春,杜利明一种基于多尺度边缘特征提取的基音检测算法J中电子学报,2003,31(10):1500-1502页。致 谢首先衷心感谢我的导师段凯宇段博士。段老师在通信、信号处理等领域都具有很高的理论造诣和丰富的工程经验。他严禁的治学态度,勤奋的工作精神、对事业孜孜不倦的专研精神以及积极的人生态度都给我留下了深刻的印象,让我受益匪浅。在完成论文期间,段老师对我的论文的研究工作进行了悉心的指导,并提出了大量的宝贵意见,使本人的论文工作得以顺利完成。在此,向我培养我而付出辛勤劳动的段老师表示我最崇高的的敬

38、意和诚挚的感谢!其次,我要感谢13#307寝室全体同学,感谢他们为我创造安静的学习环境,以及对我完成论文所作出的支持和帮助。由于本人水平有限,本论文在很多方面存在不足,请各位老师、专家批评指正。谢谢!附 录语音信号读入、采样、自相关运算的源程序:function a1x=wavread(a1.wav);%读取声音文件 x=x(11001:22000);figure(1);stem(x,.); %显示声音信号的波形n=220; %取20ms的声音片段,即220个样点for m=1:length(x)/n; %对每一帧求短时自相关函数 for k=1:n; Rm(k)=0; for i=(k+1)

39、:n; Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n); end end p=Rm(10:n); %防止误判,去掉前边10个数值较大的点 Rmax,N(m)=max(p); %读取第一个自相关函数的最大点end %补回前边去掉的10个点N=N+10;T=N/8; %算出对应的周期 figure(2);stem(T,.);axis(0 length(T) 0 10);xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期); T1= medfilt1(T,5); %去除野点figure(3);stem(T1,.);axis(0 length

40、(T1) 0 10); xlabel(帧数(n);ylabel(周期(ms);title(各帧基音周期);语音信号读入、采样、平均幅度差运算源程序:function a11x=wavread(a1.wav);%读取声音文件 b1=x(11001:22000);figure(1);stem(b1,.); %显示声音信号的波形N=200;%窗长A=;for k=1:200%延迟长度 sum=0; for m=1:N sum=sum+abs(b1(m)-b1(m+k-1); end A(k)=sum;ends=x(11001:22000);figure(2)subplot(211);plot(s);subplot(212);plot(A);低通滤波器设计,滤波的源程序:x,fs,bits=wavread(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号