FPGA代做基于matlab的短时幅度谱估计在语音增强中的100okWord文件下载.docx
《FPGA代做基于matlab的短时幅度谱估计在语音增强中的100okWord文件下载.docx》由会员分享,可在线阅读,更多相关《FPGA代做基于matlab的短时幅度谱估计在语音增强中的100okWord文件下载.docx(29页珍藏版)》请在冰点文库上搜索。
![FPGA代做基于matlab的短时幅度谱估计在语音增强中的100okWord文件下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/fe90f564-fe49-441a-b21d-7102946b648e/fe90f564-fe49-441a-b21d-7102946b648e1.gif)
而且在汉语语音识别技术上,还有自己的特点与优势,并达到了国际先进水平。
目前国内从事语音识别研究的机构包括:
清华大学计算机科学与技术系,清华大学电子工程系,南京大学计算机系,上海交通大学,中科院自动化所,中科院声学所,哈尔滨工业大学等。
在1998年的863测试评比中,清华大学电子工程系以王作英教授为首的课题组完成的汉语连续语音识别系统的字识别率达到90%以上。
同时代表了目前国内的先进水平,在汉语小词表语音识别及应用方面,清华大学电子工程系以刘润生教授为首的课题组,已经推出了基于非特定人汉语数码语音识别的语音拨号电话机,并正在从事语音识别专用芯片的设计研究。
2003年,北京科技大学信息工程学院提出基于BDIAgent技术的情感机器人语音识别技术研究方法;
微软亚洲研究院,台湾的一些大学和研究所也进行该方面的研究;
同时,国家自然科学基金委也立项资助哈工大进行心理紧张等情况下的Robust语音识别研究;
2004年,东南大学赵力申请了关于语音信号中情感特征分析与建模的国家自然科学基金;
近期,江苏大学计算机学院也启动的语音情感方面的研究。
1.3研究价值及意义
研究价值:
当前人类已经开始进入了信息化时代,用现代手段研究语音情感的识别技术,可以使人们从语音中自动识别说话者的情感状态,这种技术不但可以推动计算机技术的进一步发展,它也将大大提高人们的工作和学习效率,更高效地帮助人们解决问题,同时也将进一步丰富人类的生活,提高人们的生活质量。
研究意义:
情感信息识别技术是信息社会朝着智能化和自动化方向发展的关键技术之一,具有重要的研究意义和实用价值。
经过三十多年的艰苦探索和研究,情感信息识别技术研究获得了极大的发展,在不就的将来以情感信息识别技术为核心的人工智能产品将会逐步应用到人们的日常生活中,它将为我们的工作和生活方式带来一场新的革命。
1.4情感识别系统
1.4.1情感识别系统的概述
语音情感识别是建立在对语音信号的产生机制深入研究与分析的基础上,对语音中反映个人情感信息的一些特征参数进行提取,并利用这些参数采用相应模式识别方法确定语音情感状态的技术,语音情感识别系统有以下几部分组成:
情感语音输入、语音处理、情感处理、语音情感识别结果。
其主要处理目的是通过提取语音信号中的情感参数对隐藏在语句中的情感信息进行识别。
系统框图如图1-1所示。
图1-1情感识别系统框图
(1)情感语音输入:
使用的情感语料采用录音方法采集,共获取喜、哀、平常3个情感类别。
情感语音均在静音环境,以8kHz采样频率、8位精度、单声道录制.录音完成后以文件形式保存于硬盘中。
语音数据的导入由MATLAB7.1下的wavread(‘文件名’)函数完成,通过wavread函数导入语音数据之后,生成一组一维矩阵,该矩阵存放的就是在采样点上的语音数据。
(2)语音信号的预处理:
为了获的比较精确的语音特征参数。
我们首先对输入的语音信号进行预处理。
端点检测是语音识别的第一步,目的是根据语音的特点及其参数的统计规律从包含语音的一段信号中找出语音的起始点及结束点,将语音信号从背景噪音中分离出来,从而只存储和处理有效语音信号。
在计算各个系数之前要先将语音信号进行分帧处理。
语音信号是瞬时变化的,但在10~20ms内是相对稳定的,语音采样频率为8kHz,则定义帧长为256个采样点,帧移为128个采样点。
语音处理中的窗是与短时分析紧密联系的,窗的作用是为了提取采样的语音信号的一部分(短时语音序列)进行研究,窗之外的部分则假设为零。
(3)特征参数的提取
语音特征参数的提取是语音处理中十分重要的一步。
语音特征反映了语音波形的主要信息以及说话人的发音特点,语音信号是冗余度很高的随机信号,在进行语音信号处理的时候,必须经过特征提取才能有效地降低信号的冗余度,而语音特征的提取又是通过对语音信号的分析来获得表征语音信号的参数的。
因此表征语音信号参数的准确性是语音处理正确的保证,而提取的语音特征参数的复杂度又成为能否实时提取语音特征的关键。
(4)语音情感的训练模块
情感识别无论采用什么模型和算法,都有一个模型的训练问题。
因为从本质上讲,语音的情感识别的过程就是一个模板匹配的过程,模板训练的好坏直接关系到语音识别系统识别率的高低。
而模板训练就是从已知模型中获取表征该模式本质特征的模板参数。
(5)语音情感识别模块
情感识别模块就是根据模板匹配的原则,计算未知语音模板与语音模板库中的每一个模板的距离测度,从而得到最佳的匹配模式。
(6)识别匹配方法
模板匹配法是多维模式识别系统中最常用的一种相似度计算方法。
在训练过程中,经过特征提取和特征维数的压缩,并采用聚0类方法或其他方法,针对每个模式类各产生一个或几个模板(Template),识别阶段将待识别模式的特征矢量与各模板进行相似度计算,然后判别它属于哪个类。
1.4.2情感识别面临的问题
尽管情感信息识别的研究工作迄今已30多年,在语音情感信息识别方面取得了一系列的进展,但仍然面临着不少需要改进和解决的地方,其面临问题概括如下:
(1)情感计算及人工心理理论是新型交叉学科,很多理论方法还很不成熟。
人机交互与情感识别的对象一般是自然人,与较小素材的人工材料实验样本有一定差异。
所以有必要努力扩展语音情感库的范畴,由特定人群到普通人群,由特定环境到普通环境。
(2)要对情感语音的构成进行进一步深入的分析,找出对于情感的表达有贡献的新的特征参数,并将其加入到识别参数中,以获得更高的识别率;
进一步研究更合理的语音情感分类识别方法,使实时语音情感识别更方便、更有效。
(3)研究多模式的情感识别。
情感表现是由面部表情、语音情感和身体姿势三个方面体现的,因此情感交流是多模式信息组合。
研究组合多模式的识别将能大大提高识别效率。
(4)研究利用语义的语音情感识别。
由于说话人表达情感有其特定的环境,这样在语音情感识别的研究中要考虑语义所具有的情感倾向性。
这也是该研究课题的一个需要改进的地方。
(5)要在不同时间尺度上研究语音情感。
情感同时间尺度有密切的关系,而目前仅局限于较短时间域研究,要通过话音参数对人的情感有更多了解,需要进行多尺度分析。
需要在较短的时间尺度上把握人的某个时刻状态,也要更长时间尺度上把握某段时间内的心情。
此项研究将对人机交互能力提高有着重要意义。
虽然目前还不能做到让情感信息识别随心所欲的地步。
但无论如何,情感信息识别技术正在迅速发展中,上述需要改进和解决的问题会一一化解。
1.5论文框架和各部分的主要内容
本文是针对语音情感识别系统的主要技难点,主要在语音情感信号特征参数的提取和情感特征参数以及其模板匹配的整个情感识别过程中做了大量的工作。
除此之外,对端点检测以及线性预测系数也作了不少工作。
现在简单的陈述一下本文的工作安排:
第一章是引言,在简要介绍了本课题的选题背景的基础上,概述了语音情感识别系统的结构及其当前所面临的问题。
第二章主要讲述了语音情感信号产生的基本原理及其特征参数的提取。
在特征参数的提取过程中,对基频的提取采用的是倒谱法。
第三章主要讲述了整个语音情感信号的识别过程,从最初语音数据的导入到语音情感模板的匹配都进行了详细的介绍。
在进行语音的端点检测时,采用了短时能量的方法。
而语音情感模板的匹配则采用了欧氏距离法。
第四章主要是对语音情感的识别结果进行了分析,在现有的实验条件的基础上,对实验结果进行详细地分析比较,并对其识别率进行了相应的统计。
第五章介绍了本课题继续研究的前景和方向,及其本方案尚需改进的不足之处。
2语音及其特征参数的提取
2.1语音的产生与短时平稳性
2.1.1语音生成的基本原理
人类的发声过程是由于肺部的收缩,压迫气流由支气管经过声门和声道引起音频振荡而产生的,其中声道起始于声门处而终止于嘴唇,包括咽喉、口腔,鼻道则是从小舌开始到鼻孔为止。
当小舌下垂时,鼻道与声道发生耦合而产生语音中的鼻音。
发声过程中声道各处的截面积取决于舌、唇、颌以及小舌的位置。
声道截面积随纵向位置而变的函数,称为声道截面积函数,声道的共振峰特征主要决定于声道截面积函数,声道的共振峰特性决定所发声音的频谱特性,即音色。
压缩空气通过声门激励声道滤波器,根据激励方式不同,发出的话音分成两种:
浊音和清音[4]。
浊音是一种称为准周期脉冲(quasir-periodicpulses)激励所发出的音,这种准周期脉冲是在声门打开然后关闭时中断肺部到声道的气流所产生的脉冲。
清音是由不稳定气流激励所产生的,这种气流是在声门处在打开状态下强制空气在声道里高速收缩产生的。
总体而言,声门产生的气流相当于激励信号,而声道相当于一个滤波器,输出就是我们听到的语音。
发音时,激励和声道形状都是随时间改变的,但对大多数语音信号而言,通常认为在短期内(10~20ms)是近似不变的(即准平稳的)。
因此,可以把语音信号模型设置成为一个缓慢时变的线性系统,这个线性系统的参数在10~20ms时间范围内是线性不变的。
如上所述,发音的基本步骤如图2-1所示:
图2-1发音步骤
浊音是由准周期脉冲激励所发出的音,激励串的周期叫做基音周期,即声带振动的周期。
可用图2-2来作为浊音产生的模型。
图2-2浊音产生模型
清音是声带不振动时,声道在某处收缩,迫使气流以高速通过这一收缩部分而产生的。
所以清音可以采用图2-3随机噪声激励的模型产生。
图2-3清音产生模型
2.1.2语音信号的短时平稳性
语音信号是一种典型的非平稳信号。
但是,由于语音的形成过程是与发音器官的运动密切相关的,这种物理运动比起声音振动速度来讲要缓慢得多,因此语音信号常常可假定为短时平稳的,即在10~20ms这样的时间段内,其频谱特性和某些物理特征参量可近似地看作是不变的。
这样,我们就可以采用平稳过程的分析处理方法来处理了。
以后各章里几乎所有的处理方法都立足于这种短时平稳的假定。
平均过零率、短时能量和平均幅度以及短时自相关函数,都是在这种短时平稳假定下从时域来分析的一些物理参量。
这种时间依赖处理的基本手段,一般是用一个长度有限的窗序列{w(n)}截取一段语音信号来进行分析,并让这个窗移动以便分析任一时刻附近的信号,其一般式为:
(2-1)
语音信号本身是一个自相关的具有连续特征的信号,理想窗应该能够包裹一小段语音,使后继的处理能够提取出稳定的特征,同时又要求窗不要割断窗内与窗的边缘、窗外的语音之间的相关的特性。
但是,这样的窗在实际应用中是不存在的。
我们只能针对某一特定的应用设计一个能尽量减少其副作用的窗。
用得最多的三种窗函数是矩形窗、汉明窗(Hamming)和汉宁窗(Hanning),其定义分别为[1]:
(2-2)
(2-3)
(2-4)
其中L为窗长,这些窗函数都具有低通特性。
所选取的窗函数的窗长越宽,对于语音信号的平滑作用就越明显;
如果窗长选的过窄,对语音信号就不具有平滑作用。
汉明窗(Hamming)和汉宁窗(Hanning)函数两端变化缓慢、平稳,对加窗之后的线性预测分析和倒谱分析十分有利,可以大大减少两端的误差。
这三个窗函数相比较来看,汉明窗具有更平滑的低通特性。
因此,窗函数选择汉明窗。
2.2语音信号特征参数的提取
语音中的情感信号是冗余度很高的随机信号,在进行语音情感信号处理的时候,必须经过特征提取才能有效地降低信号的冗余度,而语音中情感特征的提取又是通过对语音情感信号的分析来获得表征语音信号的参数的。
在本文中所要提取的情感特征参数是基频、能量以及语速。
2.2.1基频的提取方案
语音信号中的基频就是指声带的振动频率,它的倒数就是基音周期,是指发浊音时声带的振动的周期[5-6]。
在数字通信领域中,语音中的情感特征参数的提取具有非常重要的作用,只有这些参数提取的准确才能保证很好的应用。
而在许多参数的提取中,基频的提取又具有比较重要的作用,它直接影响着能否真实再现语音信号的频谱。
同时,基频的提取也比较困难:
(1)每个说话人各不相同。
(2)基音周期(基频的倒数)本身具有准周期性。
(3)声带振动的周期的变化范围比较宽。
(4)每个说话人的情绪的高低影响着基音周期。
(5)每次说话人所处的环境也影响基音周期。
(6)共振峰的影响也能使基音周期发生改变。
再加上其它方面的影响。
使得到目前为止,还没有一种比较好的方法能使提取的基音周期不受外界的影响。
基频的提取方法有小波变换法、相关法和自相关法和倒谱法。
比较4种参数的提取法,我们可知:
小波变换法提取的比较准确,但实现起来比较困难,且对基小波的性质有较高的要求;
相关法提取时虽然波形失真能力比较好,硬件结构实现容易,但在MATLAB仿真上不是很好;
自相关法虽然比较简单,但是对第一个峰值的位置有时会估计不准,因此提取时有时也会出现误差。
用自相关方法提取基频的算法结构简单,运算量小,效率高,操作简单易行,但由于对其循环嵌套程序的运用不熟练,以至在MATLAB仿真是老是出现错误,故在本文中采用倒谱法来提取语音情感信号中的特征参数。
用倒谱法提取基因频率的程序比较多但是理解起来比较简单,提取的参数也比较精确。
2.2.2能量的提取方案
语音信号中短时能量的分析,是基于语音信号的能量随时间的变化有相当大的变化[7]。
特别是清音段的能量要比浊音段的能量小的多。
能量的分析包括能量和幅度这两个方面的内容。
对语音中的信号采用短时分析的时候,信号流的处理用分段或分帧来实现。
一般每秒的帧数约为33~100,但应视具体的情况而定。
下式是定义的短时平均能量:
En=
=
(2-5)
其中w(n)为窗函数。
这样得到的短时平均能量En相当于将“语音平方”信号通过一个单位冲激响应为h(n)的线性滤波器的输出[8].
短时能量也可以用以下公式表示:
=x(n)
*h(n)(2-6)
在公式里h(n)=w(n)
,此时短时能量相当于语音信号的平方通过一个单位函数响应为h(n)的线性滤波器的输出。
如图2-4所示:
图2-4等效线性滤波器
下面就对所用的窗函数进行选择:
在语音信号中采用最多的窗函数就是矩形窗,汉明窗和汉宁窗,上述已经将窗函数进行了详细的介绍,在此不再重复。
本论文选择的窗函数是汉宁窗。
最后根据短时能量的算法写出程序就可以提取出能量,能量的提取也就完了。
2.2.3语速的提取方案
语音情感信号中语速的分析:
语音情感中语速的提取,是根据不同情感语音的发话时间构造的差别,然后再根据由那些情感引起的持续时间的变化来进行分析和比较。
本文中计算每一情感语句的从开始到结束的持续时间。
提取时间参数时,通过门限的确定,并在计算各帧的短时平均过零率的同时标明有声帧和无声帧。
在第一个与最后一个有声帧之间的语音段,就是发音部分,并把这段时间记为发音持续时间T。
计算出能量值的0.25倍,取为z,当z1
时判为无声帧,当z1
时,判为有声帧。
由于在本文录音时采样频率为8kHz,故有声帧减去无声帧然后再除以8000,就可得到时间参数。
语速就是语音的持续时间与音节相除。
汉语中,一般一个汉字就表示一个音节,只有儿化词如“花儿”是两个汉字读成一个音节。
语速的公式为:
音节/秒。
3语音信号的识别过程
传统的来讲,语音信号中的情感特征往往是通过语音的韵律表现出来的,例如,当一个人发怒的时候,讲话的速率就会变快,音量也会变大,音调会变高。
而当一个人悲伤的时候讲话的语速就会变慢,音量会变小,语调也就会变的很低,这些都是我们可以很直接的感受到的变化。
3.1语音情感语料库的获得
情感语料库大致可以通过以下3个方法获的:
(1)从我们的现实生活中所采集的真实的自然语料,然后再经过人工挑选获得可以使用的语料;
(2)让专业或者非专业人士进行对高兴、愤怒等情感进行模仿并录制语料库;
(3)制造恰当的环境氛围来刺激那些专业或非专业人士,然后再进行语料库的录制。
这3种方法各有各的优缺点:
第一种分类方法录制的语料库几乎可以获得最接近于人的情感,但是可使用性比较差,并且很有可能涉及到一些与隐私权有关的法律问题。
另外,这种自然度非常高的情感语料,即便是人类自身有时也很难辨别出它的情感分类,所以这种方法基本上还单纯处于一种理论构想的阶段。
第二种语料库收集的方法是我们经常见的,几乎所有的情感语音特征参数的提取所需要的语料库都是用这种方法录制的。
这种方法有两个突出的优点:
(1)极利于操作,只需要一些简单的录音设备(一台电脑,一个麦克风),然后再找一个安静的环境进行录音就可以了;
(2)这样录制的语料很容易进行区分。
但是这样录制的语料的情感只是一种模拟的情感,是录音者故意装出来的,这与真实的情感之间的差距完全取决于录音者的模仿能力。
第三种方法的可操作性也比较强,并且可以获得比使用第二种方法更为接近真实情感的情感语料库,但是这种方法没有办法确认所处的环境对录音者的刺激是否有效,以及刺激所起的作用有多大。
鉴于上述的比较我们选取了第二种方法来获得所需的情感语料库。
为了能够建立尽可能完善的语音数据采样库,我们在录音以及选择录音的语句的过程中遵循了一些原则:
(1)进行录制的语句不能有非常明确的语义倾向性,只有这样录制的语句才能够保证建立语音库时不会影响到实验者的判断。
(2)选择的录音的语句应能够比较容易的加入说话人的不同情感。
如果所选择的语句是比较中性的或者说是很难强加一定的情感,那必然就会对发音和识别都会带来很大的困难,从而无法比较针对同样一句语句,在各种不同的情感状态下情感特征参数的不同之处。
(3)录音者的发音时间应该控制在5秒以下,时间过长不利于情感的表达,也会引起用于情感判断的特征参数的弱化。
(4)录制语音所选择语句中的汉语,都要用标准普通话的表达方式,不能用带有各种方言的表达形式。
(5)所选择录制的语句尽可能避免开无声辅音,如c、p、s、t,避免这些辅音可能引起的基音周期轨迹的不连续。
(6)所录制的语句男性和女性应该都适用。
我们在录制语音时为了避免对所用的实验语句的情感表达过于夸张,本文语音库的录制选择了非专业的说话人作为语音采样的对象。
我们都以电升0602的李煜录制实验用的语音库,李煜同学的普通话标准且没有任何喉病。
进行录音的地点选在教师一间空旷的办公室中进行。
录音时将门窗紧闭,保证录音较少受到外界噪音的干扰。
同时尽量的保持室内的安静。
所有录制的语音样本均使用标准的麦克风,采用了8000Hz,8bit的单声道音频格式录制成标准PCM编码格式的WAV文件。
当然,对于我们来说建立由数千句语音样本组成的数据库是不现实的。
因此,我们对每个情感语句都按三种情感状态进行采样。
说话人都按照这三种情感状态依次表达各句,且每种情感状态均重复20遍,共计180句。
为了运算的简便,我们把每一种情感语句分别取10句能够明显表达情感的语句。
完成采集后,实验用情感语音库共由90句语音样本组成。
3.2语音数据的导入
filename='
C:
\work\nx1.wav'
y=wavread(filename)
figure()
plot(y)
title('
高兴状态下的的波形图'
)
以语音“你来了”为例(高兴状态下的情感为例),语音数据的导入过程如右所示:
图3.1高兴状态下的波形图
3.3语音信号的端点检测
端点检测与识别单元的选择密切相关。
单元选得越小则处理时越灵活,所需存储容量也越小,但正确率也就越低。
一般孤立词和中小词汇量的识别,单元选得比较大。
而对连续语音识别则常取较小的单元,如汉语的声母、韵母,英语的各种音素等。
一方面这样可以充分利用语音和语言学的各种知识。
另一方面也避免了由于选取音节或整词作单元数量过大,语音分段不易做得准确的弊端。
选取何种参数进行语音端点检测,取决于各音段(背景噪声段、声母段、韵母段等)特征参数的聚集性,简单而有效的是时域参数,诸如短时能量、短时平均幅度和短时过零率等。
传统的端点检测方法是利用短时能量和短时过零率,通过对汉语语音的统计分析发现,汉语中韵母的能量最大,声母段次之,无声(含背景噪声)最小;
对短时过零率而言,声母最大,韵母次之,无声最小。
另一个有效的参数是短时能量积,即短时能量与短时过零率的乘积