基于DSP的非特定人、孤立词语音识别系统
摘要:本文介绍了一种基于TMS320C6711 DSP的非特定人、孤立词语音识别系统。本文首先介绍了语音识别技术的基本原理,然后对不同的识别算法在多种嵌入式系统平台上进行性能分析和比较,可得到本语音识别系统具有较高的识别率、实时性和鲁棒性。
关键词:语音识别 DSP 嵌入式 MFCC
1. 引言
语音识别技术,由于它可观的实际应用价值和技术上的难度成为当前的热点。语音识别技术是人机最自然、最简洁的交流方式,它就是让机器能够自动识别并理解说话人要表达的意思,将语音信号转变为正确的文本或者命令的高科技技术。根据实际的应用,语音识别可以分为:特定人与非特定人的识别、孤立词与连续词的识别、中小词汇量与无限词汇量的识别。本文介绍的是基于DSP的非特定人、孤立词、小词汇量的语音识别系统。
随着语音识别市场的发展和语音识别芯片的推出,语音识别已经逐渐从PC平台转移到嵌入式系统设备中,从实验室研究投入到实际应用中。它在嵌入式系统中的主要应用是语音控制,通过操作者对设备进行简便、自由的语音控制操作代替手工操作、甩掉键盘,这极大地减少了操作设备的占用空间。由于使用上的简便快捷,语音识别技术的实际应用逐渐成为一个具有竞争性的新兴高科技产业。
本文采用的硬件系统是德州仪器公司(TI)的带浮点功能的TMS320C6711,它在开销敏感的应用领域中取得创新,主要应用于声音和语音识别、高端图形和图像学、工业自动化等。通过与不同平台上的系统实现,此语音识别系统具有较高的实时性能、较高的识别率和高鲁棒性。
2. 语音识别技术
语音识别过程主要包括语音信号预处理、特征提取、模式匹配等部分。本文针对不同的系统平台,对语音识别的算法和模型进行了优化。
语音识别的基本原理框图(如图1所示)。
图1语音识别基本原理框图(虚线为可选部分)
2.1 前处理
前处理的主要作用是对语音信号采样、A/D转换、端点检测等。其中端点检测就是从说话人的语音命令中,检测出孤立词的语音开始和结束的始点。端点检测是语音识别过程的一个重要环节,只有将孤立词从说话人的背景噪声中分割出来,才能够进一步进行语音识别工作。本文采用短时能量和过零率来进行端点检测。通过用一个定宽度的可滑动的窗序列{w(m)}截取一小段语音信号进行分析,窗体采用矩形窗:
2.2 特征提取
目前,大部分嵌入式语音识别系统采用线性预测编码(LPC)的方法进行语音特征提取。LPC的优点在于能够精确提取语音参数,而且计算速度比较快,易于硬件实现。但是LPC在抗噪性、鲁棒性和识别率等方面都比较低,这导致实用性降低。
为了改进识别系统的性能,本文采用了Mel频率倒谱系数(MFCC)。MFCC参数有着很高的抗噪性和鲁棒性,但是却较为复杂且耗时较长。TMS320C6711带有浮点功能,性能可以达到4800MIPS,这正好解决了MFCC的不足,因此在TMS320C6711系统平台上采用了MFCC。而在其它没有浮点处理的系统平台上采用线性预测编码(LPC)方法。
MFCC在频域将频率轴变换为Mel频率刻度,再变换到倒谱域得到的倒谱系数。 MFCC的计算过程如下:
2.2.1 对信号进行短时傅立叶变换得到频谱;
2.2.2 求频谱幅度的平方,得到能量谱,再用一组三角形滤波器在频域对能量谱进行带通滤波;设滤波器数为M,滤波后得到的输出为:
。 2.2.3 对滤波器组的输出取对数,然后对它做2M点逆离散傅立叶变换得到MFCC。因为对称性的关系,它的变换式可简化表示为:
(4) X(k)为滤波器组的输出值;L为MFCC系数的个数,通常取最低的12~16。
2.3 模式匹配
本文采用动态时间弯折算法(DTW)进行模式匹配。DTW可解决由于说话人语速不同的问题。它将特征矢量作为模板,在语音识别模式匹配时,对输入的语音与模板库中的模板进行比较,最后将相似度最高的作为输出结果。
3. 语音识别系统平台
为了验证不同语音识别算法在各系统平台上的性能,本文分别对三种识别平台进行了比较。
3.1 识别系统平台Ⅰ
此识别系统采用基于TMS320C5409的DSP嵌入式平台,在语音识别算法中的特征提取采用线性预测编码(LPC)的方法。TMS320C5409是德州仪器公司TMS320C54X代DSP。C54X提供了很多性能选项和外设选项,低功耗操作及创新的体系结构和指令集。C5409是一款16位定点DSP芯片,处理器速度最高可达到160MHz,具有64KB RAM 和32KB ROM。
3.2 识别系统平台Ⅱ
此识别系统采用基于TMS320C6711的DSP嵌入式平台,采用LPC进行语音特征提取。TMS320C6711是德州仪器公司最新的TMS320C67X代DSP。它带有浮点功能,并且它是首先具有片内cache存储器L1和L2的DSP,主要应用于声音和语音识别、高端图形和图像学、工业自动化。C6711的性能可达到4800MIPS,具有32位L1P程序缓存和64位L1D数据缓存,而且还带有512k位L2高速缓存。
3.3 识别系统平台Ⅲ
此识别系统采用基于TMS320C6711的DSP嵌入式平台,采用改进的Mel频率倒谱系数(MFCC)进行语音特征提取。
另外,各识别系统平台都具有了相同的语音识别前、后处理设备,例如A/D转换、语音采集等。
4. 性能评估和结果分析
为了进一步对各识别系统在平台上的性能进行比较,我们分别对它们进行了实验测试。实验环境: 500词的词表,小于5字的词长,共20人数(10**)。为了验证识别系统Ⅲ的优越性,我们在噪声比较大的环境下进行测试。每人对测试的识别系统重读3次,其中两次作为对识别系统的训练,一次作为识别。得到测试的结果如下表(表1):
其中平均用时为从话筒语音输入到屏幕显示结果的消耗时长。虽然采用了相同的语音识别算法,但是平台Ⅱ比平台Ⅰ的识别率要高,这是因为TMS320C6711 DSP具有浮点处理能力,而没有浮点功能的TMS320C5409 DSP在部分定点运算中导致精度丢失。
从表1可以看出,在噪音比较厉害的情况下识别系统Ⅲ有着明显的高识别率。
5. 结束语
本文通过比较三种语音识别系统在不同核心平台下的性能,得到了一种比较理想的嵌入式语音识别系统。笔者在某语音控制玩具中采用了语音识别系统Ⅲ,通过结合无线发送模块,在噪声很大的环境下都可以自由控制玩具的各种动作。当采用识别系统平台Ⅰ时,明显感到系统的识别率降低,常出现语音输入无效的状态。而采用识别系统平台Ⅱ时,虽然玩具的反应速度很快,但是识别率过低,不时出现无效语音输入。
在实际的应用中,需要采用各种方案来提高语音识别系统的识别率、实时性和鲁棒性。在语音识别技术中采用Mel频率倒谱系数进行特征提取,有着较高的环境鲁棒性。带浮点的TMS320C67x代DSP处理器,在敏感的应用领域有着创新,例如语音识别、高端图像学、工业自动化等。实用性是目前语音识别技术发展的重点,只有提高了语音识别的实用性,才能进一步推动语音识别市场的发展。
|