基于语音识别技术的智能台灯

2016-05-14 16:37陆远远马斌夏建草范蕾

陆远远 马斌 夏建草 范蕾

摘 要:随着语音识别技术的迅速发展,它在通信与电子,信息处理等领域呈现出巨大的潜力。我们已经能够把语音识别系统集成到芯片中,可以满足语音拨号,语音查询,语音应答等功能。

本文从设计基于语音识别技术的智能开关出发,设计语音控制的台灯。阐述了智能开关的硬件及其结构,软件及其语音算法和电路设计。硬件采用语音识别芯片LD3320和STC11L08XE主控芯片,实现对语音的控制和识别。软件采用非特定语音识别技术(ASR)。实现了语音控制台灯的开关以及亮灭的同时,使用者还可以通过不同的指令实现同一控制,达到一位多控的目的。

关键词:语音识别芯片;ASR技术;一位多控

中图分类号: TN912 文献标识码: A 文章编号: 1673-1069(2016)24-175-2

1 语音识别技术简述

本项目所用的是非特定语音识别(SI-ASR,Speaker Independent Automatic Speech Recognitich)技术。高级工程师分析语音模型中各个基元语音时,只有让它的统计概率最优化,才能使语音模型转化的硬件芯片具有普适性。因此工程师建立了数学模型,通过对数千人数万小时的有效声音数据进行采集分析,反复训练提取,比较各个语音基元的特征差异和细节特征,最后得到算法和语音模型,并将其应用到嵌入式系统中。故而这是一项基于“关键词语列表”的非特定语音识别技术。ASR技术每次识别的时候,把语音流做频谱分析,提取其中的语音特征后,通过语音识别器将其与“关键词列表”中的预设值进行比较,得出最接近其中的一个预设值作为识别结果。本项目所使用的LD3320芯片便是基于此项技术的嵌入式芯片。

2 语音电路硬件设计

2.1 总体设计

整个系统的硬件电路主要包括核心主控制部分、语音识别部分和照明电路部分。主控制部分设计是以STC11L08XE为核心的控制电路,语音识别部分设计是以LD3320语音芯片为核心的语音电路,照明电路部分则通过搭建LED点阵以及其他电路构成。使用者的语音通过麦克风进入语音识别部分,经过LD3320处理后,将数据并行传输到控制电路,通过控制器处理过后,发送指令控制照明电路。基本设计如图1所示:

图1 语音识别的台灯电路图

2.2 主控模块

由于要处理来自语音芯片的数据,因此要求控制芯片的处理速度要快,抗干扰能力强,功耗要低。同时考虑到市场价格等问题最终采用STC10LO8XE单片机。STC11L08XE的定时器0/定时器1/串行口与传统8051兼容,增加了独立波特率发生器,省去了定时器2。与传统8051的指令相比,执行速度全面提速,比最慢指令快三倍,比最快的指令快二十四倍。它的工作电压为3.3—5.5V,拥有40个I/O接口,512字节的SRAM和8K的FLASH,内部集成高可靠复位电路。因此足以满足主控制系统的需要。

2.3 语音识别模块

LD3320芯片不需外接 Flash和 RAM等存储设备,它的内部集成了快速稳定的优化算法。而且LD3320芯片也不需要使用者事先训练和录音。语音识别芯片内部集成了AD/DA,所以它要完成的工作就是:为得出得分最高的关键词语作为识别结果输出。通过把麦克风输入的语音进行频谱分析后提取语音特征,再和关键词语列表中的关键词语进行对比匹配,得出最优解。因此LD3320芯片的语音识别率比较稳定,准确率也比较高。

本文的LD3320语音芯片采取并行方式(即主控芯片P1.0与语音芯片第46引脚相连,并设置为低电平)直接与STC11L08XE单片机主控芯片相接,并均采用10k电阻上拉。控制信号第42引脚(WRB)、第43引脚(CSB)、第45引脚(RDB)、第47引脚(RSTB)以及中断返回信号第48引脚(INTB)与STC主控芯片直接相连,采用10k电阻上拉,辅助系统稳定工作。第44引脚(A0)用于判断是数据段还是地址段。语音芯片和主控芯片采用同一个外部22.1184MHz晶振;第12引脚(MBS)作为麦克风偏置,接一个MIC增益辅助RC电路,以确保能输出一个浮动电压给麦克风。电路如图2所示:

图2 语音识别模块电路图

3 语音电路软件设计

本文语音识别软件设计采用中断的工作方式,其流程分为芯片初始化,写入关键词列表,开始识别,响应中断,输出控制等。

①芯片初始化:主要完成主控芯片串口初始化,语音芯片软复位、模式设定和 FIFO设定。芯片复位为激活内部数据处理模块,便对语音芯片的第47引脚(RSTB)发送低电平,对片选第43引脚(CS)做从拉低到拉高的操作,实现复位。②写入关键词列表:分别设置“开灯、关灯”基础关键词。再设置“变亮、变暗”等关键词使人为语音调控实现用多种指令完成同一目标的控制。③开始识别:设置若干个寄存器,即可开始语音识别,其识别流程如图3所示。0x37寄存器是控制命令入口,用来启动芯片内部的语言识别运算模块。0xb2寄存器是内部忙闲的状态寄存器。一些内部状态由0xbf寄存器报告出来。

4 总结

通过这段时间的研究与开发,总体完成以下几项工作。首先,我们研究了语音识别技术的原理和算法,参考了语音识别芯片LD3320的数据手册,对它的功能和内部结构有一定的认识和了解,为设计语音电路提供理论支持。

另外,我们还研究了STC11L08XE主控芯片结构和参数设置。LD3320语音识别芯片在语音进入语音识别部分后,LD3320芯片将把处理过的数据传输到主控制器,主控制器处理后,发送命令数据到外围串行设备,实现控制操作的功能。

在语音识别模块的设计方法和原理基础上,以此为核心,我们设计出了外围电路的结构和辅助通信电路的结构,同时也给出了整体设计图。根据该设计方案,基本可以达到基于语音识别技术的台灯的设计要求。

参 考 文 献

[1] 杨行俊,迟惠生.语音信号处理[M].北京:电子工业出版社,1995.

[2] 王炳锡.实用语音识别基础[M].北京:国防工业出版社,2005.

[3] 俞铁成.语音识别发展现状[J].通讯世界,2005.

[4] 赵建光.嵌入式连续语音识别系统研究[D].河北工程大学,2007.