基于MATLAB的语音信号的处理文档格式.docx
《基于MATLAB的语音信号的处理文档格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的语音信号的处理文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
fs:
样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz;
ch:
样本采集通道,1为单声道,2为双声道,默认值为1(单声道);
nbits:
每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位;
3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。
fs:
样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为8000Hz;
每个样本的位数,8位或16位,默认值为8位;
audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。
第二节语音信号的特点
通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:
在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。
利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。
在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。
在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。
下面是一段语音信号的时域波形图(图1-1)和频域图(图1-2),由这两个图可以看出语音信号的两个特点。
图1-1语音信号时域波形图图1-2语音信号频域波形图
第三节语音信号的采集
在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个:
抑制输入信导各领域分量中频率超出fs/2的所有分量(fs为采样频率),以防止混叠干扰。
抑制50Hz的电源工频干扰。
这样,预滤波器必须是一个带通滤波器,设其上、下截止颜率分别是fH和fL,则对于绝大多数语音编译码器,fH=3400Hz、fL=60~100Hz、采样率为fs=8kHz;
而对语音识别而言,当用于电话用户时,指标与语音编译码器相同。
当使用要求较高或很高的场合时fH=4500Hz或8000Hz、fL=60Hz、fs=10kHz或20kHz。
为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。
采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。
采样时必须要注意满足奈奎斯特定理,即采样频率fs必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。
在采样的过程中应注意采样间隔的选择和信号混淆:
对模拟信号采样首先要确定采样间隔。
如何合理选择△t涉及到许多需要考虑的技术因素。
一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。
但过高的采样频率并不可取,对固定长度(T)的信号,采集到过大的数据量(N=T/△t),给计算机增加不必要的计算工作量和存储空间;
若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。
采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。
根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。
量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。
量化电平按级数变化,实际的振动值是连续的物理量。
具体振值用舍入法归到靠近的量化电平上。
在实际工作中,我们可以利用windows自带的录音机录制语音文件,图2-3是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAVE文件,为后续的处理储备原材料。
调节录音机保存界面的“更改”选项,可以存储各种格式的WAVE文件。
图1-3基于PC机的语音信号采集过程
采集到语音信号之后,需要对语音信号进行分析,如语音信号的时域分析、频谱分析、语谱图分析以及加噪滤波等处理。
第二章语音信号的分析
第一节语音信号分析技术
语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。
而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。
因此语音信号分析在语音信号处理应用中具有举足轻重的地位。
贯穿于语音分析全过程的是“短时分析技术”。
因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非乎稳态过程,不能用处理乎稳信号的数字信号处理技术对其进行分析处理。
但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变即相对稳定,因面可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。
所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。
这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。
根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;
时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。
本文将简要介绍时域分析、频域分析。
第二节语音信号的时域分析
语音信号的时域分析就是分析和提取语音信号的时域参数。
进行语音分析时,最先接触到并且也是最直观的是它的时域波形。
语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。
时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。
这种分析方法的特点是:
表示语音信号比较直观、物理意义明确。
实现起来比较简单、运算且少。
可以得到语音的一些重要的参数。
④只使用示波器等通用设备,使用较为简单等。
语音信号的时域参数有短时能量、短时过零率、短时白相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用。
在计算这些参数时使用的一般是方窗或汉明窗。
一短时能量及短时平均幅度分析
设语音波形时域信号为x(l)、加密分帧处理后得到的第n帧语音信号为Xn(m),则Xn(m)满足下式:
(2-1)
(2-2)
其中,n=0,1T,2T,…,并且N为帧长,T为帧移长度。
设第n帧语音信号Xn(m)的短时能量用En表示,则其计算公式如下:
(2-3)
En是一个度量语音信号幅度值变化的函数,但它有一个缺陷,即它对高电平非常敏感(因为它计算时用的是信号的平方)。
为此可采用另一个度量语音信号幅度值变化的函数.即短时平均幅度函数Mn,它定义为:
(2-4)
Mn也是一度量语音信号能量大小的表征,它与En的区别在于计算时小取样值和大取样值不会因取平方而造成较大差异,在某些应用领域会带来一些好处。
短时能量和短时平均幅度函数的主要用途有:
①可以区分浊音段与清音段,因为浊音时En值比清音时大的多。
可以用来区分声母与韵母的分界,无声与有卢的分界,连字(指字之间无间隙)的分界等。
③作为一种超音段信息,用于语音识别中。
二短时过零率分析
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。
过零分析是语音时域分析中最简单的一种。
对于连续语音信号,过零即意味着时域波形通过时间轴;
而对于离散信号,如果相邻的取样值改变符号则称为过零。
过零率就是样本改变符号的次数。
定义语音信号Xn(m)的短时过零率Zn为:
(2-5)
式中,sgn[]是符号函数,即:
(2-6)
在实际中求过零率参数时,需要十分注意的一个问题是如果输入信号中包含有50Hz的工频干扰或者A/D变换器的工作点有偏移(这等效于输入信号有直流偏移),往往会使计算的过零率参数很不准确。
为了解决前一个问题,A/D变换器前的防混叠带通滤波器的低端截频应高于50Hz,以有效地抑制电源干扰。
对于后一个问题除了可以采用低直流漂移器件外,也可以在软件上加以解决,这就是算出每一帧的直流分量并予以滤除。
对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其话音能量约集中在3kHz以下。
而发清音时,多数能量出现在较高频率上。
高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。
当然,这种高低仅是相对而言,并没方精确的数值关系。
利用短时平均过零率还可以从背景噪声中找出语音信号,可用于判断寂静无声段和有声段的起点和终点位置。
在孤立词的语音识别中,必须要在一连串连续的语音信号中进行适当分割,用以确定一个一个单词的语音信号,即找出每一个单词的开始和终止位置,这在语音处理中是一个基本问题。
此时,在背景噪声较小时用平均能量识别较为有效,而在背景噪声较大时用平均过零率识别较为有效。
但是研究表明,在以某些音为开始或结尾时.如当弱摩擦音(如[f]、[h]等音素)、弱燃破音(如[p]、[t]、[k]等音素)为语音的开头或结尾;
以鼻音(如[n]、[m]等音素)为语音的结尾时.只用其中一个参量来判别语音的起点和终点是有困难的,必须同时使用这两个参数。
第三节语音信号的频域分析
语音信号的频域分析就是分析语音信号的频域持征。
从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。
本文介绍的是语音信号的傅里叶分析法。
因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”
一利用短时博里叶变换求语音的短时谱
对第n帧语音信号Xn(m)进行傅里叶变换(离散时域傅里叶变换,DTFT),可得到短时傅里叶变换,其定义如下:
(2-7)
由定义可知,短时傅里叶变换实际就是窗选语音信号的标准傅里叶变换。
这里,窗w(n-m)是一个“滑动的”窗口,它随n的变化而沿着序列X(n)滑动。
由于窗口是有限长度的,满足绝对可和条件,所以这个变换是存在的。
当然窗口函数不同,博里叶变换的结果也将不同。
我们还可以将式(3—7)写成另一种形式。
设语音信号序列和窗口序列的标准傅早叶变换均存在。
当n取固定值时,w(n