基于MATLAB 的语音信号处理软件平台构建研究毕业论文
2020-04-09 15:34:58
摘 要
语音信号处理是现阶段比较受欢迎的一门学科,它与被视为第四次工业革命的智能化有着密不可分的关系。与它相关的学科有数字信号处理、模式识别等,处理的目的要达到某种用途、进行某种运算或得到一些语音参数,进行语音信号分析,有时还可将语音信号高效地传输或储存。
论文主要研究了借助MATLAB软件构建语音信号处理软件平台,可进行语音的选取、线性预测分析、语谱图、功率谱、倒谱、语音合成等相关波形的显示。对选取的语音信息读取,再进行预加重处理,加窗处理,以及计算短时过零率和短时自相关函数等,从产生机理和信息特征等方面进行分析绘制频谱,嵌入实现的相关算法,完成识别浊音、清音,对已采样的原始语音信号进行重采样分析,运用线性预测的方法,对进行语音合成。
研究结果表明:对录制的语音信号鉴别清音、浊音,可以非常简单的区别出所选取语音信号中的清音和浊音。运用线性预测和预测误差,可以准确的完成语音的合成。本文创建的操作方便,简单易懂的数字化GUI平台将完全可以实现语音的简单处理。
本文的特色:本文应用语音信号的很多分析处理实例,成功构建语音处理界面,整个用户图形界面简洁易懂,极易操作而且方便扩展。论文详细的阐述了界面的总体设计思路,便于理解与接受。
关键词:MATLAB;GUI;语音信号处理
Abstract
Speech signal processing is a popular subject at present. It is closely related to the intellectualization of the fourth industrial revolution. The related subjects with it include digital signal processing, pattern recognition, and so on. The purpose of processing is to achieve some purpose, perform some operation or get some voice parameters, carry out speech signal analysis, and sometimes transmit or store the voice signal efficiently.
This paper mainly studies the software platform of speech signal processing with the help of MATLAB software, which can be used for speech selection, linear prediction analysis, language spectrum, power spectrum, cepstrum, speech synthesis and other related waveforms. Read the selected voice information, then carry out pre accentuation processing, add window processing, and calculate short time zero rate and short-term autocorrelation function and so on. From the generation mechanism and the information feature, the spectrum is drawn and the relevant algorithms are embedded to recognize the voiced sound and the voiceless sound. Finally, the original speech signals are sampled. Resampling analysis, using linear prediction method, for speech synthesis.
The results show that the voicing and voicing of the recorded speech signals can distinguish the voiced and voiced sounds from the selected speech signals very easily. Using linear prediction and prediction errors, speech synthesis can be done accurately. The GUI platform, which is easy to operate and easy to understand, will be able to achieve simple speech processing.
The characteristics of this paper: This paper uses many analysis and processing examples of speech signals, and successfully constructs the speech processing interface. The entire user graphical interface is simple and easy to understand, easy to operate and easy to expand. The paper elaborates the overall design idea of the interface in detail, which is easy to understand and accept.
Key words: MATLAB; GUI; speech signal processing
目录
摘 要 I
Abstract II
第1章 绪 论 1
1.1 选题背景与目的意义 1
1.2 课题任务及技术方案 2
1.3 课题综述 2
第2章 语音信号原理分析 4
2.1 清浊音识别 4
2.1.1 预加重和分帧加窗 4
2.1.2 语谱图识别 5
2.1.3 短时过零率识别 5
2.1.4 短时幅度与短时能量识别 6
2.1.5 自相关函数识别 6
2.2 双门限法端点检测 7
2.3 功率谱和倒谱 8
2.4 语音重采样 8
2.5 线性预测分析及语音合成 9
2.5.1 线性预测分析 9
2.5.2 基于线性预测系数和预测误差的语音信号合成 11
第3章 语音处理GUI平台的实现 13
3.1 图形界面构建 13
3.2 界面设计框图 15
3.3 主函数及其功能 16
第4章 语音处理GUI平台的功能与分析 17
4.1 预加重 17
4.2 时域 18
4.2.1 短时能量和短时平均幅度 18
4.2.2 短时过零率 19
4.2.3 短时自相关 20
4.2.4 端点检测 21
4.3 谱分析 25
4.3.1 语谱图 25
4.3.2 短时频谱和功率谱 26
4.3.3 倒谱 27
4.4 语音重采样 28
4.5 线性预与语音测合成 30
4.5.1 线性预测分析 30
4.5.2 语音合成 31
第5章 小结与展望 33
5.1 课题总结 33
5.2 课题展望 34
参考文献 35
致 谢 36
第1章 绪 论
1.1 选题背景与目的意义
语音是人们日常生活中最常用的表达信息的途径之一,也是人们获取信息的重要来源,同时人们要想利用信息,它也是一种重要手段,人类最重要的本能之一就是通过语言进行信息的传递。语言是人类世界所特有的,它是一种根本手段,人类文明史就是靠它来记载和传承的,也就是说,没有语言也就很难有如今的人类文明。语音是语言的声学表现,它是人与人之间相互传递信息的一种重要手段,也是人类最高效、最重要、最便捷和最常用的交换信息的一种形式[1]。语音信号处理是电信工程的必修专业课程,它非常实用,与它有着非常紧密的联系的学科有很多个,语音信号处理技术的基础学科有生理学、语言学以及声学等,要想将它研究透彻,这些学科的学习是避免不了的;语音信号处理的理论指导有以信息论、系统论,因此信息论与系统论贯穿于整个语音信号处理过程[2]。所以说语音信号处理是通过应用信号处理、统计分析、模式识别等现代技术而发展起来的一门综合性学科[3]。
20世纪60年代中期,一系列的数字信号处理的理论还有算法初步形成,例如快速傅立叶变换(FFT)、数字滤波器等,都是语音信号数字处理的技术和理论基础[4]。信息技术随着时间的增长得到了飞快速度的发展,于是语音信号处理技术在此基础上也有了突破性的进展。在70年代之后,专门被用来提取语音信息特征和压缩的技术-线性预测技术(LPC)被提出,由此它就成为了处理语音信号最常用最有效的工具[5]。此项技术被广泛应用于语音信号处理的各个领域,例如语音的特征分析、语音合成等;在80年代初期,矢量量化(VQ)被应用于语音信号的处理技术中,它是基于聚类分析的一种新型高效数据压缩技术;与此同时,在这一时期,隐马尔可夫模型(HMM)的发现与使用也是语音信号处理的一项重大的技术发展,它可以用于描述语音信号过程的产生,到目前为止,隐马尔科夫模型已成为了现代语音识别研究用到的非常重要的基础处理技术[6]。最近十几年来,由于语音信号处理的广泛应用与各项重大突破性技术都应运而生,成为了促进人工神经网络(ANN)的研究发展的首要动力,使其得到了飞速发展,同时,人工神经网络的许多研究成果也慢慢涌现出来,都在和语音信号处理相关的各项技术之中体现了出来,例如语音音箱,语音空调,语音油烟机等[7]。科学技术在快速发展,科学研究理论也在不断提升,语音信号处理系统正在向实用化越靠越近。
MATLAB软件现在被广泛应用于工作和学习,它的突出优点是可以进行矩阵的运算,简单方便又快捷,软件还提供了大量的计算函数,用户也可以自己编辑函数插入程序中,处理数据非常方便和快捷,多被应用于各个领域的仿真、计算和编辑任务,例如系统的控制、科学的计算和处理信息等[8]。MATLAB软件的应用范围非常广泛,在各领域的工程设计和理论研究方面都有相关应用,与此最突出的众多领域有语音处理、数字图像处理和随机信号分析、数字信号处理、用户界面构建、建模和仿真、数组计算等[9]。
我们现如今所处的正是信息化时代,通信技术、电子技术、和计算机技术都在飞速发展,以一种不可预料的发展趋势将人类社会推入高智能的信息化社会[10]。自从计算机被发明出来之后,利用语音与及其进行交流沟通就成为了人们奋力研究与追求的目标,语音信号处理是为了把人对人、人对机器和机器对人之间的交流能够实现,也是现如今信息与通信领域的一个非常重要的环节。计算机软件和硬件都在不断提升,信息技术也超高速速发展,这种现实环境不仅将高效软硬件实现语音信号处理变为了可能,人们日益增长的物质文化需要也在无形中推动着信息技术的发展,也对语音信号数字处理提出了越来越高的功能要求,例如实现把手动输入用语音输入替代以实现人机之间的交互[7]。所以,分析语音特性,研究语音信号的数字化处理和构建语音信号处理平台有着很重要的现实意义。
1.2 课题任务及技术方案
本实验平台拟采纳MATLAB软件构建语音信号处理GUI平台,本平台图形化界面中,利用菜单替代文本行,利用M文件进行程序编程,MATLAB软件使用了基于流程图的图形化编程方式,针对界面菜单对应的编程简单易懂、效率高,每一个操作者都便于理解。而且,利用软件内置函数,完成针对语音信号的数据进行处理和分析的工作[11]。在界面内部,简单方便的功能图标被有序放置,而且点击菜单按钮就能处理非常复杂的数值运算。本课题要求掌握MATLAB构建软件平台的方法,需要理解数字信号处理的基本概念、理论,掌握其根本方法,熟练运用MATLAB,正确完成对语音信号进行处理和分析。对选取的语音信号先预处理,截止频率由录入语音时的采样频率确定,语音信号处理前,需要高频提升和分帧处理。从语音信号分析和语音信号处理两方面探讨,在语音信号分析方面,针对语音不同的特征参数显示出波形观察有哪些明显特征,以便于清音、浊音的检测,在语音信号处理方面,对语音信号运用数字信号处理技术对其加工,完成重采样,线性预测和语音合成等。
在MATLAB中实现用户界面制作模块,设计GUI功能界面,创建坐标系、按钮、菜单,通过MATLAB对每个菜单按钮编程,使其通过菜单按钮达到语音信号处理的分析,实现各种要求功能,最后做成一个整洁方便的语音信号处理用户图形界面GUI平台[12]。
1.3 课题综述
第1章是绪论篇,对课题的背景目的进行了详细的描述,指出了本次课题设计实用性和平台构建的必要性,把课题的设计目的和意义都阐述出来,GUI界面设计能对于我们的生活起多大作用,点明了整个课题的研究方向和技术要求,同时把设计过程中的步骤做了简单描述,给整个课题画好了一个良好的框架。
第2章是原理篇,要想区分出清音与浊音,可以从发声机理和声学特性分析,于是有多种区分清浊音的方法,要想进行语音频域分析,就需要进行语音短时化,也就是需要加窗分帧,要想进行语音的重采样,就需要对语音信号采样频率有一个深刻的认识,要想进行语音合成,就需要将短时分散的语音段拼接在一起,本章节则是对相应的原理做系统的阐述。
第3章是平台设计篇。MATLAB具有强大的计算与应用功能,同时还有图形界面创建的功能,用它完成图形界面的创建简单方便易于操作。本章节详细阐述用MATLAB制作图形界面的过程,还展现了本次课题GUI界面的设计框图,而且对本课题用到的主要函数做了简单介绍。
第4章是平台功能篇。利用MATLAB软件已经搭建好图形界面,实现要求功能,本章节是对已实现的功能进行展示,对界面显示出的图形图像波形做简单的描述,同时,对对应的菜单程序代码做出简要分析,使得课题界面的应用与设计原理相结合,更通俗易懂。
第5章是总结与展望篇。本章对全篇论文进行简明扼要的综合分析,包括研究背景、目的意义和技术分析等,也对自己的创造性成果做出详细阐述。最后,指出本课题还存在的缺点与不足,提出本研究方向需要改进的地方,让课题的意义得到进一步升华。
第2章 语音信号原理分析
2.1 清浊音识别
2.1.1 预加重和分帧加窗
携带信息的语音信号是一种不平稳随时间变化的信号。语音信号分析的目的就在于方便有效的提取并表示语音信号所携带的信息[5]。
具体来说,预加重部分就是设计数字滤波器,常用的是:
(2.1)
其中,u接近于1,常取0.9~1之间的任意值。
我们常常对语音信号进行加窗取短时间信号以便于做需要的处理,通过对发声机理的认识,可以大致认为语音信号是短时平稳的。一个语音信号加窗之后的语音就变为短时语音,每个短时的语音我们称为一帧,帧长习惯于取20ms。我们截取语音信号时常常采用长度有限的窗函数,这样才能获取我们所需要的某一确定帧长的短时语音信号。矩形窗和hamming窗是最常用的窗函数。
一个N点的矩形窗函数的数学公式可以表示如下:
(2.2)
一个N点的hamming窗函数的数学公式可以表如下:
(2.3)
这两种窗函数都具有低通特性,通过分析这两种窗的频率响应幅度特性可以发现(如表2.1):矩形窗的主瓣宽度较小,旁瓣峰值小,利用它处理语音帧,非常容易导致泄漏现象;汉明窗的主瓣宽度较矩形窗大,旁瓣峰值大,利用它处理语音帧可以有效克服泄漏现象,而且具有更平滑的低通特性。因此在语音频谱分析时通常使用汉明窗,在计算短时能量和短时平均幅度时通常用矩形窗[13]。
表2.1 矩形窗和hamming窗的主瓣宽度和旁瓣峰值
窗函数 | 主瓣宽度 | 旁瓣峰值 |
矩形窗 | 4*pi/N | 13.3dB |
hamming | 8*pi/N | 42.7dB |
2.1.2 语谱图识别
语音信号具有不同的纹路,体现在语谱图上时,也就形成了不同的颜色和不同的深浅程度,我们称之为“声纹”。不同说话人声纹是不同的,所以体现在语谱图中也有很大的差异,因此鉴定不同的讲话人的时候可以用声纹进行区别。清音和浊音是组成语音信息的最重要的部分,语谱图可以表现出语音能量的分布情况[14]。语谱图中的花纹有乱纹、竖直条和横杠等,横杠是与水平时间轴平行的几个深色条纹,颜色较深意味着该处对应着短时谱中的凸点,即我们所谓的共振峰[15]。浊音具有准周期性,因此判断一段语音是不是浊音的方法是看有没有出现横杠。若该语音为浊音,显示可以看出明显的条纹图形,若该语音为清音,显示看出的图形则更加细密。所以,语谱图分析是识别清浊音的一个方法。
2.1.3 短时过零率识别
语音信号进行时域分析,短时平均过零率是一种特征参数,它是指每帧内信号中过零值的次数[16]。因为语音信号在录制时,就已经通过一定的采样频率将其采样成为离散信号,所以本次设计是通过统计单位时间内样点值正负符号改变的次数多少来测定平均过零率的大小。
短时平均过零率的定义为:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: