语音信号特征的提取.doc
《语音信号特征的提取.doc》由会员分享,可在线阅读,更多相关《语音信号特征的提取.doc(28页珍藏版)》请在沃文网上搜索。
1、语音信号特征的提取摘 要随着计算机技术的发展,语音交互已经成为人机交互的必要手段,语音特征参数的精确度直接影响着语音合成的音质和语音识别的准确率。因此语音信号参数提取是语音信号处理研究中一项非常有意义的工作。本文采用Matlab软件提取语音信号特征参数,首先对语音信号进行数字化处理,其次,进行预处理,包括预加重、加窗和分帧,本文讨论了预处理中各种参数的选择,以使信号特征提取更加准确。第三,讨论了各种时域特征参数的算法,包括短时能量、短时过零率等。 关键词:语音信号, 特征参数, 提取, Matlab目 录第一章 绪论1.1语音信号特征提取概况1.1.1研究意义语音处理技术广泛应用于语音通信系统
2、、声控电话交换、数据查询、计算机控制、工业控制等领域,带有语音功能的计算机也将很快成为大众化产品,语音将可能取代键盘和鼠标成为计算机的主要输入手段,为用户界面带来一次飞跃。语音信号特征的提取是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信和准确的语音识别,才能建立语音合成的语音库。因此语音信号参数提取是语音信号处理研究中一项非常有意义的工作。1.1.2 发展现状语音信号处理是一门综合性的学科,包括计算机科学、语音学、语言学、声学和数学等诸多领域的内容。它的发展过程中,有过两次飞跃。第一次飞跃是1907年电子管的发明和1920年无线电广播
3、的出现,电子管放大器使很微弱的声音也可以放大和定量测量,从而使电声学和语言声学的一些研究成果扩展到通信和广播部门;第二次飞跃是在20世纪70年代初,电子计算机和数字信号处理的发展使声音信号特别是语音信号,可以通过模数转换器(A/D)采样和量化转换为数字信号,这样就可以用数字计算方法对语音信号进行处理和加工,提高了语音信号处理的准确性和高效性。语音信号处理在现代信息科学中的地位举足轻重,但它仍有些基础的理论问题和技术问题有待解决,这些难题如听觉器官的物理模型和数学表示及语音增强的技术理论等,目前还有待发展。1.2 本课题研究内容本文主要介绍语音信号处理的理论及Matlab的相关内容,然后从Mat
4、lab仿真角度验证了录音、预处理、提取语音信号时域特征参数,主要讨论了预处理中各种参数的选择,以使信号特征提取更加准确。再次讨论了各种时域特征参数的算法,包括短时能量、短时过零率等,介绍了各环节的不同软件实现方法。最后对基于Matlab的语音信号特征参数提取进行总结。 第二章 Matlab简介MATLAB是国际上仿真领域最权威、最实用的计算机工具。它是MathWork公司于1984年推出,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的30多种面向不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。2.1 发展
5、概况Matlab是Matrix Laboratory(矩阵实验室的缩写),最初由美国Cleve Moler博士在70年代末讲授矩阵理论和数据分析等课程时编写的软件包Linpack与Eispack组成,旨在使应用人员免去大量经常重复的矩阵运算和基本数学运算等繁琐的编程工作。1984年成立的Math Works公司正式把Matlab推向市场,并从事Matlab的研究和开发。1990年,该公司推出了以框图为基础的控制系统仿真工具Simulink,它方便了系统的研究与开发,使控制工程师可以直接构造系统框图进行仿真,并提供了控制系统中常用的各种环节的模块库。1993年,Math Works公司推出的Ma
6、tlab4.0版在原来的基础上又作了较大改进,并推出了Windows版,使命令执行和图形绘制可以在不同窗口进行。1994年推出了Matlab4.2版本,并得到广泛的重视和应用。1999年,推出了Matlab5.3版本,真正实现了32位运算,其速度更快、功能更完善、界面更友好,并提供了Internet搜索引擎,可以协助用户寻求在线帮助。版本6.0、6.1又作了更精细的改进,增加了许多新的功能。版本7.0、7.1包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充Matlab的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业
7、性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。2.2 主要功能MATLAB之所以成为世界流行的科学计算与数学应用软件,是因为它有着强大的功能。MATLAB是一种应用于计算技术的高性能语言。它将计算、可视化和编程结合在一个易于使用的环境中,此而将问题解决方案表示成我们所熟悉的数学符号,其典型的使用包括:数学计算运算法则的推导模型仿真和还原数据分析,采集及可视化MATLAB是一个交互式系统,它的基本数据元素是矩阵,且不需要指定大小。通过它可以解决很多技术计算问题,尤其是带有矩阵和矢量公式推导的问题。2.3 信号处理工具箱Matlab的信号处理工具箱是信号算法文件的集合,它的
8、推出扩展了Matlab在信号处理领域的应用,为其研究和工程应用提供了有力的基础,应用此工具箱可直观、方便地进行信号分析、数值计算及系统设计等工作,从波形的产生到滤波器的实现和设计,参数建模,谱分析,简化了编程,节省了时间。它处理的基本对象是信号与系统,包含了信号处理中经常使用的近200个函数,根据其功能,可以分为20类,经常使用的函数如下所示。滤波器分析:abs 求绝对值(幅值),conv 求卷积,filter 直接滤波器实现等;IIR滤波器设计: FIR滤波器设计:fir1 基于窗函数的FIR滤波器设计标准响应,fir2 基于窗函数的FIR滤波器设计等;变换:czt 线性调频Z变换,idct
9、 逆离散余弦变换,ifft 一维逆快速傅里叶变换等;窗函数:boxcar 矩形窗,hamming 海明窗,hanning 汉宁窗,chebwin 切比雪夫窗等;参数化建模:lpc 线性预测系数等。 2.4 录音工具在Matlab环境中,可以通过多种编程方法驱动声卡,实现对语音信号的采集和回放。同时由于Matlab是一个数据分析和处理功能十分强大的工程使用软件,它的信号处理与分析工具箱提供了十分丰富的功能函数,利用这些函数可以快捷地完成语音信号处理和分析以及信号的可视化,使人机交互更加便捷。在Matlab环境中,主要可以通过以下3种方法驱动声卡,采集语音信号:将声卡作为对象处理采集语音信号。Ma
10、tlab将声卡作为对象处理,其后一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。调用wavrecord函数采集语音信号。wavrecord函数使用Windows声音输入设备录制声音。函数调用方式是“wavrecord(N,fs,ch,nbits);”。其中N是采集样本数据量;fs是样本采集频率(8000Hz、11025Hz、22050Hz、44100Hz),其默认值是11025Hz;ch是样本采集通道,1为单声道,2为双声道,默认值为1(单声道);nbit是每个样本的位数(或称解析度),double、single、int16为16位,int8为8位。运用audior
11、ecorder对象采集语音信号。函数调用方式为audiorecorder(fs,nbits,ch),可以创设一个audiorecorder对象。其中fs、nbits、ch的意义同wavrecorder函数。对象创设后,可以进行录音、暂停、停止、播放以及数据读取等操作。本文使用第二种方法进行录音。因为本文是对已存信号进行处理,不需要实时处理,对语音要求不高,所以只需选择处理简单的第二种方法。第三章 语音信号分析3.1 概述语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的好坏,语音识别率
12、的高低也取决于对语音信号分析的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。贯穿于语音分析全过程的是“短时分析技术”。因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非平稳态过程,不能用处理平稳信号的数字信号处理技术对其进行分析处理。但是语音信号在一个短时间范围内其特性基本保持不变即相对稳定,即语音信号具有短时平稳性。所以任何语音信号的分析和处理必须建立在“短时”的基础上,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为1030ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时
13、间序列。3.2 语音数字化和预处理在按帧进行语音分析,提取语音参数之前必须进行一些共同的短时分析技术,如语音信号的数字化、语音信号的端点检测、预加重、加窗和分帧等,这些也是不可忽视的语音信号分析的关键技术。3.2.1 数字化语音信号的数字化一般包括放大及增益控制、反混叠滤波、采样、A/D变换及编码;预处理一般包括预加重、加窗和分帧等。语音信号首先进行反混叠滤波,反混叠滤波的目的有两个:第一,抑制输入信号各个频域分量中频率超出的所有分量(为采样频率),以防止混叠干扰;第二,抑制电源工频干扰。这样,反混叠滤波必须是一个带通滤波器,设其上、下截止频率分别是和,则对于绝大多数语音编译码器,=3400H
14、z、=60100Hz,采样频率为=8kHz。语音信号经过反混叠滤波和采样后由A/D变换器变换为二进制数字码。A/D变换中要对信号进行量化,量化不可避免地会产生误差。量化后的信号值与原信号值之间的差值称为量化误差,又称为量化噪声。A/D变换器分为线性和非线性两类。目前采用的线性A/D变换器绝大部分是12位的(即每一个采样脉冲转换为12位二进制数字);非线性A/D变换器则是8位的,它与12位线性变换器是等效的。有时为了后续处理,要将非线性的8位码转换为线性的12位码。3.2.2 预处理由于语音信号的平均功率谱受声门激励和口鼻辐射影响,高频端大约在800Hz以上按6dB/倍频程跌落,所以求语音信号频
15、谱时,频率越高相应的成分越小,高频部分的频谱比低频部分的难求,为此要在预处理中进行预加重处理。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。预加重可在语音信号数字化时在反混叠器之前进行,这样不仅可以进行预加重,而且可以压缩信号的动态范围,有效地提高信噪比。但预加重一般是在语音信号数字化之后,在参数分析之前在计算机里用具有6dB/倍频程的提升高频特性的预加重数字滤波器来实现,它一般是一阶的数字滤波器: (3-1)式(3-1)中,值接近于1。进行预加重数字滤波处理后,接下来就要进行加窗分帧处理。一般每秒的帧数约
16、为33到100帧,视实际情况而定。分帧可以采用连续分段的方法,但一般要采用交叠分段的方法,这是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比值一般取01/2。分帧是用可移动的有限长度窗口进行加权的方法来实现的,即用一定的窗函数w(n)乘s(n),从而形成加窗语音信号: (3-2)3.2.3 窗函数的选择在语音信号处理中常用的窗函数是矩形窗和汉明窗等,它们的表达式如下(其中N为帧长):矩形窗: (3-3)汉明窗: (3-4)窗函数的选择(形状和长度)对于短时分析参数的特性影响很大。为此应选择合适的窗口,下面从窗口的形状和窗口的长度两方面来讨论这个问题。一
17、般一个好的窗函数的标准是:在时域因为是语音波形乘以窗函数,所以要减少时间窗两端的坡度,使窗口边缘两端不引起急剧变化而平滑过渡到零,这样可以使截取出的语音波形缓慢降为零,减少语音帧的截断效应;在频域要有较宽的3dB带宽以及较小的边带最大值。这里对矩形窗和汉明窗进行比较。矩形窗的单位函数响应的数字滤波器: (3-5)其频率响应: (3-6)它具有线性相位,其频率响应为第一个零值时所对应的频率为,其中为采样频率。而汉明窗的频率响应的第一个零值频率(即带宽)以及通带外的衰减都比矩形窗要大许多。矩形窗与汉明窗的一些参照数据示于下表。表4-1 矩形窗与汉明窗的比较窗类型 旁瓣峰值 主瓣宽度 最小阻带衰减矩
18、形窗 -13 4/N -21汉明窗 -41 8/N -53从表3-1可以看出,汉明窗的主瓣宽度比矩形窗大一倍,即带宽约增加一倍,同时其带外衰减也比矩形窗大一倍多。矩形窗的谱平滑性能较好,但损失了高频成分,使波形细节丢失;而汉明窗则相反,从这一方面来看,汉明窗比矩形窗更为合适。3.3 语音信号的时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。语音信号的时域参数有短时能量、短时过零率、平均幅度分析等,这是语音信号的一
19、组最基本的短时参数,在各种语音信号数字处理技术中都要应用。3.3.1 短时能量及短时平均幅度分析设语音波形时域信号为x(l)、加窗分帧处理后得到的第n帧语音信号为,则满足: (3-8)其中,n=0,1T,2T,并且N是帧长,T是帧移长度,是窗函数。则第n帧语音信号的短时能量: (3-9)是一个度量语音信号幅度值变化的函数,但它有一个缺陷,即它对高电平非常敏感(因为它计算时用的是信号的平方)。为此,采用另一个度量语音信号幅度值变化的函数,即短时平均幅度函数,它定义为: (3-10)也是一帧语音信号能量大小的表征,它与短时能量的区别在于计算时小取样值和大取样值不会因取平方而造成较大差异,在某些应用
20、领域中会带来一些好处。3.3.2 短时过零率分析短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。过零分析是语音时域分析中最简单的一种。对于连续语音信号,过零即意味着时域波形通过时间轴;而对于离散信号,过零率就是样本改变符号的次数。定义语音信号的短时过零率: (3-11)式中,sgn 是符号函数,即: (3-12)在实际中求过零率时,需要十分注意的一个问题是如果输入信号中包含有50Hz的工频干扰或者A/D变换器的工作点有偏移(这等效于输入信号有直流偏移),往往会使计算的过零率很不准确。为了解决前一个问题,A/D变换器前的防混叠带通滤波器的低端截频应高于50Hz,以有效地抑制电源干扰
21、。第四章 MATLAB仿真本文采用Matlab对语音信号特征参数的提取进行仿真验证。如图4-1,对语音信号进行数字化处理,从而利用软件提取特征参数并进行分析。图4-1 实验流程图4.1 语音数字化和预处理4.1.1 数字化该实验以研究者本人的声音为分析样本。在Matlab中使用wavrecord (n,fs,ch,dtype)函数录取英文“Ada”的读音。因人类语音的频谱主要集中在4kHz以内,而根据采样定理,采样频率应大于信号中最高频率的两倍,所以采样频率(fs)取8khz;本实验将录音时间规定为2s,因此采样的总点数(n)为2*8000;通道数(ch)取1,即为单通道;采样数据的存储格式(
22、dtype)取为“double”,即16位采样精度。利用wavplay函数可以较清晰地听到读音,同时发现语音开始时存在短暂杂音。用wavwrite函数将语音信号保存为“a.wav”文件,应用于下面的处理。通过wavrecord函数,语音信号便由计算机完成了采样、A/D变换及编码过程。接下来进行滤波,该实验选用了4阶的比特沃斯带通滤波器,其上下截止频率分别为3400Hz以及100Hz,这是因为语音信号一般在4kHz以内,虽然理论上可以将最高频率取为4kHz,但实际上由于比特沃斯滤波器为使通带的幅度响应最大限度地平坦,而损失了截止频率处的下降斜度,所以上截止频率应小于4kHz,从而抑制输入信号中各
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 特征 提取