毕业论文--基于MATLAB的语音信号基音周期检测.doc

上传人:数据九部 文档编号:10365384 上传时间:2021-05-12 格式:DOC 页数:17 大小:351KB
返回 下载 相关 举报
毕业论文--基于MATLAB的语音信号基音周期检测.doc_第1页
第1页 / 共17页
毕业论文--基于MATLAB的语音信号基音周期检测.doc_第2页
第2页 / 共17页
毕业论文--基于MATLAB的语音信号基音周期检测.doc_第3页
第3页 / 共17页
毕业论文--基于MATLAB的语音信号基音周期检测.doc_第4页
第4页 / 共17页
毕业论文--基于MATLAB的语音信号基音周期检测.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《毕业论文--基于MATLAB的语音信号基音周期检测.doc》由会员分享,可在线阅读,更多相关《毕业论文--基于MATLAB的语音信号基音周期检测.doc(17页珍藏版)》请在三一文库上搜索。

1、16 基于MATLAB的语音信号基音周期检测目 录摘 要1关键词1第一章 绪论21、引言22、研究背景23、论文章节安排:3第二章 相关理论知识介绍4一 、基因周期4二、靖点检测4三、自相关检测原理5四、基音检测顶处理5五、短时自相关函数法6六 、短时平均幅度差函数法(AMDF法)7第三章 MATLAB软件平台介绍71、MATLAB的安装82、Matlab 的主要操作界面83丶Matlab 的特点与功能9第4章:具体实现及仿真结果11一、基于MATLAB基音局期检测的实现11第五章 小结与展望14参考文献:15 16摘 要 本文针对语音信号基音周期检测进行分析,并使用mat1ab软件编程实现了

2、语音信号的基音周期检测。在实现基音周期检测时使用中心削波法,该方法使语音信号基音周期检测更为可靠,并采用了三电平削波法减少基于自相关法的基音周期检测的乘法运算量。关键词 基音检测 自相关函数 中心削波 三电平削波第一章 绪论1、引言人在发浊音时,气流通过声门使声带产生张驰振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期(Pitch),它由声带逐渐开启到面积最大(约占基音周期的50%)、逐渐关闭到完全闭合(约占基音周期的35%)、完全闭合(约占基音周期的15%)三部分组成,基音周期具有时

3、变性和准周期性,它的大小与个人声带的长短、厚薄、韧性和发音习惯有关,还与发音者 的性别、年龄、发音时的力度及情感有关,是语音信号处理中的一个重要参数。基音周期 的估计称为基音检测(Pitch Detection),它在有调语音的辨意、低速率语音编码、说话人识别等方面起非常关键的作用,基音检测的最终目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,如不可能则找出尽量相吻合的轨迹曲线 。随着语音处理技术及相关学科的发展,人们已经在理论上找到很多比较有效的基音检测方法,但在实现过程 中,由于受声带激励波形不是一个完全的周期脉冲 串,丰富的谐波成分、声道 的影响很难去除,基音周期的定位困难,背景

4、噪声的强烈影响,基音周期的变化范围较大,个人的发音习惯及性别、年龄、发音时的力度及情感对基音周期的定量影响不能准确确定等一系列因素影响,从而使这些方法在使用中,其健壮性、准确性都大打折扣,可以说,至今没有一种万能的方法在任何情况下都能准确可靠地估计 出基音周期。目前的方法主要是基于传统的语音模型,最具代表性 的就是自相关法、平均幅度差函数法、线性预测分析方法、小波变换法及在四种算法上的基础上的衍生算法(如小波变换和 自相关相结合)。2、研究背景 传统的语音产生模型,它起源于1930年Duddley发明的声码器,其基本思想是将激励和系统相分离,使语音信号解体来分别进行描述而不是直接研究信号波形的

5、本身。上述基音检测方法都是建立在这个模型上的,使用中,对每帧语音信号只进行一次清浊判决,若判为浊音,则以基音周期间隔的脉冲序列作为该帧的激励信号;若为清音,则以随机噪声作为该帧的激励信号,实际中,清浊信号的过渡段是很难区分的,且激励信号也常常含有类噪声成分,很难以帧加以区分。近年来,基于线性预测分析频谱的Mel倒谱系数在处理带情感的语音识别取得很大的进展,能否将此种方法引入到相应状态下的基音检测,值得广大学者进行研究。国外的学者采用实时监控情感的变化,并把相应的影响修正基音轨迹加以平滑或动态改变窗的宽度,可以有效降低上述影响基音检测一直是语音信号处理中的一大难题,短时自相关函数法、短时平均幅度

6、差函数法、倒谱法、小波变换法等几种经典的基音检测方法,都有各自的适用场合,同时也有其相应的不足,任何一种方法都不能作为万能和通用的方法,但如果能在基音检测的过程中,对预处理和后处理方法上进行一些改进,并突破传统的语音模型,适当考虑说话人的个体特征及发音时的情感及力度对基音检频带内谱包络测的影响,定能增加基音检测的准确性及健壮性。3、论文章节安排:第1章:绪论(背景意义、发展现状、章节安排等)第2章:相关理论知识介绍(基音周期、检测方法等等(至少要介绍两种方法)第3章:MATLAB软件平台介绍(界面介绍、如何使用、作用等等)第4章:具体实现及仿真结果第5章:小结与展望(论文中的不足之处、方法的缺

7、陷,以后如何改进等等)第二章 相关理论知识介绍一 、基因周期浊音信号的周期称为基音周期,它是声带振动频率的倒数。由于基音周期只具有准周期性,所以只能采用短时平均方法估计该周期,这个过程被称为基音检测 (pitchdetection)。基音的提取和估计是语音信号处理中一个十分重要的问题,尤其是对汉语更是如此;因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能。自研究语音分析以来,基音提取一直是一个十分重要的研究课题。基音提取的方法大致分为三类。相关处理法在语音信号的基音周期中被广泛应用,这是因为相关处理法抗波形相位失真强另外它在硬件处理上结构简

8、单。本文对语音信号基音周期检测进行了分析,在此基础上采用了中心削波和三电平削波的方法对语音信号进行处理。最后通过MATAIJB软件实现了语音信号的基音周期检测。二、靖点检测 汉语的音节末尾都是浊音、只用短时能量就能较好地判断一个词语的末点。因此汉语孤立词语的末点检测不存在什么困难。汉语词语的起点检测不仅有一定难度,而且检测是否准确对语音识别性能影响颇大,因为大多数声母都是清声母,还有送气与不迭气的塞音和塞擦音,将它们与环境噪声分辨是比较因难的。语音刚开始的一段,其短时能量的大小与背景噪声的短时能量大小差不多,因此要想可靠地检测到语音起点,存在较大困难。双门限法是考虑到语音开始以后总会出现能量较

9、大的浊音,设一个较高的门限T1用以确定语音已开始,再取一个比T1稍低的门限T2,用以确定真正的起止点结束点。判断清音与无话的差别,是采用另一个门限T3,求越过该门限 “过零率”。只要取得合适,通常背景噪声的低门限T3过零率值将明显低于语音的低门限过零率值,这种方法普遍适用于有话、无话鉴别或者是词语前端检测1。短时平均过零率可以在一定程度上反映频率的高低,和短时平均幅度函数想结合起来就可以判断声音信号起止点的位置,即进行端点检测。三、自相关检测原理对于离散的数字语音信号序列x(n),自相关函数定义如下: 式(1.1)中,k为信号的延迟点数。对于随机性信号序列或周期性信号序列,自相关函数定义为:

10、自相关函数具有以下的性质:如果序列x(n)具有周期N ,则其自相关函数也是同周期的周期函数。即:x(n)=x(n + N)则:R(k)=R(k + N)清音信号没有周期性,它的自相关函数也没有周期,R(k)会随着k的的增大迅速衰减。浊音信号具有准周期性,它的自相关函数 R(k)具有与x(m)相同的周期。自相关法基音检测正是利用R(k)的这一性质对语音信号进行基音检测的。 四、基音检测顶处理为了提高自相关法和平均幅度差函数法检测基音周期的可靠性,采用两种预处理方法对原始信号进行预处理1: (一)中心削波处理中心削波处理时使用如图1所示的中心削波函数进行处理:其中削波电平CL一般取最大信号幅度的6

11、0一7O图12给出了中心削波处理后的结果。中心削波后,再用自相关法检出基音频率,错判为倍频或分频的情况就可大大减少了。 (二)为了减少自相关计算中的乘法运算,可以把上述中心削波以后的信号y(n)的自相关用两个信号的互相关代替,其中一个信号是(y(n)另一个信号是对y(n)进行三电平量化产生的结果y(n)即: 显然y(n)只有-1,O,+1三种可能的取值,因而这里的互相关计算只需做加减法,而这个互相关序列的周期性与y(n)的自相关序列是近似相同的1。五、短时自相关函数法能量有限的语音信号的短时自相函数定义为,其中,为移位距离,w(m)是偶对称的窗函数。短时自相关函数有以下重要性质:如果是周期信号

12、,周期是P,则是周期信号,且周期相同,即。当=0时,自相关函数具有最大值,即在抽样0,P, 2P,周期信号的自相关函数达到最大值。自相关函数是偶函数,即。短时自相关函数法基音检测的主要原理大都是利用短时自相关函数的这一性质,通过比较原始信号和它的移位后的信号之间的类似性来确定基因周期的,如果移位距离等于基音周期,那么,两个信号具有最大类似性;或是直接找出短时自相关函数的两个最大之间的距离,即作为基因周期的初估值。在实际采用短时自相关函数法进行基音检测时,可以采用两种思路i,一种是使用一个窗函数,窗不动,语音信号移动,这是经典的短时自相关函数法。窗口长度N的选择至少要大于基音周期的两倍,越大,短

13、时自相关函数波形的细节就越清楚,更有利用基因检测,但计算量较大,近年来由于高速数字信号处理器(DSP)的使用,从而使得这一算法简单有效,而不再采用结构复杂的快速福利叶变换法、递归计算法等;N越小,误差越大,但计算量越小。另一种思路是使用两个窗函数,为变形的短时自相关函数法。;两个窗函数可以等长不等起点,如协方差函数法;也可以不等长,如短时相互关法。自相关函数特别适用于噪声环境下的基音提取。但通常情况下,基因频率与第一共振峰频率比较接近,当声道响应的相关峰大于基音周期的自相关峰时,单独使用自相关函数会导致半倍和双倍基因的提取误差。六 、短时平均幅度差函数法(AMDF法)语音信号的短时平均幅度函数

14、定义为:,中,w(m)是窗函数,R是信号s(n)的平均值,因为语音信号的浊音段具有周期性,假设基因周期为p,则在浊音段,在k=p,2p,3p处将出现谷点,谷点间的距离即为基因周期。实际应用中,窗函数和取窗长为N和N+K的矩形窗,这样可使短时平均幅度差函数的定义更简单。由于只需加法、减法和取绝对值等2计算,故算法简单,很易于硬件实现,从而使得短时平均幅度差函数法在基音检测中使用的相当普遍,著名的10阶线性预测声码器LPC-10声码器就采用(AMDF法)来进行基因周期的提取。研究表明,当语音信号的变化比较平缓时,AMDF进行基因周期估计可以得到较高的估计,即精度和可靠性,所需的计算量也比较小,但是

15、当语音信号的幅度或频率变化比较快时,AMDF法的基音估计精度会明显下降。第三章 MATLAB软件平台介绍Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。目前,Matlab 是一种具有广泛应用前景的全新的计算机高级编程语

16、言了,有人称它为“第四代”计算机语言。 就影响而言,至今仍然没有一个别的计算软件可与 Matlab 匹敌。1、MATLAB的安装插入光盘,自动运行; 或点击安装程序 setup.exe 2、Matlab 的主要操作界面(1) Matlab 系统的启动 使用 Windows “开始” 菜单 运行 Matlab 系统启动程序 matlab 双击 Matlab 快捷图标(2) Matlab 系统的退出 * 在 Matlab 主窗口 File 菜单中选择 Exit Matlab 命令 * 在 Matlab 命令窗口输入 exit 或 quit 命令 * 单击 Matlab 主窗口的“关闭”按钮 工作空

17、间浏览器(Workspace):可用于浏览工作空间中的变量,包含其名称、资料形态、维度大小、占用位元大小等3丶Matlab 的特点与功能 1丶Matlab 是一个交互式软件系统:输入一条命令,立即就可以得出该命令的结果 2丶Matlab 具有很强的数值计算功能: Matlab 以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维) 按照 IEEE 的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近,可读性强,容易掌握 3丶Matlab 符号计算功能:Matlab 和著名的符号计算语言 Maple 相结合 4丶Matl

18、ab 的绘图功能:Matlab提供丰富的绘图命令,很方便实现数据的可视化 5丶Matlab 的编程功能:Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过 Matlab 提供的编程语言进行编程完成特定的任务。第4章:具体实现及仿真结果一、基于MATLAB基音局期检测的实现 利用Pc机上的声卡和wIND0ws操作系统可以进行数字信号的采集4。己知该语音信号经过16KHZ采样,PCM脉冲编码调制,音频采样大小是16位,频道是单声道。以文件名 “1”保存入D:MATLABwork中。可以看到,文件存储器的后缀默认后缀为wav,这是WIN

19、DOWS操作系统规定的声音文件存的标准。根据语音信号的短时特点,Y,FS,NBS=wavread(1Way),对语音信号进行采样,采样后总点数可以通过N=size(Y)求取得到Y=15716。根据该“1wav”信号的长度,我们选取帧长N=5l2个采样点,即每帧长为32ms,帧数为30帧。在判定端点时和是否清浊音时,采用了多门限过零率前端检测算法。设定了三个门限:T3Tc Yc(k1)=Yc(k1)-Tc; else if Yc(k1)0 yc(e)=l;e1se if Yc(e)=O yc(e)=0; else if Yc(e)1;yc(e)=-l; endend end end for f=

20、l:1:512 求Y1与y1的互相关 K1(k2)=Yc(f); K2(k2)=yc(f); k2=k2+1; end 经三电平削波处理后把求第17帧语音信号的自相关法转换成求互相关,这样可极大的减少运算量便于在器件上实现基音周期的的检测1。具体的MATLAB实现代码如下r=zeros(1,512);for kk=1:512 for nn=1:512-kk r(kk)=r(kk)+Yc(nn)*yc(nn+kk); end end 这样我们通过MATLAB编程就实现了该语音信号第17帧的基音周期检测。波形如图2所示从图2中的右下方的相关函数波形可以大致估计出,第一个峰值大约出现在采样点l002

21、o0点之间。通过编程我们可以精确的找出该点为131点。这是因为浊音的相关函数具有一定的准周期性,在相隔一段时间后,自相关函数能够达到最大值。浊音的估计可用相关函数的第一个峰值来进行估计。这样就估计 出了该帧语音信号的基音为fs(13-1)= l6000130=1230Hz,基音周期为47ms左右。第五章 小结与展望语音处理是目前信息学领域的研究热点和难点,其任务是研究如何利用信号处理技术研究语音信号,使未来的计算机 “能听会说”。本文针对语音信号基音周期检测进行分析,并使用MATLAB软件编程实现了语音信号的基音周期检测。在实现基音周期检测过程中使用了中心削波法 ,该方法使语音信号基音周期检测

22、更为可靠,并采用了三电平削波法减少了相关法基音周期检测中的乘法运算量。近年来,基于线性预测分析频谱的Mel倒谱系数在处理带情感的语音识别取得很大的进展,能否将此种方法引入到相应状态下的基音检测,值得广大学者进行研究。国外的学者采用实时监控情感的变化,并把相应的影响修正基音轨迹加以平滑或动态改变窗的宽度,可以有效降低上述影响基音检测一直是语音信号处理中的一大难题,短时自相关函数法、短时平均幅度差函数法、倒谱法、小波变换法等几种经典的基音检测方法,都有各自的适用场合,同时也有其相应的不足,任何一种方法都不能作为万能和通用的方法,但如果能在基音检测的过程中,对预处理和后处理方法上进行一些改进,并突破传统的语音模型,适当考虑说话人的个体特征及发音时的情感及力度对基音检频带内谱包络测的影响,定能增加基音检测的准确性及健壮性。 参考文献: 1易克初 等语音信号处理M北京:国防工业出版社,2000。 2胡航语音信号处理M哈尔滨:哈尔滨工业出版社,2000。 3付青青,吴爱平基于IATLAR的语音信号自相关基音检测长江大学学报2006O34:9910l。

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1