首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DSP的语音识别系统的实现及分析

基于DSP的语音识别系统的实现及分析

 0 引言
  语音识别技术的目的是使机器能理解人类语言,最终使人机通信成为现实。在过去几十年,自动语音识别(AutomaticSpeech Recognition,ASR)技术已经取得了非常重大的进步。
  ASR系统已经能从处理像数字之类的小词汇量到广播新闻之类的大词汇量。然而针对识别效果来说,ASR 系统则相对较差。尤其在会话任务上,自动语音识别系统远不及人类。因此,语音识别技术的应用已成为一个极具竞争性和挑战性的高新技术产业。
  随着DSP技术的快速发展及性能不断完善,基于DSP的语音识别算法得到了实现,并且在费用、功耗、速度、精确度和体积等方面有着PC机所不具备的优势,具有广阔的应用前景。
  1 系统参数选择
  一般情况下,语音识别系统按照不同的角度、不同的应用范围、不同的性能要求有不同的分类方法。针对识别对象不同有孤立词识别、连接词识别、连续语音识别与理解和会话语音识别等。针对识别系统的词汇量有小词汇量语音识别(1~20个词汇)、中词汇量识别(20~1 000个词汇)和大词汇量(1 000以上个词汇)语音识别。针对发音人范围来分,分为特定人语音识别、非特定人语音识别、自适应语音识别。
  本文主要研究非特定人小词汇量连续语音实时识别系统。
  1.1 语音识别系统
  语音识别本质上是一种模式识别的过程,即未知语音的模式与已知语音的参考模式逐一进行比较,最佳匹配的参考模式被作为识别结果。语音识别系统一般包括前端处理、特征参数提取、模型训练和识别部分。图1所示是基于模式匹配原理的语音识别系统框图。

  

  图1 语音识别系统基本框图

  1.2 特征参数
  语音信号中含有非常丰富的信息,包括影响语音识别的重要信息,也包括对语音识别无关紧要甚至会降低识别率的冗余信息。特征提取则可以去除冗余信息,将能准确表征语音信号特征的声学参数提取出来用于后端的模型建立和匹配,大大减少了存储空间、训练和测试时间。对特定人语音识别来说,希望提取的特征参数尽可能少的反映语义信息,尽可能多的反映说话人的个人信息,而对非特定人语音识别来说,则相反。
  现在较常用的特征参数有线性预测参数(LPCC)、线谱对(LSP)参数、Mel频率倒谱参数(MFCC)、感觉加权的线性预测(PLP)参数、动态差分参数和高阶信号谱类特征等,尤其是LPCC和MFCC两种参数最为常用。本文选择MFCC作为特征参数。
  1.3 模型训练及模式识别
  在识别系统后端,从已知模式中获取用以表征该模式本质特征的模型参数即形成模式库,再将输入的语音提取特征矢量参数后与已建立的声学模型进行相似度比较,同时根据一定的专家知识(如构词规则,语法规则等)和判别规则决策出最终的识别结果。
  目前,语音识别所应用模型匹配技术主要有动态时间规整(DTW)、隐马尔可夫模型(HMM)、人工神经元网络(ANN)和支持向量机(SVM)等。DTW 是基本的语音相似性或相异性的一种测量工具,仅仅适合于孤立词语音识别系统中。在解决非特定人、大词汇量、连续语音识别问题时较之HMM 算法相形见绌。HMM 模型是随机过程的数学模型,它用统计方式建立语音信号的动态模型,将声学模型和语言模型融入语音识别搜索算法中,被认为是语音识别中最有效的模型。
  然而由Vapnik和co-workers提出来的SVM 基于结构风险最小化准则和非线性和函数,具有更好的泛化能力和分类精确度。目前,SVM 已经成功应用于语音识别与话者识别。
  除此之外,Ganapathiraju等人已经将支持向量机成功运用到复杂的大词表非特定人连续语音识别上来。因此本文选择SVM结合VQ完成语音模式识别。
  2 系统构建及实现
  为了更好地体现DSP的实时性,选择的合适参数相当重要。考虑到DSP的存储容量和实时性要求,本文首先选用Matlab平台对系统进行仿真以比较选取合适的参数。
  2.1 Matlab平台上的仿真实现
  2.1.1 实验数据的建立
  基于Matlab平台,本文实验语音信号在安静的实验室环境下用普通的麦克风通过Windows音频设备和Cool edit软件进行录制,语速一般,音量适中,文件存储格式为wav文件。语音采样频率为8kHz,采样量化精度为16bit,双声道。
  由于无调音节有412个,有调音节为1 282个,若采用SVM 对所有音节进行分类,数据量很庞大,故本文选择10个人对6个不固定的连续汉语数字进行发音,每人发音15次,音节切分后共900个样本,其中600个样本作为训练样本集,其余300个样本用于特定人的识别;另外选择5个人对汉语数字0~9发音,每人发音3次,共150个测试样本作为非特定人的识别。此外,以上选取的训练或测试样本均考虑到0~9共10个数字的均匀分布,并且样本类型通过手工标定。
  2.1.2 基于Matlab的语音识别系统的仿真及性能分析
  首先对语音信号进行了预处理及时域分析:使用H(Z)=1-0.9375z-1 进行预加重处理;同时考虑语音信号的短时平稳性,进行分帧加窗---选用Hamming窗,帧长32ms,帧移是10ms.本文所设计系统为小词汇量的连续语音识别,考虑到训练时的工作量和运算量,选用音节作为基本识别单元。语音特征参数矢量采用12维MFCC、12维一阶MFCC以及每帧的短时归一化能量共25维构成。
  本文构造了基于SVM 的连续语音识别系统。系统前端采用MFCC特征参数、并用遗传算法(GA)与矢量量化(VQ)混合算法对其进行聚类得到优化码本,然后将所得码本作为 SVM 模式训练和识别算法的输入,按照相应的准则最终得到识别的结果。语音识别系统流程图如图2所示。

  

  图2 语音识别系统流程图

  首先对不同初始种群数的语音识别系统性能进行了分析。表1给出了不同初始种群下的识别系统性能,从表中可以得出,在迭代次数为100、初始种群数为100时,种群最终平均适应度和正识率最高,之后随着初始种群数继续增加,平均适应度和正识率都在降低。综合考虑迭代所需时间和正识率,本文折衷采用初始种群数为80进行系统的仿真和实现。

  

  表1 不同初始种群下的识别系统性能

  种群数平均适应度迭代所需时间/ (s) 正识率系统设计中考虑到MFCC参数数据量太大,对模型训练和识别的时间有很大的影响,因此选择矢量量化对数据进行分类。矢量量化的关键问题是如何获取VQ码本及码本长度的确定,对此进行了仿真比较。
  表2给出了不同VQ算法对正识率的影响比较。由表可以采用种群数为80,码本长度为16,核函数为 RBF,选用的改进遗传算法(GA)时系统的正识率要明显高于LBG和传统GA.LBG容易陷入局部最优,传统GA 具有全局搜索能力,但收敛速度慢。实验证明,改进的GA较好地解决了这两者的问题,收敛速度较快,正识率也有较为明显的提高。

  

  表2 不同VQ算法对正识率的影响比较

  在此基础上比较了传统GA和优化后GA对不同码本长度失真测度的影响,如图3所示。由图可知,在码本平均失真测度上,改进的GA比传统GA在整体上明显有所降低,即种群平均适应度更高。从图3还可以发现码本长度为32时失真测度达到最低,但相比码本长度为16时的值减少的并不太明显。 考虑到迭代时间问题,本文所采用的码本长度为16.
  不同SVM 核函数对语音识别系统性能也会有影响。SVM分类器的目的是设计一个具有良好性能的分类超平面,以满足在高维特征空间中能通过这个分类超平面区分多类数据样本。
  已有文献证明一对一分类器在边界距离上比一对多分类器更精确,故本文采用一对一方法对多类数据样本进行训练和识别。

  

  图3 码本长度的失真测度对比

返回列表