经过测试,该系统对于指令词的识别率高,对环境噪声不敏感,硬件的控制可靠,适合于高位截瘫的残疾人使用。
The Development of a Speech-Recognition-Based
Environmental Control Unit For the Disabled
Zhu Lei, Tang Qingyu, Cui Zijing
(Department of Electrical Engineering, Tsinghua University, Beijing,100084)
Abstract
A Speech-Recognition-Based Environmental Control Unit(ECU) is presented in this paper. In the system, a PC is used to sample the input speech and recognize it. Recognized results, which are the control commands, are sent to the control box through a parallel port of the computer. In the control box there are a decoding circuit, groups of relays, and a circuit of infrared remote controller. The control box controls electric appliances, a telephone, and a TV set for some functions. In the recognition of commands, which is speaker-dependent small vocabulary discontinuous speech recognition, Energy-Frequency-Value threshold is used to separate syllables. Coefficients of Linear Predictive Coding(LPC) Cepstrum and delta Cepstrum are selected as eigenvectors, which are compressed and time-registered according to Nonlinear-Blocking rule in the Cepstrum field. The nearest neighborhood criterion is used. Threshold of word length, sliding template, and double-threshold of error are applied to minimize influence of environmental noise.
Test result shows that this ECU has a high recognition rate for commands; it is insensitive to environmental noise, and the hardware control is reliable. This ECU is suitable to be used for high level paraplegic users.
Key words:The disabled, Environmental Control Unit(ECU),Speech recognition, Energy-Frequency-Value,LPC Cepstrum,Nonlinear-Blocking
0引言
环境控制系统(Environmental Control Unit,简称ECU)是一种供残疾人使用的电子机械辅助装置[1],它能使残疾人对居室环境中的各种护理或服务设施进行控制,如开关门,拉窗帘,控制电扇、电视机等家电设备。ECU技术在提高重度残疾人的生活质量方面有着积极意义。ECU中最重要也是最难设计的是它的接口单元,早期的ECU采用机械开关或者电磁开关,使用者下达一个指令时往往要动作很多次,这对于本来行动就不方便的残疾人来说是很困难的。对于大多数四肢截瘫的病人来说,在接口单元处运用语音识别技术,使ECU能够“听懂”残疾人使用者的命令,会给使用者带来很大方便,这种ECU就称为语音控制环境控制器(SECU)。
本文介绍我们研制的一种以PC机为平台的残疾人语音环境控制系统。通过它,高位截瘫患者可以完成开关家用电器、看电视和打电话等动作,实现一定程度上的生活自理。
1系统组成
麦克风声卡PC机监视器并行口控制箱电话电器电视机图1SECU硬件系统组成语音控制环境控制器的系统结构如图1所示,它由PC机、控制箱及家电设备组成。由于语音识别的算法比较复杂,运算量较大,因此采用PC机进行语音数据的采集、处理和识别,然后通过并口把指令传到控制箱中,由控制箱再去对各种电器进行控制。这样构造系统的另一个好处是便于进行软件升级。
图1SECU硬件系统组成
2控制箱的硬件实现
环境控制器对各种电器的控制由控制箱(结构见图2所示)实现,控制箱内有电源、译码电路、继电器组和红外遥控电路等。独立的开关稳压电源提供+12V和+5V直流电源。PC机通过并行口输出的控制信号经译码后分为4组,其中1组用来控制电器设备,1组用来实现电视的基本遥控功能,另外2组用来进行电话拨号。当用于控制电器开关时,控制信号锁存后经MC1413驱动,吸合微型继电器,继而吸合中间继电器,接通220V交流电。微型继电器由+5V供电,中间继电器由+12V供电,在线路板设计上将+5V的地与+12V的地分开以削减由于中间继电器吸合带来的电磁干扰。电视机的控制由专用红外遥控芯片TC9012来实现。一部专门的电话机用来实现语音拨号,当对应于一个按键的微型继电器吸合时,电话键盘上相应的行选和列选被接通,由电话键盘电路发出电话拨号用双音频信号。
图2控制箱结构框图
3语音指令的识别
语音环境控制器中的核心部分是语音指令的识别,在本系统中是由PC机完成的。开发所用的计算机为Celeron366,64M内存,用Creative Sound Blaster PCI64声卡完成语音的采集。语音采集采用8kHz采样率,数据分辨率为16bit。目前,该系统的语音识别属于特定人孤立词语音识别,系统所使用的词汇为约20条指令词和10个数字。识别的流程如图3所示,各部分的算法原理如下:
图3语音识别流程
3.1切分音节
在语音识别中很关键的是确定每个音节的起始和结束位置。音节在大多数情况下是由清音和浊音组成的,浊音的短时平均幅度大而清音的短时过零率高,无声的短时平均幅度最低而短时过零率居中。如果同时考虑短时平均幅度和短时过零率来进行音节切分一定会取得比较好的效果。定义短时能频值
Q0=E0Z0(1)
其中E0为短时能量(一帧语音中各点能量之和),Z0为短时过零率(一帧语音通过零点的次数)。在环境控制器开始工作之前,先在安静状态下确定一个短时能频值阈值QT作为切分音节的依据。
3.2提取特征矢量
语音环境控制器采用线性预测编码(LPC)倒谱[2]和差分倒谱[3]作为特征矢量。它的计算过程如图4所示:
图4特征矢量的计算过程
用Hamming窗将输入的语音s(n)分帧,帧长为20ms,帧移为10ms。求得每帧的自相关系数后经过一个LPC分析器得到阶数为12的AR模型的各个系数,通过式(2)
(2)
可以递归地求得LPC复倒谱,再经公式
(3)
处理和加窗(式4)就可以很方便地得到倒谱系数(m)。
(4)
差分倒谱(m)可以通过差分运算(式5)求得。其中G为一比例因子,在本系统中取为0.375。
(5)
在本系统中,倒谱和差分倒谱都取为16阶,这样对每一帧语音就可以得到一个32维特征矢量。
3.3特征矢量分块
即使是同一个使用者每次发同一个音节时的发音长度也不可能完全一
