基于DSP的智能语音控制系统设计*

2012-07-25 05:34李正周
传感器与微系统 2012年2期
关键词:编解码存储器语音

郑 微,李正周,田 蕾

(重庆大学通信工程学院,重庆 400030)

0 引言

语音识别技术始于20世纪50年代,经过几十年的发展,在技术上已经相当成熟。如IBM公司推出的ViaVoic软件识别系统,可以实现对英语、汉语、德语等多种语言的识别。又如Nuance Communications公司推出的Naturally Speaking语音识别软件也得到了广大用户的认可。我国的语音识别工作起步相对较晚,但近年来发展较为迅速。目前,我国在语音识别方面的水平也基本上与国外同步,并且取得了一系列相应的成果。如清华大学电子工程系研制的非特定人汉语数码串连续语音识别系统,中国科学院自动化所研制的“天语”中文语音系列产品等。

在语音信号的处理过程中,由于数据运算量比较庞大、算法较为复杂,传统的微处理器(如,单片机、PLC等)已经无法满足在实时性很高的条件下对于语音信号的处理。另外,传统微处理器的结构单一也在一定程度上限制了整个人机交互系统的功能,使得最终的产品功能单调,集中性不强。基于以上几点,本文探索利用DSP芯片设计语音命令智能交互系统,以实现与远程智能设备的交互[1,2]。

1 系统硬件设计

整个系统硬件结构框图如图1所示,主要包括TMS320VC5509 DSP、晶振、电源、JTAG 接口、键盘、LCD 显示模块、数据存储器SDRAM、程序存储器FLASH、音频编解码芯片TLV320AIC23B、无线收发模块PTR2000(nRF401)。核心处理芯片采用TI公司TMS320VC5509芯片,该芯片具有低功耗、高速率、高性价比等优点,广泛应用于语音处理、便携式设备终端信号处理等领域。语音编解码芯片TLV320AIC23B,采用了先进的Sigma-Delta过采样技术,可以在8~96 kHz采样率范围内提供16位、20位、24位和32位采样,ADC和DAC的信噪比分别可达90 dB和100 dB。该芯片已广泛地应用于各种音频信号处理领域。无线部分采用基于nRF401无线通信芯片设计的PTR2000模块,该模块发射功耗低、灵敏度高、外围接口简单,是目前低功耗无线电传输的理想选择[3,4]。

系统上电之后,首先测试人员通过麦克风或线性输入的方式将语音信号传递给音频编解码芯片TLV320AIC23B,并通过MCBSP串口传送给系统核心处理芯片(DSP)。然后,DSP在接收到语音控制信号之后采用相应的算法进行分析,识别出语音控制命令。最后,系统将识别出的结果一部分传递给LCD显示模块以便观察,另一部分传递给无线收发模块,以实现与智能设备的远程交互。此外,通过键盘可以查询系统的工作状态,并控制显示电路进行显示,以达到实时监控系统工作的目的。

图1 系统硬件结构图Fig 1 Hardware structure of the system

2 算法分析

目前常用的语音识别算法有动态时间规整(DTW)技术、矢量量化(VQ)技术、隐马尔可夫模型(HMM)、基于人工神经网络(ANN)的识别方法[5]。在孤立词语的识别中,最为简单有效的方法是采用DTW算法,该算法成功地运用动态规划思想解决了发音长短不一的模板匹配问题。在孤立词语的识别方面与其他算法的识别效果相差很小,而且由于DTW算法计算量较小,无需前期的长期训练,便于算法的移植,并且易于在微处理器上实现并保证其实时性[7]。本设计采用DTW算法实现,其识别原理图如图2所示。

图2 语音识别原理图Fig 2 Principle diagram of voice recognition

预处理部分主要包括:分帧和预加重两部分。分帧主要是利用语音信号短时间内频谱的平稳特性,将一段语音信号划分为若干连续的时间小段来进行处理。预加重的主要目的是消除低频干扰,对有用的高频部分进行加强,一般常用一个高通滤波器进行预加重。

对于特征提取部分主要包括:端点检测和MFCC系数生成。利用式(1)~式(3)实现对于语音信号的端点检测

公式(1)表示相邻2个时间点的语音信号的幅度值经过零值,公式(2)表示相邻的语音信号幅值之差大于某固定门限(这里delta取经验值为语音信号最大幅值的0.02),公式(3)实现对于语音信号短时能量的累加,以上的整个检测过程称为端点检测。利用公式(4)生成MFCC系数,公式中bmel表示mel滤波器组系数,bDCT表示其DCT系数。

对于语音识别部分,采用比较模板特征与输入语音的特征的相似程度来实现。根本思想是寻找一个最佳函数Ø(in),使得该函数满足模板特征与输入语音的特征的累积距离最短[7],如公式(5)所示

其中,(d(T(in),R(Ø(in))表示待测矢量第in帧与训练模板中第in帧之间的距离。

3 系统软件实现

整个系统的软件实现流程框图如图3所示。首先系统使用片上支持库初始化语音编解码芯片、存储器、无线收发模块、时钟等片上资源。然后打开多通道缓冲串口完成对语音信号的采集,并将采集到的信号传递给DSP芯片,以完成语音信号的端点检测、训练模板生成等操作。在训练模板生成之后,通过DSP的EMIF口将训练模板存储到存储器中,然后利用MCBSP串口实现对于语音信号的再次采样、特征提取等操作。之后将训练模板中的特征分量与本次采样的结果进行比较,以达到语音命令识别的目的[8]。

3.1 语音编解码模块

语音编解码芯片TLV320AIC23芯片与DSP通过I2C总线互联。系统启动语音芯片时,首先利用I2C总线完成对于语音芯片控制寄存器的配置,例如:设置语音采样速率、音量调节、增益倍数等。在程序的具体实现中DSP主要采用CSL片上支持库来完成对于语音芯片的配置。然后通过MCBSP串口完成对于语音编解码芯片的读写操作。

3.2 存储器与无线收发模块

同步动态存储器大小为4M×16 bit,通过DSP的EMIF口与DSP实现双向通信,可寻址范围为0x40 000~0x7fffff。主要实现对于训练模板的存储。对于扩展存储器的接口配置方法与AIC类似,这里不赘述。

无线收发模块采用的是PTR2000模块,它是一种超小型、低功耗、高速率的无线收发数据传输模块,使用的是nRF401无线通信芯片作为内核芯片。整体是一个封装好的模块结构,不需要进行具体的配置,使用起来极其简单方便。整个模块有:VCC电源引脚、GND电源地、PWR低功耗控制、TXEN收发模式切换、CS频道选择引脚、DO/DI数据输入输出共7个引脚。使用时仅需要简单地通过DSP的IO口设置其收发方式、频道等简单的配置引脚就可以保证其正常工作。

整个软件设计流程的片上外设均采用DSP片上支持库来编写,使用了一组标准化的方法来访问和控制片上资源,整个系统的可裁剪性较好,易于移植。软件流程如图3。

图3 系统的软件实现流程框图Fig 3 Flow chart of system software realization

4 实验分析

如图4所示为输入语音命令和模板信号动态波形。可以看到语音信号的两次比较结果是有很大差异的,然而,利用语音信号在短时时间内的语音频谱的平稳性和不同发音在信号频谱分析中出现的先后顺序,是可以有效地将待测信号检测出来的。表1是系统检测仿真实验结果,可以看出:数字2对应着2号检测结果,8对应着8号检测结果。这里取差异最小的检测值所对应的模板信号为检测结果。实验结果证明了此方法的可行性。

图4 输入信号与模板信号动态波形图Fig 4 Dynamic waveforms of input sygnal and template signal

表1 待测信号实验检测结果Tab 1 Experimental results of the tested signal

5 结论

在实际应用中,利用语音命令来实现与设备的交互,让机器根据人的指令完成相应的操作有着广泛的实用意义。智能人机交互系统可以克服在一些比较复杂的环境下,人们无法与设备直接接触来控制设备的情况,可以很好地满足复杂工业现场的需要。整个系统的设计基于DSP强大的实时运算功能和丰富的片上外设资源,采用片上支持库(CSL)方便地实现对于液晶显示、AIC、外部扩展存储器、无线收发等模块的控制,完成对于语音命令的采集、处理,以达到与远程智能设备交互的目的。整个系统的设计实时性较好、功能集成度较高,具有一定的通用性。另外,由于系统核心处理芯片具有丰富的片上资源以及扩展接口,易与其他设备互联同时也方便整个系统的升级。

[1]Hok,Yang T Y,Par K K J,et al.Robustvoice activity detection algorithm for estimating noise spectrum[J].IEEE Electronics Letters,2002,36(2):180 -181.

[2]黄程韦,赵 艳,于寅骅,等.用语音情感的特征分析与识别的研究[J].电子与信息学报,2011(33):112-116.

[3]宋 辉,刘 加.基于微分麦克风阵列的自适应语音增强算法研究及 DSP实现[J].自动化学报,2009,35(9):1240-1244.

[4]曹晓琳,吴 平,丁铁夫.基于DSP的语音处理系统设计[J].仪器仪表学报,2005,26(8):583 -588.

[5]Campbell J P.Speaker recognition:A tutorial[C]//Proc of IEEE,1997:1437-1462.

[6]姜干新,陈 伟.嵌入式语音识别系统中的DTW在线并行算法[J].计算机应用研究,2010,27(3):977 -980.

[7]Rohit S,Umesh S.A shift-based approach to speaker normalization using non-linear frequeney scaling model[J].Speech Communication,2008,50(3):191 -202.

[8]郭良涛,黄建国,韩 晶,等.基于DSP的小型数字语音通信平台设计[J].计算机测量与控制2009,17(6):1209 -1214.

猜你喜欢
编解码存储器语音
静态随机存储器在轨自检算法
1553B总线控制器编解码设计
为多重编解码世界做好准备
魔力语音
基于MATLAB的语音信号处理
大型民机试飞遥测视频编解码方法研究
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
存储器——安格尔(墨西哥)▲
基于Nand Flash的高速存储器结构设计