微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 孤立词语音识别系统的DSP实现

孤立词语音识别系统的DSP实现

时间:04-28 来源:维库开发网 点击:

在计算之前先在语音的频谱范围内设置若干个带通滤波器Hm(n)。MFCC参数的计算流程为:

  确定每一帧语音采样序列的点数,本系统采取N=256点。对每帧序列s(n)进行预加重处理后再经过离散FFT变换,取模的平方得到离散功率谱s(n)。

  计算s(n)通过M个Hm(n)后所得的功率值,即计算s(n)和Hm(n)在各个离散频率点上乘积之和,得到M个参数Pm,m=0,1,…,M-1。

  计算Pm的自然对数,得到Lm,m=0,1,…,M-1。

  对L0,L1,…,LM-1计算其离散余弦变换,得到Dm,m=0,1,…,M-1。

  舍去代表直流成分的D0,取D1,D2,…,Dk作为MFCC参数。此处K=12。

  特定人语音识别算法

  在孤立词语音识别中,最为简单有效的方法是采用DTW动态时间规整算法,设参考模板特征矢量序列为A={a1,a2,…,aj),输入语音特征矢量序列为B={b1,b2,…,bk},j≠k。DTW算法就是要寻找一个最佳的时间规整函数,使得语音输入B的时间轴K映射到参考模板A的时间轴j上总的累计失真最小。

  将己经存入模板库的各个词条称为参考模板,一个参考模板可以表示为{R(1),R(2),…,R(M)},m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此M为该模式包含的语音帧总数,R(m)为第m帧语音的特征矢量。所要识别的一个输入词条语音称为参考模板,可表示为{T(1),T(2),…,T(N)),n为测试语音帧标号,模板*包含N帧音,T(n)为第n帧音的特征矢量。

  为了比较它们的相似度,可以计算,它们之间的失真D[T,R],失真越小相似度越高。为了计算这一失真,应从T和R中各个对应帧之间的失真算起。将各个对应帧之间的失真累计起来就可以得到两模式间的总失真。很容易想到的办法是当两模式长度相等时,直接以相等的帧号相匹配后累加计算总失真,而当两个模式长度不等时则利用线性扩张或线性压缩的方法使两模式具有相等长度,随后进行匹配计算失真度。但由于人类发音具有随机的非线性变化,这种方法效果不可能是最佳的。为了达到最佳效果,可以采用动态时间规整的方法。如图4所示,横坐标对应"1"这个字音的一次较短的发音,经过分帧和特征矢量计算后共得到一个长度为43帧的语音序列,而纵坐标对应"1"这个字音的一次较长的发音,该语音特征序列共有56帧。为了找到两个序列的最佳匹配路径,现把测试模式的各个帧号n=1~N(图4中N=43)在一个二维直角坐标系中的横轴上标出,把参考模式的各帧号m=1~M(图4中M=56)在纵轴上标出。

  通过这些表示帧号的整数坐标画一些纵横线即可形成一个网格,网格中何一个节点(n,m)表示测试模式中的某一帧和参考模式中的某一帧的交汇点。动态时间规整算法可以归结为寻找一条通过此网格中若干交叉点的路径,路径通过的交叉点即为参考模式和测试模式中进行失真计算的帧号。路径不是随意选择的,首先任何一种语音的发音快慢可能有变化,但是各部分的先后顺序不可能改变,因此所选的路径必定从左下角出发,在右上角结束。其次为了防止漫无目的的搜索,可以删去那些向n轴方向或者m轴方向过分倾斜的路径(例如,过分向n轴倾斜意味着R(m)压缩很大而T(n)扩张很大,而实际语音中这种压、扩总是有限的)。为了引入这个限制,可以对路径中各通过点的路径平均斜率的最大值和最小值予以限制。通常最大斜率定为2,最小平均斜率定为1/2。路径的出发点可以选择(n,m)=(1,1)点,也可以选择(n,m)=(1,2)或(1,3)或(2,1)或(3,1)…点出发。前者称为固定起点,后者称为松弛起点。同样,路径可在(n,m)=(N,M)点结束,也可以在(n,m)=(N,M-1)或(N,M-2)或(N-1,M)或(N-2,M)…点结束。前者称为固定终点,后者称为松弛终点。

  使用DTW算法为核心直接构造识别系统十分简单,首先通过训练得到词汇表中各参考语音的特征序列,直接将这些序列存储为模板。在进行识别时,将待识语音的特征序列依次与各参考语音特征序列进行DTW匹配,最后得到的总失真度最小且小于识别阈值的就认为是识别结果。该方法最显著的优点是识别率极高,大大超过目前多数的HMM语音识别系统和VQ语音识别系统。但其最明显的缺点是由于需要对大量路径及这些路径中的所有节点进行匹配计算,导致计算量极大,随着词汇量的增大其识别过程甚至将达到难以接受的程度,因此无法直接应用于大、中词汇量识别系统。

  结 语

  以本系统为基础开发了一种语音拨号系统,经过大量实验表明,该系统电路运行稳定,且识别率可以达到90%。系统成本低,稍加改进就可把该语音识别模块移植应用到各种系统设备中。

发布者:小宇

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top