You are on page 1of 5

摘要:介绍一种适合家电遥控器应用的语音识别算法,该算法使用双模块和两级端点检测方法,能有效地提高识

别和稳健性;介绍利用该技术实现的一种新型学习型遥控器,展现了语音识别技术在家电领域的广阔前景。

    关键词:语音识别 DTW FED FRED 学习型遥控器

家用电器发展的一个重要方面是让用户界面更加人性化,更加方便自然,做到老年人和残疾人可以无障碍地使用。
利用语音识别技术实现语音控制是提高家电产品用户界面质量的一条重要途径。本文以语音控制遥控器为例,说明语音
识别技术如何应用在家电器领域。

适合家用电器应用的语音识别嵌入式系统结构如图 1 所示,它由四个部分组成。第一部分为模/数转换部分,其输
入端接收输入的语音信号,并将其转化成数字芯片可处理的数字采集信号;在输出端将解码后的语音数字信号转换为
音频模拟信号,通过扬声器放声。第二部分为语音识别部分,它的作用是对输入的数字语音词条信号进行分析,识别出
词条信号所代表的命令,一般由 DSP 完成。第三部分语音提示和语音回放部分,它一般也是在 DSP 中完成的,其核心是
对语音信号进行数字压缩编码和解码,目的是提示用户操作并对识别语音的响应,完成人机的语音交互。第四部分是系
统控制部分,它将语音识别结果转换成相应的控制信号,并将其输出转换成物理层操作,完成具体功能。语音识别与系
统控制的有机结合是完成声控交互的关键,下面将对语音识别算法及遥控系统控制部分作详细的讨论。

1 语音识别算法

目前,常以单片机(MCU)或 DSP 作炎硬件平台的实现消费类电子产品中的语音识别。这类语音识别主要为孤立词


识别,它有两种实现方案:一种是基于隐含马尔科夫统计模型(HMM)框架的非特定人识别;另一种是基于动态规划
(DP)原理的特定人识别。它们在应用上各有优缺点。HMM 非特定人员的优点是用户无需经过训练,可以直接使用;并
且具良好的稳定性(即对使用者而言,语音识别性能不会随着时间的延长而降低)。但非特定人语音识别也有其很难克
服的缺陷。首先,使用该方法需要预先采集大量的语料库,以便训练出相应的识别模型,这就大大提高了应用此技术的
前期成本;其次,非特定人语音识别很难解决汉语中不同方言的问题,限制了它的使用区域;另外还有一个因素也应
予以考虑,家电中用于控制的具体命令词语最好不要完全固定,应当根据的用户的习惯而改变,这一点在非特定人识
别中几乎不可能实现。因此大多数家电遥控器不适合采用此方案。DP 特定人识别的优点是方法简单,对硬件资源要求较
低;此外,这一方法中的训练过程也很简单,不需预先采集过多的样本,不仅降低了前期成本,而且可以根据用户习
惯,由用户任意定义控制项目的具体命令语句,因而适合大多数家电遥控器的应用。DP 特定识别的严重缺点是它的稳
健性不理想,对有些人的语音识别率高,有的人识别率却不高;刚训练完时识别率较高,但随着时间的推迟而识别率
降低。些缺点往往给用户带来不便。为克服这些缺陷,对传统方法作为改进,使识别性能和稳健性都有显著的提高,取
得令人满意的结果。

1.1 端点检测方法

影响孤立词识别性能的一个重要因素是端点检测准确性[4]。在 10 个英语数字的识别测试中,60 毫秒的端点误差就


使识别率下降 3%。对于面向消费类应用的语音识别芯片系统,各种干扰因素更加复杂,使精确检测端点问题更加困难。
为此,提出了称为 FRED(Frame-based Readl_time Endpoint Detection)算法[3]的两级端点检测方案,提高端点检
测的精度。第一级对输入语音信号,根据其能量和过零率的变化,进行一次简单的实时端点检测,以便去掉静音得到输
入语音的时域范围,并且在此基础上进行频谱特征提取工作。第二级根据输入语音频谱的 FFT 分析结果,分别计算出高
频、中频和低频段的能量分布特性,用来判别轻辅音、浊辅音和元音;在确定了元音、浊音段后,再向前后两端扩展搜索
包含语音端点的帧。FRED 端点检测算法根据语音的本质特征进行端点检测,可以更好地适应环境的干扰和变化,提高
端点检测的精度。

在特定人识别中,比较了常用的 FED(Fast Endpoint Detection)[5]和 FRED 两种端点检测算法的性能。两种算法


测试使用相同的数据库,包括 7 个人的录音,每个人说 100 个人名,每个人名读 3 遍。测试中的 DP 模板训练和识别算法
为传统的固定端点动态时间伸缩(DTW)模板匹配算法[4]。两种端点检测算法的识别率测试结果列在表 1 中。

表 1 比较 FED 和 FRED 端点检测算法对 DTW 模板匹配识别率的影响

端点检测算法 第1人 第2人 第3人 第4人 第5人 第6人 第7人 平均

FED 92.5% 87% 92.6% 95.6% 96.2% 96.8% 100% 94.4%

FRED 94.3% 89.9% 93.2% 99.4% 99.4% 98.8% 100% 96.4%

测试结果说明:使用 FRED 端点检测算法,所有说话人的识别率都有了不同程度的提高。因此,本系统采用这种两


级端点检测方案。

1.2 模拟匹配算法

DTW 是典型的 DP 特定人算法,为了克服自然语速的差异,用动态时间规整方法将模板特征序列和语音特征序列进


行匹配,比较两者之间的失真,得出识别判决的依据。

假设存储的一个词条模板包括 M 帧倒谱特征 R={r(m);m=1,2,∧,M};识别特征序列包括 N 帧倒谱特征


T={t(n);n=1,2, ∧,N}。在 r(i)和 t(i)之间定义帧局部失真 D(i,j),D(i,j)=|r(i)-t(i)| 2,通过动态规划过程,在搜
索路径中找到累积失真最小的路径,即最优的匹配结果。采用对称形式 DTW:
其中 S(i,j)是累积失真,D(i,j)是局部失真。

当动态规划过程计算到固定结点(N,M)时,可以计算出该模板动态匹配的归一化距离,识别结果即该归一化距
离最小的模板词条:x=argmin{S(N,Mx)}。

为了提高 DTW 识别算法的识别性能和模板的稳健性,提出了双模板策略,即 x=argmin{S(N,M2x)}。第一次输入的训


练词条存储为第一个模板,第二次输入的相同训练词条存储为第二个模板,希望每个词条通过两个较稳健的模板来保
持较高的识别性能。与上面测试相同,也利用 7 个人说的 100 个人名,每个人名含 3 遍的数据库,比较 DTW 单模板和双
模板的性能差别,结果更在表 2 中。

表 2 DTW 不同模板数的识别率比较

DTW 第1人 第2人 第3人 第4人 第5人 第6人 第7人 平均

单模板 94.3% 89.9% 93.2% 99.4% 99.4% 98.8% 100% 96.4%

双模板 99.4% 96.6% 98.5% 100% 100% 98.8% 100% 99.0%

测试结果说明:通过存储两个模板,相当大地提高了 DTW 识别的性能,其稳健性也有很大的提高。因此,对特定人


识别系统,采用 DTW 双模板是简单有效的策略。

综上所述,该嵌入式语音识别芯片系统采用了改进端点检测性能的 FRED 算法,12 阶 Mel 频标倒谱参数(MFCC)作


为特征参数,使用双模板训练识别策略。通过一系列测试,证明该系统对特定人的识别达到了很好的识别性能,完全可
以满足家用电器中声控应用的要求。

2 语音控制遥控器设计

目前家用遥控器主要为按键式,并有两种类型:一种是固定码型,每个键对应一种或几种码型,都是生产厂家预
先设定好的,用户不能更改;另一种是学习型,具有自我学习遥控码的功能,可由用户定义遥控器的每个键对应的码
型,它能够将多种遥控器集于一身,用一个遥控器就可控制多个家电,又可以作为原配遥控器的备份。由于现代家电功
能不断增加,上述两种遥控器都有按键过多,用户不易记住每个键的含义等问题。将语音识别技术应用于学习型遥控
器,利用语音命令代替按者对命令的记忆和使用,同时省去了大量按键,缩小了遥控器的体积。
    语音控制遥控器的硬件框图如图 2 所示,它由两个独立的模块组成:语音信号处理模块和系统控制模块。

语音信号算是模块由 DSP、快闪存储器(FLASH)、编解码器(CODEC)组成。其中 DSP 是整个语音识别模块的核心,


负责语音识别、语音编解码,以及 FLASH 的读写控制。DSP 的优点是运算速度快、内存空间大、数据交换速度快,可用来
实现复杂的算法,提高识别率,减小反应延时,得到较高的识别性能。DSP 芯片选用 Analog Devices 公司的 AD2186L,
它具有如下特点:①运算速度达 40MIPS,且均为高效的单调周期指令;②提供了 40K 字节的片内 RAM,其中 8K 字
(16Bit/字)为数据 RAM,8K 字(24Bit/字)为程序 RAM,最大可达 4 兆字节的存储区,用于存储数据或程序;③ 3.3V
工作电压,具有多种省电模式。AD2186L 既能完成与语音信号算是相关的算法,又适合使用电池作能源的遥控器。FLASH
和 CODEC 也都选用 3.3V 工作电压的芯片。FLASH 为美国 ATMEL 公司的 AT29LV040A(4M Bit),它作为系统的存储器,主
要用于存放以下内容:提示语音合成所需的参数,特定人训练后的码本数据,DSP 系统的应用程序和学习和遥控码数
据。CODEC 选用美国 TI 公司的 TLV320AC37,用来进行 A/D、D/A 变换、编码和解码。

系统控制模块由单片机、红外接收发送器、电源管理电路组成。单片机负责整个遥控器的系统控制。单片机作为主控
芯片,进行键盘扫描,根据用户通过键盘输入的指令,分别完成学习遥控码;控制 DSP 进行语音训练、回放、识别;将
识别结果转换成相应的遥控码,通过红外发光管发射出去。单片机与 DSP 之间通过标准的 RS232 串行协议通讯。
    系统的控制软件流程图如图 3 所示。在使用前,按“学习键”进入学习状态,用户先对学习型遥控器训练语音
命令,并使其学习与各语音命令相对应的原理控码型。使用时按“识别键”,进入语音识别状态,等待语音处理模块返
回结果,若返回正确的识别结果,则把相应的遥控码发射出去。例如,原电视遥控器数字键“1”对应中央 1 台,用户
的训练命令为“中央 1 台”,学习了原遥控器的数字键“1”的遥控码,并使其与训练命令“中央 1 台”对应起来。于
是使用时只需对着学习型遥控器的麦克风说出“中央 1 台”,电视就会切换到中央 1 台。这样用户不需要记住每个电视
台与台号的对应关系,相对于枯燥的频道数字,用户自定义的命令更容易记住。

若连续的 30 秒无正确的命令则遥控器进入休眠状态,单片机控制电源管理电路切换 DSP 和 FLASH 电源,单片机本


身也进入休眠状态,直至用户按键,唤醒单片机,再由单片机控制恢复 DSP 和 FLASH 供电,重新开始工作。这是因为整
个系统中,DSP 的功耗最大,长时间不用时,关闭语音信号处理模块,可以显著地降低整个系统的功耗。

从实验室走向市场的过程中,可靠性与成本是遇到的最大挑战。采用双模板的 DTW 和两组端点检测 FRED 算法,可


在系统资源和反应延时增加极小的情况下,有效地提高识别率和稳健性。该项技术成功地运用在学习型遥控器上,展现
了语音识别技术在家电领域的广阔前景。

You might also like