基于DSP的语音识别系统研究

2013-02-23 09:18翟片富景新幸
大众科技 2013年12期
关键词:端点特征参数识别率

翟片富 景新幸

(桂林电子科技大学 信息与通信学院,广西 桂林 541004)

研究语音识别的目的是让机器听懂人说的话[1],即在各种情况下,准确地识别出语音的内容,从而根据其信息,执行人的各种意图。语音识别算法是语音识别的核心和灵魂,是能否最终识别以及识别率高低的关键。目前,在语音识别所应用识别算法中,主要有基于隐马尔可夫模型(HMM)、人工神经网络(ANN)、动态时间规整(DTW)等。虽然 HMM模型在解决非特定人、大词汇量、连续语音方面取得较好的效果,但由于其计算相对复杂而且需要消耗大量的存储资源和大量的前期训练工作,DSP存储资源有限,因此该算法不适合在DSP系统中的实现。因此本文采用了计算量相对较小的 DTW算法,该算法在特定人、小词汇量、孤立词的语音识别中取得较好的效果。

1 语音识别的基本原理

语音识别的本质是一种基于语音特征的模式识别[2],然而进行识别的前提和基础是对语音信号的分析和处理。其基本框图如图1所示:

图1 语音识别原理图

语音识别过程主要包括语音信号的预处理、端点检测、特征参数提取,模板库的训练和识别。语音信号的预处理一般包括语音信号预加重、数据分帧和加窗处理等过程。特征参数的提取需要满足以下几个要求:

(1)能够有效代表语音信号的特征;

(2)各阶参数之间有良好的独立性;

(3)特征参数要计算方便,以保证语音识别的实时实现。

2 语音识别系统设计

2.1 语音识别系统的硬件电路结构

由于语音识别系统算法复杂度比较高,同时要考虑实时性,本文选择的是TI公司的TMS320C6713DSK[3]作为硬件的开发平台。DSK6713是一款低成本独立开发的应用板,其最高工作时钟频率可达到225MHZ,且是高性能的32位浮点数字信号处理器。其内部集成了多个功能单元,可同时执行8条指令,运算能力可达1G FLORPS。该应用板带有TLV320AIC23立体编解码器,以及8M字节32bit的SDRAM,512k字节8bit的非易失Flash存储器。

该系统针对的是特定人小词汇量孤立语音的识别,硬件结构如图2所示,主要包括语音信号数据采集模块、数据传输模块,数据处理模块、程序数据存储模块以及 Flash引导装载模块、数据存储器RAM以及其他相关的模块。

图2 系统硬件框图

数据模块主要采用的是 TLV320AIC23编解码器来实现对语音信号数据的采集。AIC23是一款高性能立体声音频编解码器,其内部集成的模数转换器(ADCs)和数模转换器(DACs)采用了待遇过采样数字插补滤波器的多位 Sigma-Delta技术。把AIC23采集的数字信号数据通过DSK6713的McBSP1[4]存入SDRAM中。数据处理的核心模块是用TMS320C6713DSP芯片来实现语音识别的算法。训练时,DSP完成语音信号MFCC特征参数的提取、DTW建模并存入Flash中;识别时,DSP读取待识别的语音信号数据并将所获得的模型参数与训练模型的参数进行比较,从而得到识别结果。

2.2 软件结构

系统的软件流程如图3所示。

图3 软件流程图

首先系统进行端点检测,检测的方法一般采用短时能量、短时过零率或者两者相结合的方法,如果检测到语音信号,则对有效的语音信号信息进行特征参数提取,然后把参考模板数据读取到片内存储器,对每个参考模板进行模式匹配,寻找距离最短的模式作为识别的结果。

(1)端点检测

端点检测的作用是把含有噪声语音信号的起点和终点检测出来。该系统采用的是短时能量和过零率相结合的方法来实现,可以实现对端点的可靠检测。在计算短时能量[5]前,首先将语音信号通过一个一阶高通滤波器进行预加重,它的目地在于滤除低频干扰,尤其是50Hz或60Hz的工频率干扰,将对于语音识别更为有用的高频部分的频谱进行提升。接着对语音信号加汉明窗分帧,再计算能量值进行判断。一般情况下,清音的过零率大多要比浊音的高,浊音的能量大多要比清音的高,因此,在实际应用中,通常是利用过零率来检测清音,用短时能量来检测浊音两者配合实现可靠的端点检测。通过MATLAB仿真绘制出数字7的能量分布曲线图,如图4所示。双门限端点检测算法可以准确的检测出语音信号中的有效成分。

图4 双门限端点检测数字7的结果

(2)特征参数

语音信号含有丰富的信息,这些信息既包括影响语音识别的重要信息,也包括一些掺杂在语音信号里的噪声,这些噪声会大大的降低识别率。特征参数提取可以去除这些,能够准确的把表征语音信号特征的声学参数提取出来,以便用于后端的模型的建立和匹配,不但提高语音识别率而且大大减少存储空间、训练和测试时间。

近年来,一种能够比较充分利用人耳这种特色感知特性的参数得到广泛的应用,这就是梅尔倒谱参数(MFCC)。大量研究表明,MFCC参数在说话人识别系统中应用时性能好于LPCC参数。本文选择MFCC作为特征参数。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,D1, ...,DK作为MFCC参数。

(3)模型训练和模式识别

目前语音识别中使用模板匹配技术比较常见的有隐马尔可夫模型(HMM)、人工神经元网络(ANN)和动态时间弯折算法(DTW)。综合考虑到算法的复杂性和计算量的大小、算法在DSP系统实现的难易程度以及所需要的 DSP资源,因此系统采用算法相对简单和计算量相对较小并且有效的 DTW算法。该算法基于动态规划(DP)的思想,有效解决了发音长短不一的模板匹配问题。DTW的原来是计算模板语音和测试语音之间的相似度,即失真距离。

假设R和T分别表示测试语音和参考语音,他们分别含有M帧和N帧矢量,并且M≠N。首先建立一个二维直角坐标系,将参考语音的所有帧号m=1~M标在纵坐标上,将测试语音的所有帧号n=1~N标在横坐标上。分别对过纵轴的序号画一些平行于纵轴的线和过纵轴的序号画一些平行于横轴的线,这些线交织形成一个网格,参考语音和测试语音各帧之间的交汇点就对应网格中的每个交叉点(n,m)。DTW算法的目的是寻找一条通过该网络中若干交叉点的路径,并且使得该路径上节点的路径之和最小。

3 语音识别在DSP上的实现

3.1 变量的维护

存储容量对于DSP[6]来说是非常宝贵的,所有在DSP中声明的变量都会分配相应的数据空间,对于变量申请所需要的存储空间,应事先计算好,最大化利用 DSP存储资源,不应造成资源的浪费。为了合理利用存储空间,在编写 DSP程序时,应最好维护一张变量表,当每进入一个子块时,应优先使用已分配好但没有使用的变量,而不是急于分配新的局部变量[7]。

3.2 使用模块化的程序设计方法

根据语音识别的实现功能进行模块划分,每个模块又可以细分为若干个小模块,然后对这些小模块进行编程和调试。编程时需要注意变量的使用,在重要的地方需要加上注释和说明。

4 实验结果及其性能分析

所有的语音信号都是在安静的实验室环境下获得的。对10名不同的同学采集了开窗、关门、开门、开窗、打开、关闭等词语,该词语都是通过 DSK6713的麦克风接口输入到应用板。首先由每名同学把这些词语按照指示灯的提示输入到应用板作为训练模板,然后由该名同学按照指示灯的提示随机输入其中一个词语作为测试样本。词语识别率如表1所示。录音时间大约1~2s。

该系统基于实验室环境下进行的,前端没有对语音信号进行去噪处理,因此系统噪声的鲁棒性较差,影响识别率。另外,由于每个同学的发音方式、发音强弱及准确性都有较大的差异,这也会影响识别率。

表1 识别率统计

5 结论

文章首先通过在Matlab平台上对算法进行仿真实验,并选取合适的参数和模型,并将其移植到 DSK6713应用板。在DSK6713应用板上采用DTW算法实现了孤立词、小词汇量的语音识别,系统的硬件电路较简单、工作稳定,算法计算量小,识别率也比较高。如果在前端再进行一些去噪处理,提高语音信号的信噪比,可以更有效的提高语音信号的识别率。

[1]韩纪庆.语音信号处理[M].北京:清华大学出版社,2004.9.

[2]赵力.语音信号处理[M].北京:机械工业出版社,2003.4.

[3]三恒星科技.TMS3206713DSP原理与应用实例[M].北京:电子工业出版社,2009.4.

[4]Implementing a Software UART on the 54x with the Mcbsp and DMA[Z].Application Report SPRA 661A, November 2000.

[5]何英,何强.MATLAB扩展编程[M].北京:清华大学出版社,2002:330-347.

[6]马斌,郭莉莉,韩中华,等.基于DSP的语音识别系统的研究与设计[J].微计算机信息,2008,24(8):197-199.

[7]常丹华,郑春蕾.基于DSP的语音识别智能控制系统[J].电子测量技术,2008.4.

猜你喜欢
端点特征参数识别率
非特征端点条件下PM函数的迭代根
冕洞特征参数与地磁暴强度及发生时间统计
基于类图像处理与向量化的大数据脚本攻击智能检测
不等式求解过程中端点的确定
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
基于PSO-VMD的齿轮特征参数提取方法研究
基于视频的车辆特征参数算法研究
高速公路机电日常维护中车牌识别率分析系统的应用
基丁能虽匹配延拓法LMD端点效应处理