新闻中心

EEPW首页>嵌入式系统>设计应用> ADSP-BF531在嵌入式语音识别系统中的应用

ADSP-BF531在嵌入式语音识别系统中的应用

作者: 时间:2012-09-02 来源:网络 收藏

3.2.2 矢量量化
矢量量化(VQ,Vector Quantization)是一种重要的信号压缩方法,其过程是:将信号波形的K个样点的每一帧,或在K个参数的每一参数帧,构成K维空间中的一个矢量,然后对矢量进行量化。量化时,将K维无限空间划分为M个区域边界,然后将输入矢量与这些边界进行比较,并被量化为“距离”最小的区域边界的中心矢量值。
一个VO编码器往往拥有一个或多个由具有代表意义的矢量组成的集合,称为“码本”(本中码本大小为256),其中每个矢量称为“码矢量”。在中,训练用的特征通过聚类的方法形成码书;时,VO编码器将待语音的特征矢量与码书中的每个矢量进行失真测度运算,最小的失真测度所对应的码字的标号代替输入矢量。
3.2.3 HMM模型建立及训练过程
选择尤跨越的从左向有的HMM模型,状态数取6。训练过程中利用Baum-Welch算法和Viterbi算法来计算所有观察序列的输出概率,然后对其进行累加,得到总输出慨率,采用前后2次的输出概率的相对变化小于一定阈值(如:1×10-4)或超过迭代次数作为训练结束的判据。程序流程图如图6所示。

本文引用地址://m.amcfsurvey.com/article/148467.htm

g.JPG


3.2.4 语音识别
语音识别的过程即是用Viterbi算法将经将输入的矢量量化后的语音与模型库中的参考模板进行匹配。
Viterbi算法是一种前向搜索算法,其可以是在给定相应的观察序列时,找出从模型λ中找出的最佳状态序列,即选择输出概率最大的模版作为输出结果。对数形式的Viterbi算法,能够避免大量的乘法运算,减少计算量,同时还可以保证有很高的动态范围,不会出现由于过多的连乘而导致溢出问题,其算法如下:
h.JPG

4 实验结果及分析
选取500字的词表,词长不大于5;在进行识别前,对每个待识别的词进行训练,参加训练人数为30,其中男性20人,女性10人。实验选取30个人,其中参加训练和未参加训练的各15人,对简单语音命令、数字串、字母串进行测试(每人反复测试5次),结果如表1所示。

i.JPG


通过以上数据可以看出,该系统的对非特定人(包括参加训练和未参加训练)的简单汉语词汇、数字串、字母串等的综合识别率超过了90%,识别时间在0.7 s左右;具有较高的识别率和较好的实时性。从表中可以看出,未参加训练与参加训练的识别率相差约10%,可以通过在软件中增加训练样本量以及完善有关算法等来进一步提高其识别率。

5 结束语
语音识别系统在以为核心的硬件基础上,成功运用DHMM算法完成了对非特定人孤立词的语音识别。该系统运行稳定、可靠,其识别率及实时性均满足使用要求,同时还具有存储容量大、运算速度快的特点,为软件运行留下了充足的裕量,系统后续的完善和升级较容易实现。该系统可于许多特定场合,有很好的市场前景。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭