1、数字语音信号处理实验指导书前言 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。语音信号处理是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。虽然从事这一领域研究的人员主要来自信号与信息处理及计算机应用等学科,但是它与语音学、语言学、声学、认知科学、生
2、理学、心理学等许多学科也有非常密切的联系。20 世纪 60 年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入 70 年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC) ,并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80 年代初一种新的基于聚类分析的高效数据压缩技术矢量量化(VQ )应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的
3、产生是 80 年代语音信号处理技术的重大发展,目前 HMM 已构成了现代语音识别研究的重要基石。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。为了深入理解语音信号数字处理的基础理论、算法原理、研究方法和难点,根据数字语音信号处理教学大纲,结合课程建设的需求,我们编写了本实验参考书。本本参考书针对教学大纲规定的四个研究设计型实验,每个实验给出了参考程序,目的是起一个抛砖引玉的作用,学生在学习过程中,可以针对某一个实验进行延伸的创新学习,比如说,语音端点的检测、语音共振峰提取、基于 HM
4、M 或 DTW 的有限词汇或大词汇的特定人、非特定人的语音识别、识别率的提高(如何提高有噪环境下的识别率) 、以及编码问题等,同时在学习中还可深入思考如何将有关的方法在嵌入式系统或 DSP下的实现问题等。第一章 数字语音信号处理教学大纲一、课程说明学 分 数:3总 学 时:59学时分配:讲课 25 学时,自主学习 17 学时,实验 17 学时适用专业:电子信息科学与技术,通信工程先修课程:信号与系统,数字信号处理二、课程教学的目的与任务本课程的学习目的是掌握语音信号处理的基本理论、基本分析方法,了解在语音信号处理领域中相关研究热点,激发学习者对语音处理相关研究方向中的有关兴趣,为以后的开展语音
5、处理相关领域的研究、开发打下一个良好的基础。本课程是电子信息科学与技术,通信工程专业的方向模块课。本门课程的教学分理论和实验教学两部分,理论教学注重培养学生基本问题的分析方法,从而掌握基本的语音信号处理的理论与概念,理论教学还包括多种形式的自主学习,如网上学习、课外阅读、大型作业、主题调查、读书报告、分组讨论等。实验教学注重培养学生的动手能力、分析和解决问题的能力。三、课程教学的基本内容及学时分配1. 语音信号处理概述 (理论教学:2 学时) 语音信号处理的发展概况,语音信号处理的应用。2.语音信号的特性及模型 (理论教学:2 学时)语音信号的产生,语音信号的特性,语音信号产生的数字模型,语音
6、感知。3. 语音信号的时域分析 (理论教学:2 学时,自主学习:2 学时)语音信号的数字化和预处理,短时能量分析,短时过零分析,短时相关分析。4. 语音信号的频域分析 (理论教学:2 学时,自主学习:1 学时)短时傅里叶变换,短时傅里叶变换的取样率,语音信号的短时综合,语谱图。5. 语音信号的同态滤波及倒谱分析 (理论教学:2 学时,自主学习:1 学时)同态信号处理的基本原理,复倒谱和倒谱,语音信号两个卷积分量复倒谱的性质,避免相位卷绕的算法,语音信号复倒谱分析实例。6. 语音信号的 LP 分析 (理论教学:2 学时,自主学习:2 学时)线性预测分析的基本原理,线性预测方程组的建立,线性预测分
7、析的解法,线性预测分析应用,线谱对(LSP)分析,极零模型。7. 语音信号的矢量量化 (理论教学:2 学时,自主学习:1 学时)矢量量化的基本原理,失真测度,最佳矢量量化器和码本的设计,降低复杂度的矢量量化系统,语音参数的矢量量化。8. 语音编码-波形编码法 (理论教学:2 学时,自主学习:1 学时)语音信号的压缩编码原理,脉冲编码调制(PCM)及其自适应,预测编码及其自适应 APC,自适应差分脉冲编码调制(ADPCM)及自适应增量调制(ADM),子带编码(SBC),自适应变换编码(ATC) 。9. 语音编码-参数编码法 (理论教学:2 学时,自主学习:1 学时)声码器的基本结构,相位声码器和
8、通道声码器,同态声码器, 线性预测声码器,混合编码,各种语音编码方法的比较,语音编码的性能指标和质量评价。10. 隐马尔可夫模型(HMM) (理论教学:2 学时,自主学习:2 学时)隐马尔可夫模型的引入,隐马尔可夫模型的定义,隐马尔可夫模型三项问题的求解,HMM 的一些实际问题。11. 语音识别技术 (理论教学:3 学时,自主学习:4 学时)语音识别概述,动态时间规整(DTW)识别技术,隐马尔可夫模型( HMM)识别技术,语音识别的应用技术。12. 语音合成、语音增强技术 (理论教学:2 学时,自主学习:2 学时)语音合成原理,共振峰合成,线性预测合成,专用语音合成硬件及语音合成器芯片,语音增
9、强。四、教学方法本课程总学时 59(总学分:3) ;其中课堂讲授:25 学时;自主学习:17 学时;实验:17 学时。理论课采用课堂教学方式,使用多媒体辅助教学手段,进行基本内容的讲授。适当安排一定的习题课时间,并布置适当的设计题以培养学生的设计、分析问题的能力。自主学习内容由学生自主学习参考教材的内容,并采用多种渠道,如查阅最新语音信号处理方面的科技文献、资料,作出学习报告。目的是培养学生的自学能力和科技文献的检索和查阅能力,同时可以有助于学生了解和掌握语音信号处理领域的最新技术进展和应用情况,将理论知识和实际应用结合起来,促进学生学习的积极性和主动性。本课程讲授自主学习的内容依每部分的教学
10、进度交替安排。实验为研究型(设计型)实验,共安排 4 个实验,为了真正达到研究设计型实验的目的,将自主学习和研究设计型实验结合起来,统一安排。五、考核及成绩评定方式本课程的考核内容由下面四部分组成:1、期末考试 M1(100 分)考核内容:教学计划全部内容;考核形式:闭卷考试。占总评成绩的 502、实验考核(含自主学习)M2(100 分)四个设计型实验各占 25%(分别为 M1、M2 、M3、M4) ,评分标准是按试验分析方法、所设计的实验程序、实验结果等,由任课教师评定成绩3、论文及主题报告 M3(100 分)按一般科学论文的写作规范的要求,写作 4 篇专题论文(含自主学习) ,每一学生选择
11、至少一个写作规范的专题论文进行课堂交流报告,根据论文写作水平、报告的内容、思路、对问题的理解、以及报告方式等评定成绩。4、平时考核 M4(100 分)由任课主讲教师按课堂表现、平时实验、自主学习情况及作业评定成绩。期末总评成绩 MM150%M2(M2=M125%+M225%+M325%+M425%)10%M330%M410% 。六、教材及参考书目推荐教材:张雄伟等编著, 现代语音处理技术及应用 ,机械工业出版社,2003 年。参考教材:1、 L.R. Rabiner, B.H. Juang. Fundamentals of Speech Recognition. Prentice Hall,
12、Englewood Cliffs,1993. 清华大学出版社(影印) ,2002 年.2、 胡航. 语音信号处理(修订版) ,哈尔滨工业大学出版社,2002 年. 3、 易克初,田 斌等. 语音信号处理,国防工业出版社,2000 年. 4、 赵 力. 语音信号处理,机械工业出版社,2003 年.5、 吴家安等. 语音编码技术及应用,机械工业出版社,2006 年.6、 韩继庆,张 磊,郑铁然. 语音信号处理,清华大学出版社,2004 年.7、 D.G.Childers. Matlab 之语音处理与合成工具箱(影印版) ,清华大学出版社,2004 年.8、 Thomas F. Quatieri 著
13、,赵胜辉等译, 离散时间语音信号处理原理与应用 ,电子工业出版社,2004.七、实践环节实验学时数:17实验学分:0.5实验项目数:41、目的与基本要求实验为研究型(设计型)实验,共安排 4 个,为了真正达到研究设计型实验的目的,采用开放实验的办法,将自主学习和研究设计型实验结合起来,统一安排。通过开放实验,目的使学生进一步理解数字语音信息处理的基本方法,提高学生自主分析、发现及解决问题的能力,锻炼学生论文写作能力,为实际的应用打下扎实的基础。2、研究设计型实验的内容1)研究设计型实验 1:基于 MATLAB 的语音信号时域特征分析要求:按所学相关语音处理得的知识,通过网上学习、资料查阅,自己
14、设计程序,给出某一语音信号的短时过零率、短时能量、短时自相关特征的分析结果,并借助时域分析方法检测所分析语音信号的基音周期,写出报告(按一般科学论文的写作规范) 。2)研究设计型实验 2:基于 MATLAB 分析语音信号频域特征要求:按所学相关语音处理的得知识,通过网上学习、资料查阅,自己设计程序,给出某一语音信号的短时谱、倒谱、语谱图的分析结果,并借助频域分析方法检测所分析语音信号的基音周期或共振峰,写出报告(按一般科学论文的写作规范) 。3)研究设计型实验 3:基于 MATLAB 进行语音信号的 LPC 分析要求:按所学相关语音处理的知识,通过网上学习、资料查阅,自己设计程序,给出某一语音
15、信号的 LPC 分析结果,包括 LPC 谱、LPCC 谱的分析结果,并借助 LPC 分析方法检测所分析语音信号的基音周期和共振峰,写出报告(按一般科学论文的写作规范) 。4)研究设计型实验 4:基于 VQ 的特定人孤立词语音识别研究要求:按所学相关语音处理的知识,通过网上学习、资料查阅,借助 MATLAB 工具,自己设计基于 VQ 的码本训练程序和识别程序(尽量选用所学 HMM 或 DTW 方法设计识别程序) ,能识别特定人的语音,分析所设计系统的特性,写出报告(按一般科学论文的写作规范) 。第二章 实验实验一 基于 MATLAB 的语音信号时域特征分析一、实验目的语音信号是一种非平稳的时变信
16、号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。本实验要求掌握时域特征分析原理,并利用已学知识,编写程序求解语音信号的短时过零率、短时能量、短时自相关特征,分析实验结果,并能掌握借助时域分析方法所求得的参数分析语音信号的基音周期及共振峰。二、实验原理及实验结果1.窗口的选择通过对发声机理的认识
17、,语音信号可以认为是短时平稳的。在 550ms 的范围内,语音频谱特性和一些物理特性参数基本保持不变。我们将每个短时的语音称为一个分析帧。一般帧长取 1030ms。我们采用一个长度有限的窗函数来截取语音信号形成分析帧。通常会采用矩形窗和汉明窗。图 1.1 给出了这两种窗函数在帧长N=50 时的时域波形。0 20 40 6000.20.40.60.811.21.41.61.82 一 一 一samplew一n一0 20 40 6000.10.20.30.40.50.60.70.80.91 hanming一samplew一n一图1.1 矩形窗和Hamming 窗的时域波形矩形窗的定义:一个N点的矩形
18、窗函数定义为如下1,0()nNwn其 他hamming窗的定义:一个N点的hamming窗函数定义为如下0.54.6cos(2),01,()nNNn其 他=这两种窗函数都有低通特性,通过分析这两种窗的频率响应幅度特性可以发现(如图 1.2):矩形窗的主瓣宽度小(4*pi/N) ,具有较高的频率分辨率,旁瓣峰值大(-13.3dB) ,会导致泄漏现象;汉明窗的主瓣宽8*pi/N,旁瓣峰值低(-42.7dB ) ,可以有效的克服泄漏现象,具有更平滑的低通特性。因此在语音频谱分析时常使用汉明窗,在计算短时能量和平均幅度时通常用矩形窗。表 1.1 对比了这两种窗函数的主瓣宽度和旁瓣峰值。0 0.1 0.
19、2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-80-60-40-200 一 一 一 一 一 一 一一 一 一 一 一 (f/fs)一一/dB0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100-500 Hamming一 一 一 一 一一 一 一 一 一 (f/fs)一一/dB图1.2 矩形窗和Hamming窗的频率响应表1.1 矩形窗和hamming窗的主瓣宽度和旁瓣峰值2.短时能量由于语音信号的能量随时间变化,清音和浊音之间的能量差别相当显著。因此对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为:,其中 N 为窗长
20、2 21()()nnmmNExwxw特殊地,当采用矩形窗时,可简化为:2()nmx图 1.3 和图 1.4 给出了不同矩形窗和 hamming 窗长的短时能量函数,我们发现:在用短时能量反映语音信号的幅度变化时,不同的窗函数以及相应窗的长短均有影响。hamming 窗的效果比矩形窗略好。但是,窗的长短影响起决定性作用。窗过大(N 很大) ,等效于很窄的低通滤波器,不能反映幅度 En 的变化;窗过小( N 很小) ,短时能量随时间急剧变化,不能得到平滑的能量函数。在 11.025kHz 左右的采样频率下,N 选为100200 比较合适。短时能量函数的应用:1)可用于区分清音段与浊音段。 En 值
21、大对应于浊音段,En 值小对应于清音段。2)可用于区分浊音变为清音或清音变为浊音的时间(根据 En 值的变化趋势) 。3)对高信噪比的语音信号,也可窗函数 主瓣宽度 旁瓣峰值矩形窗 4*pi/N 13.3dBhamming 8*pi/N 42.7dB以用来区分有无语音(语音信号的开始点或终止点)。无信号(或仅有噪声能量)时,En 值很小,有语音信号时,能量显著增大。0 200 400 600 800 100 1200 1400 1600 1800-101sample一一一一0 200 400 600 800 100 1200 1400 1600 1800024sample一一一一N=500 2
22、00 400 600 800 100 1200 1400 1600 18000510sample一一一一N=1500 200 400 600 800 100 1200 1400 1600 18000510sample一一一一N=2500 200 400 600 800 100 1200 1400 1600 180001020sample一一一一N=3500 200 400 600 800 100 1200 1400 1600 180001020sample一一一一N=4500 200 400 600 800 100 1200 1400 1600 1800-101sample一一一一0 200
23、400 600 800 100 1200 1400 1600 1800012sample一一一一N=500 200 400 600 800 100 1200 1400 1600 1800024sample一一一一N=1500 200 400 600 800 100 1200 1400 1600 18000510sample一一一一N=2500 200 400 600 800 100 1200 1400 1600 18000510sample一一一一N=3500 200 400 600 800 100 1200 1400 1600 18000510sample一一一一N=450图 1.3 不同矩
24、形窗长的短时能量函数 图 1.4 不同 hamming 窗长的短时能量函数 3短时平均过零率过零率可以反映信号的频谱特性。当离散时间信号相邻两个样点的正负号相异时,我们称之为“过零”,即此时信号的时间波形穿过了零电平的横轴。统计单位时间内样点值改变符号的次数具可以得到平均过零率。定义短时平均过零率:sgns(1)()nmZxxmwn其中 为符号函数, ,在矩形窗条件下,可以简化 1,()0gxn为1sn()s(1)2nmNZxm短时过零率可以粗略估计语音的频谱特性。由语音的产生模型可知,发浊音时,声带振动,尽管声道有多个共振峰,但由于声门波引起了频谱的高频衰落,因此浊音能量集中于 3KZ 以下
25、。而清音由于声带不振动,声道的某些部位阻塞气流产生类白噪声,多数能量集中在较高频率上。高频率对应着高过零率,低频率对应着低过零率,那么过零率与语音的清浊音就存在着对应关系。.图 1.5 为某一语音在矩形窗条件下求得的短时能量和短时平均过零率。分析可知:清音的短时能量较低,过零率高,浊音的短时能量较高,过零率低。清音的过零率为 0.5 左右,浊音的过零率为 0.1 左右,两但者分布之间有相互交叠的区域,所以单纯依赖于平均过零率来准确判断清浊音是不可能的,在实际应用中往往是采用语音的多个特征参数进行综合判决。短时平均过零率的应用:1)区别清音和浊音。例如,清音的过零率高,浊音的过零率低。此外,清音
26、和浊音的两种过零分布都与高斯分布曲线比较吻合。2)从背景噪声中找出语音信号。语音处理领域中的一个基本问题是,如何将一串连续的语音信号进行适当的分割,以确定每个单词语音的信号,亦即找出每个单词的开始和终止位置。3)在孤立词的语音识别中,可利用能量和过零作为有话无话的鉴别。0 2000 4000 6000 8000 10000 12000 14000 16000 18000-0.500.51sample一一一一0 2000 4000 6000 8000 10000 12000 14000 16000 1800002468sample一一一一0 2000 4000 6000 8000 10000 1
27、2000 14000 16000 1800000.10.20.30.40.5sample一一一一一一一图 1.5 矩形窗条件下的短时平均过零率4、短时自相关函数自相关函数用于衡量信号自身时间波形的相似性。清音和浊音的发声机理不同,因而在波形上也存在着较大的差异。浊音的时间波形呈现出一定的周期性,波形之间相似性较好;清音的时间波形呈现出随机噪声的特性,样点间的相似性较差。因此,我们用短时自相关函数来测定语音的相似特性。短时自相关函数定义为:()()()()nmRkxwnxmkwnk令 ,并且 ,可以得到:1 0()()()()()()()Nknm mkxnxnkxnwxnmkw 图 6 给出了清
28、音的短时自相关函数波形,图 7 给出了不同矩形窗长条件下(窗长分别为N=70, N=140, N=210,N=280)浊音的短时自相关函数波形。由图 1.6、图 1.7 短时自相关函数波形分析可知:清音接近于随机噪声,清音的短时自相关函数不具有周期性,也没有明显突起的峰值,且随着延时 k 的增大迅速减小;浊音是周期信号,浊音的短时自相关函数呈现明显的周期性,自相关函数的周期就是浊音信号的周期,根据这个性质可以判断一个语音信号是清音还是浊音,还可以判断浊音的基音周期。浊音语音的周期可用自相关函数中第一个峰值的位置来估算。所以在语音信号处理中,自相关函数常用来作以下两种语音信号特征的估计:1)区分
29、语音是清音还是浊音;2)估计浊音语音信号的基音周期。0 50 100 150 200 250 300-0.08-0.06-0.04-0.0200.020.040.060.080 50 100 150 200 250 300-0.1-0.0500.050.1一一kR(k)一一图 1.6 清音的短时自相关函数0 20 40 60 80 100 120 140 160 180 200 220-505一一kR(k)N=700 20 40 60 80 100 120 140 160 180 200 220-505一一kR(k)N=1400 20 40 60 80 100 120 140 160 180
30、200 220-10010一一kR(k)N=2100 20 40 60 80 100 120 140 160 180 200 220-10010一一kR(k)N=280图 1.7 不同矩形窗长条件下的浊音的短时自相关函数5、时域分析方法的应用1)基音频率的估计首先可利用时域分析(短时能量、短时过零率、短时自相关)方法的某一个特征或某几个特征的结合,判定某一语音有效的清音和浊音段;其次,针对浊音段,可直接利用短时自相关函数估计基音频率,其方法是:估算浊音段第一最大峰的位置,再利用抽样率计算基音频率,举例来说,若某一语音浊音段的第一最大峰值约为 35 个抽样点,设抽样频率为 11.025KHZ,则
31、基音频率为 11025/35=315 HZ。但是,实际上第一最大峰值位置有时并不一定与基音周期吻合。一方面与窗长有关,另一方面还与声道特性有关。鉴于此,可采用三电平削波法先进行预处理。2)语音端点的检测与估计可利用时域分析(短时能量、短时过零率、短时自相关)方法的某一个特征或某几个特征的结合,判定某一语音信号的端点,尤其在有噪声干扰时,如何准确检测语音信号的端点,这在语音处理中是富有挑战性的一个课题。三、附录(参考程序)1) 短时能量(1)加矩形窗a=wavread(beifeng.wav);subplot(6,1,1),plot(a);N=32;for i=2:6h=linspace(1,1
32、,2.(i-2)*N);% 形成一个矩形窗,长度为 2.(i-2)*N En=conv(h,a.*a);% 求短时能量函数 Ensubplot(6,1,i),plot(En);if(i=2) legend(N=32);elseif(i=3) legend(N=64);elseif(i=4) legend(N=128);elseif(i=5) legend(N=256);elseif(i=6) legend(N=512);endend(2)加汉明窗a=wavread(beifeng.wav);subplot(6,1,1),plot(a);N=32;for i=2:6h=hanning(2.(i-
33、2)*N);%形成一个汉明窗,长度为 2.(i-2)*N En=conv(h,a.*a);% 求短时能量函数 Ensubplot(6,1,i),plot(En);if(i=2) legend(N=32);elseif(i=3) legend(N=64);elseif(i=4) legend(N=128);elseif(i=5) legend(N=256);elseif(i=6) legend(N=512);endend2) 短时平均过零率a=wavread(beifeng.wav);n=length(a);N=320;subplot(3,1,1),plot(a);h=linspace(1,1,
34、N);En=conv(h,a.*a); %求卷积得其短时能量函数 Ensubplot(3,1,2),plot(En);for i=1:n-1if a(i)=0b(i)= 1;else b(i) = -1;endif a(i+1)=0b(i+1)=1;else b(i+1)= -1; endw(i)=abs(b(i+1)-b(i); %求出每相邻两点符号的差值的绝对值end k=1; j=0;while (k+N-1)nZm(k)=0;for i=0:N-1;Zm(k)=Zm(k)+w(k+i);endj=j+1;k=k+N/2; %每次移动半个窗endfor w=1:jQ(w)=Zm(160*
35、(w-1)+1)/(2*N); %短时平均过零率endsubplot(3,1,3),plot(Q),grid;3) 自相关函数N=240Y=WAVREAD(beifeng.wav);x=Y(13271:13510);x=x.*rectwin(240);R=zeros(1,240);for k=1:240for n=1:240-kR(k)=R(k)+x(n)*x(n+k);endendj=1:240;plot(j,R);grid;实验二 基于 MATLAB 分析语音信号频域特征一、实验目的信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和
36、的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。输出频谱是声道系统频率响应与激励源频谱的乘积。声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。本实验要求掌握傅里叶分析原理,会利用已学的知识,编写程序估计短时谱、倒谱,画出语谱图,并分析实验结果,在此基础上,
37、借助频域分析方法所求得的参数分析语音信号的基音周期或共振峰。二、实验原理1、短时傅立叶变换由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:()()jwjwmnmXexne(2.1)其中 w(n-m)是实窗口函数序列,n 表示某一语音信号帧。令 n-m=k,则得到()()()jwjwnknkexe(2.2)于是可以得到()()jwjnjwknkXexe(2.3)假定()()jwjwknkexne(4)则可以得到()()jwjnjwnXee(5)同样,不同的窗口函数,将得到不同的傅立叶变换式的结果。由上式可见,短时傅立叶变换有两个变量:n 和 ,所以它既是时序 n 的离散
38、函数,又是角频率 的连续函数。与离散傅立叶变换逼近傅立叶变换一样,如令 =2k/N,则得离散的短时傅立叶吧如下:2/2/()(,(01)jkNnnjkmNmXexwe(6)2、语谱图水平方向是时间轴,垂直方向是频率轴,图上的灰度条纹代表各个时刻的语音短时谱。语谱图反映了语音信号的动态频率特性,在语音分析中具有重要的实用价值。被成为可视语言。语谱图的时间分辨率和频率分辨率是由窗函数的特性决定的。时间分辨率高,可以看出时间波形的每个周期及共振峰随时间的变化,但频率分辨率低,不足以分辨由于激励所形成的细微结构,称为宽带语谱图;而窄带语谱图正好与之相反。宽带语谱图可以获得较高的时间分辨率,反映频谱的快
39、速时变过程;窄带语谱图可以获得较高的频率分辨率,反映频谱的精细结构。两者相结合,可以提供带两与语音特性相关的信息。语谱图上因其不同的灰度,形成不同的纹路,称之为“声纹”。声纹因人而异,因此可以在司法、安全等场合得到应用。3、复倒谱和倒谱复倒谱 是 x(n)的 Z 变换取对数后的逆 Z 变换,其表达式如下 :()nx(7)1l()xn倒谱 c(n)定义为 x(n)取 Z 变换后的幅度对数的逆 Z 变换,即(8)1()l|()|czX在时域上,语音产生模型实际上是一个激励信号与声道冲激响应的卷积。对于浊音,激励信号可以由周期脉冲序列表示;对于清音,激励信号可以由随机噪声序列表示。声道系统相当于参数
40、缓慢变化的零极点线性滤波器。这样经过同态处理后,语音信号的复倒谱,激励信号的复倒谱,声道系统的复倒谱之间满足下面的关系:(9)()()snev由于倒谱对应于复倒谱的偶部,因此倒谱与复倒谱具有同样的特点,很容易知道语音信号的倒谱,激励信号的倒谱以及声道系统的倒谱之间满足下面关系:(10)()()sevnnc浊音信号的倒谱中存在着峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。利用这个特点我们可以进行清浊音的判断,并且可以估计浊音的基音周期。4、基因周期估计浊音信号的倒谱中存在峰值,它的出现位置等于该语音段的基音周期,而清音的倒谱中则不存在峰值。利用倒谱的这个特点,我们可以进
41、行语音的清浊音判决,并且可以估计浊音的基音周期。首先计算语音的倒谱,然后在可能出现的基因周期附近寻找峰值。如果倒谱峰值超过了预先设置的门限,则输入语音判断为浊音,其峰值位置就是基因周期的估计值;反之,如果没有超出门限的峰值的话,则输入语音为清音。5、共振峰估计对倒谱进行滤波,取出低时间部分进行进行逆特征系统处理,可以得到一个平滑的对数谱函数,这个对数谱函数显示了输入语音段的共振峰结构,同时谱的峰值对应于共振峰频率。通过此对数谱进行峰值检测,就可以估计出前几个共振峰的频率和强度。对于浊音的声道特性,可以采用前三个共振峰来描述;清音不具备共振峰特点。三、实验结果1 短时谱0 2 4 6 8 10
42、12x 104-1-0.500.51 original signal0 50 100 150 200 250 300-100-50050 一 一 一图 2.1 短时谱2 语谱图图 2.2 语谱图3 倒谱和复倒谱图 3、4 是加矩形窗和汉明窗的倒谱图和复倒谱图,图中横轴的单位是 Hz,纵轴的单位是 dB。0 50 100 150 200 250 300-1-0.500.51 一一一一一一一一0 50 100 150 200 250 300-505 一一一一一一一一一图 2.4 加矩形窗时的倒谱和复倒谱图0 50 100 150 200 250 300-2-101 一一一一一一一一0 50 100
43、 150 200 250 300-20-1001020 一一一一一一一一一图 2.3 加汉明窗时倒谱和复倒谱图 4 基因周期和共振峰估计0 100 200 300 400 500 600-3-2-101一 一 N一一一一0 100 200 300 400 500 600-200-1000100一 一 /ms一一/dB图 2.5 倒谱图分析第 15 帧其中第一峰值出现在第 2 个样点,窗长为 512(64ms) ,抽样频率为 11KHz,说明基因频率就在这个点上,其基因频率为 5.5KHz,基音周期为 0.182ms。四、附录(参考程序)1)短时谱cleara=wavread(beifeng.w
44、av);subplot(2,1,1),plot(a);title(original signal);gridN=256;h=hamming(N);for m=1:Nb(m)=a(m)*h(m)end y=20*log(abs(fft(b)subplot(2,1,2)plot(y);title(短时谱);grid2)语谱图x,fs,nbits=wavread(beifeng.wav)specgram(x,512,fs,100); xlabel(时间(s) );ylabel(频率(Hz);title(语谱图);3)倒谱和复倒谱(1)加矩形窗时的倒谱和复倒谱cleara=wavread(beifen
45、g.wav,4000,4350);N=300;h=linspace(1,1,N);for m=1:Nb(m)=a(m)*h(m);end c=cceps(b);c=fftshift(c);d=rceps(b);d=fftshift(d);subplot(2,1,1)plot(d);title(加矩形窗时的倒谱)subplot(2,1,2)plot(c);title(加矩形窗时的复倒谱)(2)加汉明窗时的倒谱和复倒谱cleara=wavread(beifeng.wav,4000,4350);N=300;h=hamming(N);for m=1:Nb(m)=a(m)*h(m);end c=ccep
46、s(b);c=fftshift(c);d=rceps(b);d=fftshift(d);subplot(2,1,1)plot(d);title(加汉明窗时的倒谱)subplot(2,1,2)plot(c);title(加汉明窗时的复倒谱)实验三 基于 MATLAB 的 LPC 分析一、实验目的线性预测分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识别和说话人识别等语音处理领域中得到了广泛的应用。语音线性预测的基本思想是:一个语音信号的抽样值可以用过去若干个取样值的线性组合来逼近。通过使实际语音抽样值与线性预测抽样值的均方误差达到最小,可以确定唯一的一组线性预测系数。采用线性预测分析
47、不仅能够得到语音信号的预测波形,而且能够提供一个非常好的声道模型。如果将语音模型看作激励源通过一个线性时不变系统产生的输出,那么可以利用 LP 分析对声道参数进行估值,以少量低信息率的时变参数精确地描述语音波形及其频谱的性质。此外,LP 分析还能够对共振峰、功率谱等语音参数进行精确估计,LP 分析得到的参数可以作为语音识别的重要参数之一。由于语音是一种短时平稳信号,因此只能利用一段语音来估计模型参数。此时有两种方案:一种是将长的语音序列加窗,然后对加窗语音进行 LP 分析,只要限定窗的长度就可以保证分析的短时性,这种方案称为自相关法;另一种方案不对语音加窗,而是在计算均方预测误差时限制其取和区
48、间,这样可以导出 LP 分析的自协方差法。本实验要求掌握 LPC 原理,会利用已学的知识,编写程序估计线性预测系数以及 LPC 的推演参数,并能利用所求的相关参数估计语音的端点、清浊音判断、基因周期、共振峰等。二、实验原理1 LP 分析基本原理LP 分析为线性时不变因果稳定系统 V(z)建立一个全极点模型,并利用均方误差准则,对已知的语音信号 s(n)进行模型参数估计。如果利用 P 个取样值来进行预测,则称为 P 阶线性预测。 假设用过去 P 个取样值的加权之和来预测信号当前取样值 ,则预测信号 为:1,2,SnSnp SnSn(1)1pka其中加权系数用 表示,称为预测系数,则预测误差为:k(2)1pkensSnsan要使预测最佳,则要使短时平均预测误差最小有:(3)2minEe(4)0,(1)kkpa令 (5) ,ikEsniSk最小的 可表示成:(6)min10,0,pka显然,误差越接近于零,线性预测的准确度在均方误差最小的意义上为最佳,由此可以计算出预