随机过程理论在语音识别中的应用第一章语音识别总述1.1语音识别技术简介语音识别技术就是让机器通过识别和理解过程,把语音信号转变为相应的文本或命令的技术。
在当下流行的即时通讯软件(如:微信、QQ等)里,语音识别技术得到了非常广泛的应用。
当对方发来一段语音信息而自己不方便收听时便可以使用语音转化功能将语音信息转化成文字信息。
此外,在许多输入法(如:讯飞输入法)中也可以使用语音输入功能。
用户只需要对着麦克风说话,输入法便可以将语音转换为文字填入输入框,在方便用户的同时也提高了文字输入效率。
语音识别涉及的领域包括:数字信号处理、声学、语音学、计算机科学、心理学、人工智能等,是一门涵盖多个学科领域的交叉科学技术。
语音识别的技术原理是模式识别,其一般过程可以总结为:预处理、特征提取、基于语音模型库下的模式匹配、基于语言模型库下的语言处理、完成识别。
图1.0.1 语音识别过程第二章预处理声音的实质是波。
在现如中得到广泛应用的音频文件格式(如:mp3等)都经过了压缩无法直接识别。
语音识别所使用的音频文件格式必须是未经压缩处理的wav格式文件。
下图是一个波形示例。
图2.0.2 语音波形示例有了声波源文件输入便可以按照图2.1.1所示的各个步骤进行识别。
2.1静音切除如图2.1.2所示,在得到的声波信号输入中需要实际处理的信号并不一定占满整个时域,会有静音和噪声的存在。
因此,必须先对得到的输入信号进行一定的预处理,消去静音的部分并且滤除噪声的干扰才能对实际需要处理的有效语音进行识别。
噪声处理部分本文已在上文进行过讨论,这里不再赘述。
去除静音需要用到V AD算法,本文对其做简单介绍。
2.1.1 V AD算法V AD算法全称为V oice Activity Detection,又称语音边界检测。
其可实现的功能有对语音信号进行打断、去除语音信号中的静音部分从而获取有效语音,还可以去除一部分噪声对后续语音识别过程造成的干扰。
V AD主要是对输入语音信号的一些时域或频域特征判断其是否属于静音部分。
本文只对这些参数做简要介绍,具体算法不属于本文重点因而不在此做细致讨论。
2.1.2时域参数时域参数是通过对输入信号在时域上的特征参量进行区分。
在信噪比较高的环境下使用时域参数进行区分效果显著。
1.相关性分析通过对足够短的时间范围内的语音信号进行相关性检测可以初步判定该时间范围内的信号是否属于静音部分。
在实际应用中,静音的部分实际上会混有各种各样的噪声,因此并非绝对意义上静音。
噪声在各个时间范围内的相关性比较低,而人说话的语音相关性则比较强。
因此,在高信噪比的条件下区分成功率很高。
然而,由于噪声多种多样,因此相关性分析只适用于区分小部分噪声与语音,这是其局限性所在。
2.时域能量静音部分的噪声能量相较于有效语音能量而言要少得多,因此可以通过比较短时间范围内的输入信号能量来判定该段信号是否输入静音部分。
而在实际生活中,会出现高能量噪声的情况,此时再用时域能量参数就显得爱莫能助。
.3.2.1.2频域参数频域参数的抗噪性能要优于时域参数,但是由于需要用到傅立叶变换等变换方法进行分析域转换,因此相应的计算复杂度较高,花费时间也较长。
1.谱熵熵本是源于热力学的参数,用于描述系统的混乱度。
在信息论中用于描述信息源的不确定性。
图2.1.1 噪声谱图2.1.2 语音谱在实际应用中,噪声谱较为平坦,谱熵较大。
而语音能量集中在低频段,谱熵较小,因此可通过谱熵来判断信号属于噪声还是有效语音。
谱熵的可靠性不会受信号大小的影响,其大小只与信噪比有关。
2.自适应子带即使在很低的信噪比下,语音帧仍然具有较高信噪比的子带,而噪声帧却没有。
因此可以根据每帧信号的最小频带所占的该帧总能量的概率来自适应选择子带的多少。
2.2分帧2.2.1分帧简介如图2.0.2的有效语音信号波形在时域上是无法对其进行识别的的。
因此必须算出有效语音信号在频域上的分布情况,因而需要对有效语音信号做傅立叶变换从而得到其在频域上的分布情况。
图2.2.1 有效语音信号波形图傅立叶变换的前提是输入信号是平稳的,而如图2.2.1所示的有效语音信号的前三分之一和后三分之二明显不一样,这是由于发音者的发音姿态变换而导致的,所以整体来看语音信号不平稳。
但如果取适量小的时间范围内(如图中矩形框圈出的时间范围),仅在该时间范围内做分析的话,发声者的发声姿态基本不变,语音信号就可以看成平稳的,就可以截取出来做傅立叶变换了。
将有效语音信号的截取成一帧一帧的平稳信号的过程就称为分帧。
2.2.1分帧时长由上述的讨论可知,通过分帧操作所得到的每一帧信号需满足如下两个条件:1.它必须足够短来保证帧内信号是平稳的。
上文提到过,发音者发音姿态的变化是导致信号不平稳的原因,所以在一帧的期间内发音姿态不能有明显变化。
即一帧的长度应当小于一个音素的长度。
正常语速下,音素的持续时间大约是 50至200 ms,所以帧长一般取为小于 50 ms。
2.每一帧信号又必须包括足够多的振动周期,因为傅立叶变换是对信号的频域进行分析,只有每一个频率成分在时域重复振动足够多次才能分析频率。
语音的基频,男声在 100 Hz左右,女声在 200 Hz左右,换算成周期就是 10 ms和5 ms。
既然一帧要包含多个周期,所以一般取至少 20 ms。
通过以上的讨论,帧长一般取为 20 至50 ms,20、25、30、40、50 都是比较常用的数值。
2.3加窗为了提高傅立叶变换所得频谱的分辨率,取出来的一帧信号,在做傅立叶变换之前,要先进行加窗的操作,即与一个窗函数相乘,如图2.3.1所示。
图2.3.1(a) 原信号图2.3.1(b) 汉明窗函数图2.3.1(c) 加窗处理结果加窗的目的是让一帧信号的幅度在两端渐变到 0从而提高傅立叶变换结果频谱的分辨率。
由加窗处理过程可以看出,信号两端的部分被逐渐削弱至0,因此在该帧信号中无法计入频谱。
在实际处理时,往往通过不同帧之间进行重叠来弥补加窗处理带来的损失。
图2.3.2 重叠分帧如图2.2.1所示,每一帧信号时长为25ms,以10ms作为帧移取下一段信号。
由此第一帧信号后15ms的波形便会在下一帧信号前15ms中出现。
2.4傅立叶变换对一帧信号做傅立叶变换,得到信号频谱如下:图2.4.1 信号频谱图如图 2.4.1,从信号频谱图中可知该帧语音信号呈现出的精细结构和包络两种模式。
平滑连接每一个精细结构的小峰便得到包络。
又由包络可以得到共振峰,图中能看出四个,分别在 500、1700、2450、3800 Hz 附近。
它代表了发音者的口型,对此特征进行提取便可只发音者发出的是哪个音。
第三章 声学特征提取人通过声道产生声音,声道的形状决定了发出怎样的声音。
声道的形状包括舌头,牙齿等。
如果我们可以准确的知道这个形状,那么我们就可以对产生的音素进行准确的描述。
声道的形状在语音短时可以由功率谱的包络中显示出来。
因此,准确描述这一包络的特征就是声学特征识别步骤的主要功能。
接收端接收到的语音信号经过上文的预处理以后便得到有效的语音信号,对每一帧波形进行声学特征提取便可以得到一个多维向量。
这个向量便包含了一帧波形的内容信息,为后续的进一步识别做准备。
本文主要介绍使用最多的MFCC 声学特征。
3.1 MFCC 简介MFCC (Mel Frequency Cepstrum Coefficient )特征是基于人耳对声音的敏感特性而提出的。
人耳听声音时,耳蜗相当于一组滤波器。
当声音频率在1KHz 以下时,人耳的感知能力与频率成线性关系,但在1KHz 以上时,人耳的感知能力与声音频率更接近对数关系。
这也就解释了为什么人耳对于低频声音的感知比高频声音更敏感。
MFCC 是Mel 频率倒谱系数的缩写。
Mel 频率是基于人耳听觉特性提出来的,其计算公式为:)7001(log 259510f m +=它与Hz 频率成非线性对应关系。
Mel 频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz 频谱特征。
由于Mel 频率与Hz 频率之间非线性的对应关系,使得MFCC 随着频率的提高,其计算精度随之下降。
因此,在应用中常常只使用低频MFCC ,而丢弃中高频MFCC 。
3.2 MFCC 的一般过程MFCC 特征提取的一般过程如下:图3.2.1 MFCC 特征提取的一般过程图中的分帧加窗以及FFT 已经在预处理部分中提到,这里不再赘述。
3.2.1 Mel 滤波器组假设原信号经过预加重、分帧加窗后的DFT 为N k en x k X N n N k j a ≤≤=∑-=-0,)()(102π式中x(n)为输入的语音信号,N 表示傅立叶变换的点数。
式中x(n)为输入的语音信号,N 表示傅立叶变换的点数。
将能量谱通过一组Mel 尺度的三角形滤波器组,定义一个有M 个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为 。
M 通常取22-26。
各)(m f 之间的间隔随着m 值的减小而缩小,随着m 值的增大而增宽,如图所示:图3.2.2 Mel 频率滤波器组三角滤波器的频率响应定义为:式中:∑-==101)(M m m k H此处使用三角带通滤波器有两个目的:第一、使得到的频谱变得平滑,并且可以去除谐波的干扰从而凸显出原语音信号的共振峰。
因此,一段语音的音调并不会由MFCC 特征表示出来。
换句话说,语音信号的音调不会对MFCC 的参数产生影响。
第二、可以有效减少运算量。
计算每个滤波器组输出的对数能量为:M m k H k X m s N k m a ≤≤=∑-=0],)(|)(|ln[)(102经离散余弦变换(DCT )得到MFCC 系数:L n M m n m s n C N m ,...,2,1,))5.0(cos()()(10=-=∑-=π将上述的对数能量带入离散余弦变换,求出L 阶的Mel -scale Cepstrum 参数。
L 阶指MFCC 系数阶数,通常取12-16。
这里M 是三角滤波器个数。
3.2.2 对数能量语音信号的能量表现为音量的大小,每一帧信号的能量也是语音信号的一个重要特征,而这个参数非常容易计算得到,因此,通常在已经得到的参数基础上再加上一帧的对数能量。
对数能量的定义为:)(log 10E 10一帧内信号的平方和=如此就使得每一帧语音信号特征向量又多了一个维度。
在此阶段也可加入其它语音特征。
例如:音高、过零率以及共振峰等。
3.2.3 动态差分参数的提取(包括一阶差分和二阶差分)标准的倒谱参数MFCC 只反映了语音参数的静态特性,语音的动态特性可以用这些静态特征的差分谱来描述。
实验证明:把动、静态特征结合起来才能有效提高系统的识别性能。
差分参数的计算可以采用下面的公式:式中,t d 表示第t 个一阶差分;t C 表示第t 个倒谱系数;Q 表示倒谱系数的阶数;K 表示一阶导数的时间差,可取1或2。