三、DTW算法动态时间伸缩[5](Dynamic Time Warp DTW)是一种通过动态规划使参考模板和测试模板在时间上实现最优匹配的一种算法。
一段语音的参考模板就是这段参考语音的特征参数序列,可以表示为{R(1),R(2),…… R(m),…… ,R(M)}。其中 R(m)为第m帧语音的特征矢量,m是训练语音帧的时序标号,M是该模板包含的语音帧总数。需要考察的语音的特征参数序列称为测试模板,可表示为{T(1),T(2),…… T(n),……, T(N)},该模板总共包含N帧语音,n为测试语音帧的时序标号,T(n)为第n个测试语音帧的特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如MFCC系数)、相同的帧长、相同的窗函数和相同的帧移。
假设测试和参考模板分别用T和R表示,为了比较他们之相似度,可以计算它们之间的距离D[T,R],距离越小则相似度越高。为了计算这一矢量距离,应从T和R中各个对应帧之间的距离算起。设n和m分别是T和R中的任意选择的帧号,d[T(n),R(m)]表示这两帧矢量之间的距离。距离函数取决于实际采用的距离量度,在DTW算法中通常采用欧氏距离。
若N=M则可以直接计算,否则要考虑T(n)和R(m)对齐。对齐可以采用线性扩张的方法,如果N 〈 M 可以将T线性映射为一个M帧的序列,再计算它与{R(1),R(2),…R(M)}之间的距离.但是这样的计算没有考虑到语音中各个段在不同的情况的持续时间会产生或长或短的变化,因此识别效果不是最佳.因而更多地采用动态规划(DP)的方法.
如果把测试模板的各个帧号n=1~N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1~M在纵轴上标出.通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网格,网格中的每一个交叉点(n,m)表示测试模式中某一帧与训练模式中某一帧的交汇点。而一个T、R的时间对应关系就构成一条始于(1,1)终于(N,M)的路径。如图一所示。
M 8 7 6 5 4 3 2 1 http://www.paper.edu.cn
1 2 3 4 5 6 7 8 9 10 N
图一 DTW动态规划路径图
为了描述这条路径,假设路径通过的所有的格点依次为(n1,m1),……,(ni,mi),……,(n n,mn),其中(n1,m1)=(1,1),(nN,mM )=(N,M)。路径可以用函数=Φ(n i)描述,其中 ni =i,i=1,2,……,N,Φ(1)=1,Φ(N)=M。为了使路径不至于过分倾斜而造成模板T的扩张或压缩,通常斜率在0.5~2的范围内,这样路径的搜索范围就被在一个菱形的区域内。如图二所示。
M (N,M)
1 N 图二 匹配路径约束示意图
如果路径已通过了格点(ni-1,mi-1),那么下一个通过的格点(ni ,mi)只可能是下列三种情况之一:
(n i ,m i ) = (ni-1,mi-1+2) (n i,mi ) = (ni-1,mi-1+1) (n i,m i) = (ni-1+1,mi-1)
用η表示上述三个约束条件。求最佳路径的问题可以归结为满足约束条件η时,求最佳路径函数m i=Φ(n i),使得沿路径的积累距离到最小值,即:
N
N
ni=`1
mi=
∑
D[n i,m i ] = min
ni−1
i
i
∑
D[ni ,mi ]
i
ni=1
Φ(n,m)∈η
mi=
Φ(n)∈η
搜索该路径的方法如下:搜索从(n1,m1)点出发,可以展开若干满足的η 路径,假设可计算每条路径达到(nN,mN)点时的总的积累距离,具有最小累积距离者即为最佳路径。易于证明,限于范围内任一格点(ni,mi)只可能有一条搜索路径通过。对于(ni ,mi),其可达到该格点的前一个格点只可能是(ni-1,mi)和(ni-1,mi-1)和(ni-1,mi-2)那么(ni,mi)一定选择这3个距离中的最小者所对应的格点作为其前续格点,若用(ni-1,mi-1)代表此格点,并将通过该格点之路径延伸而通过(ni ,mi),这时此路径的积累距离为 D[(ni,mi)]=d[T(n i ),R(mi)]+D[(ni-1,mi-1)] 其中ni-1=ni-1,mi-1的由下式决定:
D[(ni-1,mi-1)]=min{D[(ni-1,mi)],D[(ni-1,mi-1)],D[(ni-1,mi-2)]} 这样可以从(n1,m1)=(1,1)出发搜索(n2,m2),再搜索(n3,m3)……,对每一个(ni,mi
)
都存储相应的前一格点(ni-1,mi-1)及相应的帧匹配距离。搜索到(nN ,m N)时,只保留一
http://www.paper.edu.cn
条最佳路径。如果有必要的话,通过逐点向前寻找就可以求得整条路径。
四、程序的实现
用Matlab编程过程中,首先设定两个n × m的矩阵D和d ,分别为累积距离和帧匹配距离。其中n和m为测试模板与参考模板的帧数。然后通过一个循环计算两个模板的帧匹配距离矩阵来进行动态规划,为每个格点(i ,j)都计算其三个可能的前续格点的累积距离D1、D2和D3,但是考虑到边界问题,有些前续格点可能不存在,因此要加入一些判断条件。最后利用最小值问题函数min ,找到三个前续格点的累积距离中最小距离作为累积距离,与当前帧的匹配距离d ( i,j)相加作为当前格点的累积距离,该计算过程一直达到格点(n,m),并将D(n,m)输出,作为模板匹配的结果。
五 结论
本文通过运用DTW算法对非特定人的短语进行识别。对序列中的每个词组进行训练和识别,然后基于知识选择一个最佳词组。语音分析条件为:经抗混叠前置滤波,进行10kHz采样以及12bit精度的A/D转换;经过加权系统为0.975的预加权,语音信号端点检测以及25.6ms长度的Hamming窗处理。进行16阶MFCC分析,提取12阶参数作为特征参数。 实验选取10个人的样本进行训练,其中男性女性各5名。训练人的地区分布见表1。使用MFCC参数的DTW实验结果见表2。
表1 训练人的地区分布
地区 人数
北京 4
安徽 3
四川 2
江西 1
表2 用MFCC参数的DTW实验结果
测试语音字数长度
错误拒绝率
错误接受率
1 0.0% 0.0% 2 0.0% 0.0% 3 0.0% 0.0% 4 0.01% 0.0% 5 0.06% 0.02% 从上面的实验结果可以得出下面的结论:
a.特征的提取及其提取算法基本上取得比较好的效果,但因为只选取了部分人的语音做为样本,随着样本数量扩大,因此错误拒绝率要稍为大些。选择更多的样本,是效果改进的方向之一。
b.对语音信号的非平稳性采用分帧处理,是很好的措施,有利于提高识别率,探索更好的语音信号的特性处理方法,也是进一步工作之一。
c.针对语音信号的非平稳在测试阶段,任意从训练集内取几个人的样本来进行测试,训练集内语音识别率为91.5%。充分说明本文给出的非特定人的短语识别方法是成功的。
参考文献
1王炳锡、张连海.利用语音的上升过零间隔的语音识别.信息工程学报,17(1):6~11 2 陈永彬、王仁华.语音信号处理. 合肥:中国科技出版社,1990
3 G.Fant. Automatic Theory of Speech Production Mouton&Co.TheHague :
http://www.paper.edu.cn
Neiderlande,Paris,2.edtion,1970
4王让定. 语音倒谱的研究[J]. 计算机工程2003.
5尹泽明.精通MATLAB6.北京:清华大学出版社,2002.12
Speaker-independent Phrase Recognition Method
Luo Cai-Wang, CAO Jun-Xing, YANG Ting-Ting
(College Of Information Engineering, Chengdu University Of Technology,
Chengdu Sichuan 610059, China)
Abstract
The thesis studies the developing methods of the speech recognition of undefined person’s brief phrase including the following measures: First, to pretreatment the simulated speech signals input , which includes pre-filtering , sampling , quantifying , adding the window and pre-weighting , etc . Then , the MFCC of the undefined person’s phrase will be extracted and set up with the template base . The test adopts DTW algorithm based on the dynamic planning (DP) thought to calculate the distortion distance between testing template storing template , and then to compare the degree of their similarity . Tested by the experiment , the method to study development can achieve the purpose to recognize the undefined person’s brief phrase basically.
Keywords: Pretreatment Speech Recognition MFCC Dynamic Planning
第一作者简介
罗才旺,男,1981年生,硕士研究生;四川,成都理工大学信息工程学院(610059)。