微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于嵌入式系统的语音口令识别系统的实现

基于嵌入式系统的语音口令识别系统的实现

时间:11-01 来源:电子科技 点击:

令识别的软件系统分别由特征参数提娶语音模型库和概率输出*分三大模块组成,如图3所示:1)令特征参数的提取,输入不同的令,首先要进行特征参数提取,采用Mel频率参数作为CDHMM的建模参数,Mel频率参数是根据人耳的听觉特性将语音信号的频谱转化为基于Mel频率的非线性频谱,然后转换到倒谱域上。2)在训练阶段,对不同的令建立CDHMM模型。3)在口令识别阶段,通过概率输出*分对待测令做出识别。

  语音口令首先经过预处理,提取MFCC特征参数,然后建立此口令的CDHMM模型,把所有语音口令的模型放在模型库中,在识别阶段,通过概率输出*分,取*分最大的一个作为识别出的口令。

  2.2 CDHMM算法

  HMM是一种双重随机过程,用概率统计的方法描述语音信号的产生及变化过程。HMM的模型参数为λ=(N,M,π,A,B),其中,N为模型中马尔克夫链的状态数目;M为每个状态对应的可能的观察数目;π为初始状态概率矢量,π=(π1,…,πN);A为状态转移矩阵,A=(aij)N*N;B 为观察概率矩阵,B=(bjk)N*N。

  CDHMM的B不再是一个矩阵,而是一组观察值概率密度函数,由M个连续高斯密度函数描述:

  N(o,ujk,∑jk)为多维高斯概率密度函数,o是观察矢量序列,即从语音中提取的特征矢量参数(o1,o2,…,ot),t为观察矢量序列的时间长度。ujk,∑jk分别为高斯分布的均值和方差参数,Cjk为高斯分布的权值,满足约束条件CDHMM参数估计采用"分段K-平均法"。初始模型可以随机选取,由是改进后的模型,再将作为初始值,重新估计。

  基于"分段K-平均法"的CDHMM参数估计具体过程为:

  (1)设置模型参数初始值λ=(π,A,B)。

  (2)根据此λ用Viterbi算法将输入的训练语音数据划分为最可能的状态序列,利用状态序列估计参数A。

  (3)用分段K-平均法对B进行重新估计,即将第二步得到的每一种状态的训练语音数据搜集在一起并对其特征进行统计,从而得到B。

  对于概率密度函数由若干正态分布函数线性相加的CDHMM系统,每个状态θj(1≤j≤N)的概率密度函数bj(X)由K个正态分布函数线性相加而成,这样可以把每一状态语音帧分成K类,然后计算同一类中诸语音帧矢量X的均值矢量,方差矩阵∑jk和混合密度函数中各概率密度函数的权重系数 Cjk。

  (4)由(2)和(3)估计的CDHMM参数作为初值,利用重估公式对CDHMM参数进行重估,得到参数。

  (5)利用(4)所得的计算,并与p(O/λ)相比较。如果差值小于预定的阈值或迭代次数超过预定的次数,即说明模型参数已经收敛,无需进行重估计算,可将作为模型参数输出。反之,若差值超出阈值或迭代未到预定的次数,则将计算结果作为新的初值,重复进行下一次迭代。

  3 结束语

  论文建立了一种基于嵌入式系统的语音口令识别系统,并且对上升、下降等14条口令进行测试,每条语音先切除静音,预加重,然后通过 Hamming窗分帧处理,帧长和帧移分别为20ms和10ms,然后对每一帧语音信号提取16MFCC+16AMFCC共32维参数作为特征矢量。该语音口令识别系统达到了实时的要求,可以使语音口令识别系统广泛应用于便携式设备中。

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

网站地图

Top