当前位置:才华君>好好学习>毕业论文>

语音识别技术在智能家居中的应用

毕业论文 阅读(3.15W)

摘要:研究实用的智能家居语音识别系统,对于智能家居的发展具有重要意义。通过分析嵌入式语音识别技术以及智能家居控制技术,以NL6621板为平台,VS1003为音频解码芯片录制语音。并利用隐马尔可夫(HMM)算法进行语音模型训练和语音匹配,实现智能家居语音控制系统。实验证明此语音控制系统具有较高的识别率和实时性。

语音识别技术在智能家居中的应用

关键词:嵌入式系统;隐马尔可夫;智能家居;语音识别

引言

随着计算机的发展,智能家居在近几年也得到了大家的重视,智能家居利用各种通信、网络技术实现家居设备集成,为用户提供了更加舒适高效的环境。近几年人们对智能家居的便利程度提出了更高的要求,同时语音识别技术也进一步的发展,但是语音在智能家居中的应用还是相对较少,一般还要依靠遥控、手机等中控设备。语言是信息交流的重要手段,语音识别可以用声音来控制设备完成一些特定的命令,减少用户如手机,遥控等中控设备的依赖,使生活更加方便。

本文通过对语音识别技术与嵌入式控制技术的研究,用语音命令实现直接管控从而可以取代以往利用手机或者遥控方式来控制的方法,方便操作而又能提高效率。本系统基于NL6621板与语音芯片VS1003实现语音采集,并采用当今语音识别领域的主流技术一一隐马尔科夫模型(Hidden Markov Model,HMM)算法实现对人语音命令的识别主要是进行模型训练和匹配。实验证明在多个语音样本对系统的训练识别下,系统在非特定人、孤立词语识别上具有良好的效果。

一、语音识别与智能家居

1.1 语音识别技术

语音识别技术本质上是一种模式匹配识别的过程,是机器通过识别和理解过程把语音信号转变成相应的文本文件或命令的技术。根据模式匹配过程语音识别系统可以如下图表示。语音识别系统可以分为:特定人和非特定人的识别、独立词和连续词的识别等,无论哪种识别系统识别过程都主要包括了语音信号预处理、特征提取、训练等。分别通过对信号的预处理分析和计算建立模板,当对语音进行识别时,需要将输入的语音与系统中存放的语音进行比较从而得到识别结果。

1.2 语音识别算法

人的言语过程是一个双重随机过程。因为语音信号本身是一个可观察的序列,而它又是由大脑里的不可观察的、根据言语需要和语法知识状态选择所发出的音素(词、句)的参数流,大量实验表明,隐马尔可夫模型(HMM)的确可以非常精确地描述语音信号的产生过程。隐马尔可夫模型是对语音信号的时间序列结构建立统计模型,将之看作一个数学上的双重随机过程,采用HMM进行语音识别,实质上是一种概率运算,根据训练集数据计算得出模型参数后,测试集数据只需分别计算各模型的条件概率(Viterbi算法),取此概率最大者即为识别结果。一阶离散马尔可夫模型可表示为:有N个状态,Sl,S2... SN,存在一个离散的时间序列t=0,t=1…在每个时刻t,系统只能处于唯一一个状态qt,下一个时刻所处的.状态是随机出现的,当前状态qt只与前面相邻的一个状态qt-l有关, 与其他状态无关,用表达式

HMM语音识别的一般过程:

1.前向后向算法计算

已知观测序列 和模型 ,如何有效的计算在给定模型条件下产生观测序列O的概率

-Welch算法求出最优解 :

(1)初始化

(2)迭代计算

(3)最后计算

rbi算法解出最佳状态转移序列:

已知观测序列 和模型 ,如何选择在某种意义上最佳的状态序列。

(1)初始化

(2)迭代计算:

4.根据最佳状态序列对应的九给出候选音节或声韵母

5.通过语言模型形成词和句子

二、基于NL6621嵌入式硬件设计

语音识别的硬件平台主要包括中央处理器NL6621,可读写存储器,声卡芯片vs1003以及一些外围设备,硬件体系结构如图2所示。

主系统使用新岸线公司的NL6621。MCU采用的最高主频为160MHz,支持和Wi-Fidirect,BSS STA,软AP,WiFi保护设置以及WMM-PS和WPA/WPA2安全协议。codec芯片是vs1003,它与核心控制器NL6621的数据通信是通过SPI总线方式进行的。它集成了麦克风输入接口,音频输出接口,对话筒输入或者线路输入进行IMA ADPCM编码,能有效的接受和播放音频信息。

硬件电路实现:VS1003通过xCS、xDCS引脚的置高或低来确认是哪一个接口处于传送状态。通过串行命令接口(SCI)和串行数据接口(SDI)来接收NL6621的控制命令和数据,通过SCI HDAT1来获取语音流;VS1003的功能控制,如初始化、软复位、暂停、音量控制、播放时间的读取等,均是通过SCI口写入特定寄存器实现的。两条SCI指令之间要通过DREQ引脚信号判断上一次处理是否完成。

三、基于NL6621嵌入式软件设计

软件设计主要包括两部分实现软件控制嵌入式系统和基于HMM技术的语音识别算法编写,基本的软件架构如图3所示。

针对嵌入式系统控制部分,包括硬件初始化以及采集音频信号。主要是使用NL6621提供的软件开发包,利用SDK编写应用程序,包括硬件管脚初始化,波特率匹配,录音文件配置,WiFi配置,录音,音频文件格式转化、程序编写完成后需要用烧写工具进行烧写。系统启动后,先初始化硬件模块。然后系统开始工作,通过语音输入设备MIC采集语音,并通过声卡VS1003输入语音。当系统监听到语音输入,开始语音识别,判断识别是否正确,若正确,将命令发送给执行设备,入耳不正确,给出相应

的错误提示,不执行语音命令。判断识别是否结束,如果结束则退出,否则继续下一轮的识别。基于HMM技术的语音识别算法编写,还包括了语音预处理,特征值提取和匹配识别的部分。主要的原理如图4所示,输入语音经过预处理后,语音信号的特征被提取出来,首先在此基础上建立所需的模板,这个建立模板的过程称为训练过程。根据语音识别整体模型,将输入的语音信号特征与存在的语音模板(参考模式)进行比较,找出一系列最优的与输入的语音相匹配的模板。然后,根据此模板号的定义,通过查表就可以给出计算机的识别结果。采用HMM进行语音识别,实质上是一种概率运算。根据训练集数据计算得出模型参数后,测试集数据只需分别计算各模型的条件概率(Viterbi算法),取此概率最大者即为识别结果。除训练时需运算量较大外,识别时的运算量仅有模式匹配法的几分之一。

四、实验与总结

将程序下载到NL6621平台上运行,实时传人语音,麦克风传人16k采样的ADPCM语音流,通过解码算法转换为PCM语音数据,然后再通过语音识别系统识别语音结果。实验结果表明在普通的工作环境中进行录音解析系统的识别率可达到90%以上,具有较好的识别精度和效率。本文设计了一个简单嵌入式语音识别的平台,并通过实验验证了其语音识别有效性及可行性。对智能家居中嵌入式语音控制开发具有一定的意义。我们仍要通过不断研究,设计更加可靠方便的系统,从而使智能家居语音识别走向跟成熟的市场。