基于DSP的孤立词语音识别系统的设计
1 引言
随着语音信号处理技术的不断发展与成熟,语音识别正逐步成为信息技术中人机接口的关键技术。DSP芯片,即数字信号处理器,是专门为快速实现各种信号处理算法而设计的、具有特殊结构的微处理器,其处理速度比最快的CPU还快10"50倍。本文介绍的就是基于TMS320VC5402配合TLC320AD50C和AT89S52的实验室用机器人的孤立词语音识别系统。
2 语音识别系统的基本介绍
2.1 语音识别系统的组成
计算机语音识别过程与人对语音识别处理过程基本上是一致的。语音信号本身的特点造成了语音识别的困难。这些特点包括多变性,动态性,瞬时性和连续性等。目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可如图1所示。
2.2 语音识别系统的分类
根据对说话人说话方式的要求,可以分为孤立词语音识别系统,连续字语音识别系统和连续语音识别系统;根据对说话人的依赖程度可以分为特定人和非特定人语音识别系统;根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量以及无限词汇量语音识别系统。
3 硬件系统设计
此语音识别系统的目的让机器人能听懂我们所发出的简单的命令,首先由TLC320AD50C采集计算机声卡的语音,经过转换后送给TMS320VC5402, TMS320VC5402完成语音信号处理,即识别出所发出的语音,然后把结果送给AT89S52显示,同时通过串行通讯送给机器人(PC-104),以使机器人能够控制自己的行动。其结构框图如图2所示。
该系统以TMS320VC5402为核心电路,对孤立词语音信号进行采集和处理,AIC为TMS320VC5402的模拟接口电路,包括放大、滤波、和A/D转换的电路,把由话筒采集进来的模拟语音信号,转换成数字语音信号。其中SRAM和Flash分别为TMS 320VC5402的数据存储器和程序存储器。键盘和显示部分则由AT89S52来控制,AT89S52把键盘操作转换为控制信号再传送给TMS320VC5402,控制系统的工作是训练还是识别,TMS320VC5402把要显示的系统状态通讯给AT89S52,以实现LCD显示。这些硬件工作过程如图3所示。
3.1 TMS320VC5402与TLC320AD50C的接口设计
TMS320VC5402提供了两个增强型的高速、全双工多通道缓存串行口McBSP, McBSP具有全双工的通信机制以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输,数据长度可以为8,12,16,20,24,32;同时还提供了A-律和μ律压扩,多达128个通道的发送与接收。McBSP通过7个引脚使得一个数据通路和一个控制通路与外部设备相连。McBSP的引脚如下:
① DX:发送引脚,与McBSP相连发送数据。
② DR:接收引脚,与接收数据总线相连。
③ CLKX:发送时钟引脚。
④ CLKR:接收时钟引脚。
⑤ FSX:发送帧同步引脚。
⑥ FSR:接收帧同步引脚。
TLC320AD50C集成了16位A/D,D/A转换器,采样速率最高可达80kHz。在TLC320AD50C内部DAC之前有插值滤波器,ADC之后有抽样滤波器,接收和发送可同时进行。TLC320AD50C主机时钟信号来源于外部,通过MCLK引脚输人。帧同步信号从内部产生,由MCLK导出,其频率由控制寄存器4设定。SCLK时钟可以由内部产生也可由外部插入,在内部产生时,其频率为帧同步信号频率的256倍。其主要特点如下:
① 可采用单5V电源供电也可以采用5V模拟、3.3V数字双电源供电;
② 内含16位精度的Σ-△ADC和DAC;
③ 器件中的ADC为64倍过采样,DAC为256倍过采样(内部);
④ 具有85dB的最小信噪比;
⑤ 带有内建抗混叠滤波器和sinx/x补偿;
⑥ 可配置成主机或从机方式,一个串行接口可支持4个TLC320AD50器件;
TLC320AD50C与TMS320VC5402串行通信可以分为首次通信和二次通信。在首次通信中,有两种数据传送模式,16位传送模式和15+1位传送模式,可通过控制寄存器设定。省却情况下为15+1位传送模式。
TMS320VC5402与TLC320AD50C的硬件接口电路如图4所示。
3.2 TMS320VC5402与AT89S52的通信
AT89S52和TMS320VC5402各自独立工作,其信息和数据交换通过共享一片外部存储器来实现,它们之间信号联络通过硬连接和软件判断来实现。
外部存储器采用的是CY7C133,它是高速的2K X 16bit的静态异步双端口RAM,其存储速度为25ns。它有两套独立的地址线、数据线和控制信号线,允许两个控制器件中的数据通过共同连接的存储器来进行通信。该双端口RAM允许两个控制器同时读取任何存储单元(包括同时读同一单元),但不允许同时写或者一读一写统一地址单元。
对于TMS320VC5402,数据存储器CY7C133的对应地址为4000H"47FFH。
对于AT89S52,数据存储器CY7C133的对应地址为2000H"27FFH。
4 软件系统设计
由图1可知,软件系统的设计主要包括端点检测、特征量提取和模式匹配。
4.1 端点检测
从背景噪声中找出语音的开始和终止,这在很多语音处理领域中是基本的问题。特别是在孤立词的自动识别中,找出每个单词的语音信号范围是很重要的,确定语音信号的开始和终止的方案可以用来减少非实时系统中的大量计算,使该系统仅处理语音输入。本语音识别系统实时、精确的端点检测可以排除无声段的噪声干扰,使后面的识别性能得以较大的提高。
汉语的音节末尾都是浊音,只用短时能量就能较好地判断一个词语的末点。而汉语词语的起点检测不仅有一定的难度,而且检测是否准确对语音识别性能影响颇大,因为大多数声母都是清声母,还有送气与不送气的塞音和塞擦音,将它们与环境噪声分辨是比较困难的。这里用短时相对能频积的方法对语音信号的端点进行检测。
语音信号一般可分为无声段、清音段、浊音段。无声段的平均能量最低,浊音段的平均能量最高,清音段的平均能量居于两者之间。在有噪声环境下,语音刚开始的一段,其短时能量的大小与背景噪声的短时能量差不太多。清音段的过零率大多数情况下最高,无声段的过零率变化范围较大,一般情况下比浊音段低一点,但有时会比浊音段稍高一点或者差不多。
在系统刚启动时,正常情况下语音信号的前100ms是无声段,所以我们可以提取这段语音信号的平均能量、平均过零率、它们的乘积(称为能频积) 作为进行判断的特征参数。
4.2 特征量提取
原始语音信号不能直接用于模板训练和模式匹配,这是因为(1)原始语音信号数据量太大,系统的运算和存贮负担过重;(2)原始语音信号包含太多的随机因素,极大的影响了系统的识别率。
语音识别系统进行模板训练和模式匹配的数据是从预处理后语音信号中提取的特征参数。通过预处理和特征参数提取技术,一方面使得进行模板训练和模式匹配的数据特征明显,提高了系统的识别率;另一方面进行了信息压缩,降低了系统的运算量和存贮量。
特征参数提取就是从语音信号中提取有代表性的、合适的特征参数,进行适当的数据压缩。时域参数的优点是计算量比较少,对于区别语音段和静音段及清/浊音段比较方便,效果也比较明显。但由于人耳对声音的频域特性比较敏感,时域参数不能恰当地反映这种特征。
线性预测分析法是最有效的语音分析技术之一。线性顶测分析所包括的基本概念是,一个语音抽样能够用过去若干个语音抽样的线性组合来逼近。通过使实际语音抽样和线性预测抽样之间差值的平方和(在一个有限间隔上)达到最小值,能够决定唯一的一组预测器系数(预测器系数是线性组合中所用的加权系数)。
线性预测系数(LPC)倒谱系数其实是复倒谱。复倒谱是信号通过z变换以后取对数,再求反G变换而得到的。线性预测分析方法是一种谱估计的方法,而且其声道模型系统函数H(z)反映了声道的频率响应和原始信号的谱包络,因此用lgH(z)做反Z变换即可求出其复倒谱系数。该复倒谱系数是根据线性预测模型直接得到的,因此又称之为LPC倒谱系数。
4.3 模式匹配
模板匹配法是多维模式识别系统中最常用的一种相似度计算方法。在训练过程中,经过特征提取和特征维数的压缩,并采用聚类方法,针对每个模式类各产生一个或几个模板,识别阶段将待识别模式的特征矢量与各模板进行相似度计算,然后判别它属于哪个类。语音识别也可以用模板匹配法进行相似度计算,但它在特征维数方面存在一个时间对准问题,是通常模式识别匹配计算时不具备的一些特殊情况。孤立词识别时,每个类是一个词,每个词由一个或多个音素或类音素构成。在训练或识别过程中,每次说同一个词时,其持续时间长度和各个词的各音素或类音素的相对时长都会随机地改变。因此在匹配时如果只对特征矢量序列进行线性时间规整,其中的音素或类音素就可能对不准。而应该采用某种非线性时间对准算法。动态时间规整(DTW)就是效果最好的一种非线性时间规整模板匹配算法。
不同的人所发的语音信号,其模式有很大的差异,即使是同一个人,在不同的时间由于方法不同,其语音特征参数也有变化。在模式匹配时,由于这些变化会影响测度的估计,从而识别率降低。为了提高识别率,首先要把语音信号的起始点检测出来;其次,为了克服两次同样的语音而发音时间长短的不同,采用对标准模式的语音信号均匀地伸长或缩短直到它与未知语音信号长度相一致。这种方法能达到的识别精度完全取决于端点检测的精度。
5 结语
本系统主要工作是服务于实验室智能机器人的孤立词语音控制。实践证明,本系统能够对机器人常用的一些命令词进行识别,并且比实验室的传统机器人的控制方式方便得多,经过改进可以用到工业机器人的控制系统中去。
本文作者创新点是利用DSP对A/D采集来的语音信号进行处理,然后和计算机通信,同时将处理结果送给单片机实现LCD显示。
|