在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。用于孤立词识别,DTW算法与HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中,DTW算法仍然得到广泛的应用。 编程实现语音处理中的DTW算法 在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不 一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。用于孤立词识别, DTW算法与HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参 数,而DTW算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中,DTW算法仍 然得到广泛的应用。 无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终 点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R(1),R(2) ,……,R(m),……,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终 点语音帧,因此M为该模板所包含的语音帧总数,R(m)为第m帧的语音特征矢量。所要 识别的一个输入词条语音称为测试模板,可表示为T={T(1),T(2),……,T(n),… …,T(N)},n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N 为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。参考模板与测试模板一 般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的 帧移。 假设测试和参考模板分别用T和R表示,为了比较它们之间的相似度,可以计算它们之 间的距离 D[T,R],距离越小则相似度越高。为了计算这一失真距离,应从T和R中各个 对应帧之间的距离算起。设n和m分别是T和R中任意选择的帧号,d[T(n),R(m)]表示 这两帧特征矢量之间的距离。距离函数取决于实际采用的距离度量,在DTW算法中通常采 用欧氏距离。 若N=M则可以直接计算,否则要考虑将……