语音识别论文.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语音信号的分析与处理

摘要:本文针对语音信号时域、频域参数进行了系统详尽的分析,并在MATLAB环境下实现了基于DTW算法的特定人孤立词语音信号的识别。

关键词:语音信号;短时傅里叶;MFCC;动态时间规整

引言

语音信号参数分析是语音信号处理的前提和基础。语音信号处理包括语音通信、语音增强、语音合成、语音识别和说话人识别等方面。只有通过语音信号的分析才能获得语音本质特性的参数,才能利用这些参数进行高效的语音通信,才能建立语音合成的语音库,也才可能建立用于语音识别的模板和知识库。此外,语音合成音质的好坏、语音识别率的高低,都取决于语音信号参数分析的准确性和精度。因此,语音信号参数分析是语音信号处理研究中一项非常有意义的工作[1]。

近年来,语音识别已经成为一个非常活跃的研究领域。在不远的将来,语音识别技术有可能作为一种重要的人机交互手段,辅助甚至取代传统的键盘、鼠标等输入设备,在个人计算机上进行文字录入和操作控制。而在手持式PDA、智能家电、工业现场控制等应用场合,语音识别技术则有更为广阔的发展前景[2]。

在特定人孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间规整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现最早、较为经典的一种算法[3]。

MATLAB是一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,它将数值分析、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用户界面友好的操作环境。本文就是在MA TLAB基础上来进行语音信号参数的分析与语音信号的识别的。

一、语音信号的分析

1参数分析

语音信号是一种典型的非平稳信号。但是,由于语音的形成过程是与发音器官的运动密切相关的,这种物理运动比起声音振动速度来讲要缓慢得多,因此语音信号常常可被假定为短时平稳的,即在10一20ms这样的时间段内,其频谱特性和某些物理特征参量可被近似地看作不变。这样,我们就可以采用平稳过程的分析处理方法来处理,一般而言语音信号处理的方法都是基于这种短时平稳的假设的。根据语音信号所分析参数的不同,语音信号参数分析可以分为时域、频域、倒谱域分析等[4]。本文仅涉及时域及频域参数分析。

2时域分析

进行语音信号最为直观的分析方法就是时域分析。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种方法,这种方法直接利用语音信号的时域波形。时域分析通常用于最基本的参数分析以及语音的分割、预处理和大分类等。时域分析方法的特点是:第一,表示语音信号比较直观,物理意义明确;第二,实现起来比较简单,运算量少;第三,可以得到语音的一些重要参数;第四,采用示波器等通用设备,使用简单[5]。

2.1短时能量分析

短时能量分析用途:第一,可以区分清音段和浊音段,因为浊音时的短时平均能量值比清音时大得多;第二,可以用来区分声母与韵母的分界、无声与有声的分界、连字的分界等。如对于高信

噪比的语音信号,短时平均能量用来区分有无语音。无语音信号噪声的短时平均能量很小,而有语音信号的能量则显著增大到某一个数值,由此可以区分语音信号的开始点或者终止点。

3频域分析

短时傅立叶分析在运用离散时间傅立叶变换分析语音信号的变化时,会遇到这样的问题,即单一的傅立叶变换并不能反映时间变化的频谱信息,诸如时变共振峰和谐波。具体而言,通常将信号的每一时刻与其相邻时刻信号的傅立叶变换相联系,这样就可以及时跟踪信号的频谱变化。语音信号的短时傅立叶变换见程序所述。

可以验证,在短时傅立叶分析中对于同一种窗函数而言,其通带宽度与窗长成反比。如果希望频率分辨率高,则窗长应尽量取长一些;如果希望时间分辨率高,则窗长尽量取短一些。由此可见,傅立叶分析的时间分辨率和频率分辨率是相互矛盾的,这是短时傅立叶本身所固有的弱点。短时傅立叶分析一般采用汉明窗作为分析窗[6]。

通过基于MATLAB和短时频域分析,能够得出[7]:第一,长窗具有较高的频率分辨率,但具有较低的时间分辨率。从一个周期到另一个周期,共振峰是要发生变化的,这一点即使从语音波形上也能够看出来。然而,如果采用较长的窗,这种变化就模糊了,因为长窗起到了时间上的平均作用。第二,短窗的频率分辨率低,但具有较高的时间分辨率。采用短窗时,能够从短时频谱中提取出共振峰从一个周期到另一个周期所发生的变化。当然,激励源的谐波结构也从短时频谱上消失了。第三,在对语音信号进行短时傅里叶分析时,窗长需要折衷考虑。一方面,短窗具有较好的时间分辨率因而能够提取出语音信号中的短时变化;但另一方面,损失了频率分辨率。第四,汉明窗都具有低通的性质,且在截止频率处比较尖锐,当其通带较窄时(窗越宽,通带越窄),加窗后的频谱更能够较好反映短时语音信号的频谱,窗越宽这种逼近越好。

二、语音信号的处理

1特定人孤立词语音识别系统分析

一个完整特定人孤立词语音识别系统通常包括语音的输入,语音信号的预处理,特征提取,训练与识别等几个环节,基本构成如图1所示:

图1孤立词语音识别系统框图

语音识别的过程可以被看作模式匹配的过程,模式匹配是指根据一定的准则,使未知模式与模型库中的某一个模型获得最佳匹配的过程。模式匹配中需要用到的参考模板通过模板训练获得。在训练阶段,将特征参数进行一定的处理后,为每个词条建立一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音特征参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。同时,还可以在一些先验知识的帮助下,提高识别的准确率。

2语音识别算法———高效的DTW算法

动态时间规整(Dynamic Time Warping,DTW)是把时间规整和距离测度计算结合起来的一种非线性规整技术,解决了测试模板与参考模板语音时间长度不等的问题。

图2匹配路径约束示意图

通常,规整函数被限制在一个平行四边形的网格内,如图2所示。它的一条边斜率为2,另一条边斜率为1/2。规整函数的起点是(1, 1),终点为(N,M)。DTW算法的目的是在此平行四边形内由起点到终点寻找一个规整函数,使其具有最小的代价函数,保证了测试模板与参考模板之间具有最大的声学相似特性[8]。

由于在模板匹配过程中限定了弯折的斜率,因此平行四边形之外的格点对应的帧匹配距离是不需要计算的。另外,因为每一列各格点上的匹配计算只用到了前一列的3个网格,所以没有必要保存所有的帧匹配距离矩阵和累积距离矩阵。充分利用这两个特点可以减少计算量和存储空间的需求,形成一种高效的DTW算法,如图2所示。图2中,把实际的动态弯折分为三段,(1,xa),(xa+1,xb),(xb+1,N),其中:

xa= (2M-N)/3,

xb=2(2N-M)/3

xa和xb都取最相近的整数,由此可得出对M和N长度的限制条件:

2M-N≥3,

2N-M≥2

当不满足以上条件时,认为两者差别太大,则无法进行动态弯折匹配。在x轴上的每一帧不再需要与y轴上的每一帧进行比较,而只是与y轴上[ymin,ymax]间的帧进行比较,ymin和ymax的计算公式为:

ymin=x/2,0≤x≤xb,

2x+(M-2N),xb< x≤N

ymax=2x,0≤x≤xa,

x/2+(M-N/2),xa< x≤N

如果出现xa> xb的情况,则弯折匹配的三段为(1,xb),(xb+1,xa),(xa+1,N)。

对于x轴上每前进一帧,虽然所要比较的y轴上的帧数不同,但弯折特性是一样的,累积距离的更新都是用下式实现的:

D(x,y) = d(x,y)+min[D(x-1,y),D(x-1,y-1),D(x-1,y-2)]

相关文档
最新文档