一种通用型语音控制系统的设计和实现

时间:2011-06-30

 

  现在社会,人们依靠各种机电系统和计算机系统从事劳动生产、工业控制和科学研究。当人们操纵这些系统的时候,就自然地出现了人与系统的信息交流,即系统不断的自己的运行状态和结果,而人们根据这些状态和结果发出下一步应进入何种状态的命令。长期以来,计算机与人之间的信息交流主要依靠各种形式的键盘,按键等实现的,计算机要运行状态,结果只能通过各种显示装置。这种交流基本上属于数字领域的"手工接触"方式的人机对话。它把人与对象系统限制在近距离面对面的空间里,所交换的信号基本上是数字量或者数字量的转化形式。这种原始的人机对话模式不能体现出机电系统或者计算机系统人机话的特征。

  语言是人类自然的交流手段,在日常生活中,人们通过它互相传递信息。在计算机和人之间通过语言进行交流,这是人们多年来的一个梦想。比尔-盖兹曾说:"语音科技不但是Windows 的未来,更是整个电脑界的未来!".语音是众多信息载体中具有信息容量的信号,具有的智能水平,人们在提高工业用系统、计算机系统智能化水平时,在人机对话方面就是寻求的语音信息交换手段。语音作为人机对话的手段使人机对话向人-人对话发展,在形式上终填补了人机对话的空白。语音的对话方式可使人机界面从数字领域进入到模糊领域。诚然,真正实现语音模糊参数的人机对话还有很多工作要做,但随着语音识别、语音合成、信息综合、模糊控制技术的发展,它的前景非常光明的。下面介绍通用型语音控制系统的设计方案。

  1 通用型语音控制系统设计方案

  图1给出通用型语音控制系统方框图。

 

 


  语音识别模块的主要作用是完成语音辨识,本设计采用特定发音人识别模式。语音识别功能采用语音识别电路,并通过软件编程来实现。语音播放模块的主要作用是完成语音播放。语音播放功能采用语音播放电路,并通过软件编程来实现。语音控制模块的主要作用是使语音识别和语音播放实现自动控制。语音控制功能采用语音控制电路,并通过软件编程来实现。主控制器部分的主要作用是将语音控制系统嵌入到家电产品及其他电子产品中后,使电子产品的所有功能实现语音的自动控制。

  1. 1 凌阳单片机SPCE061A简介

  SPCE061A是凌阳科技推出的一个16位结构的微控制器。CPU时钟频率为0.32~49.152 MHz,具有较高的处理速度,可使μ'nSPTM能够非常容易、快速地处理复杂的数字信号;拥有可编程音频处理;内置2 KWord的SRAM和32 KWord的FLASH;2个16位可编程定时器/计数器(可自动预置初始计数值),2个10位DAC输出通道,32位通用可编程输入/输出端口。它是数字语音识别应用领域产品中的一种比较经济的选择。

  它的优点:功能强、效率高的指令系统:μ'nSPTM的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对语言的支持,这可以大大缩短产品的开发时间。低功耗、低电压:μ'nSPTM家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极大地降低了其功耗,另外,μ'nSPTM家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。

  1.2 通用型语音集成软件

  开发了一套通用型语音集成软件,用户无需进行代码修改,只需要输入语音素材的相关参数,即可实现代码的自动生成。如图2所示,是通用型语音集成软件vO.1版的操作界面。

 


 

  2 语音播放模块设计

  语音处理大致可以分为A/D、编码处理、存储、解码处理以及D/A等。然而,麦克风输入所生成的WAVE文件,其占用的存储空间很大,对于单片机来说想要存储大量的信息显然是不可能的,而凌阳SPCE061A提出了解决的方法,即SACM-LIB,该库可将A/D、编码、解码、存储及D/A做成相应的模块,对应的每个模块都有其应用程序接口API,所以只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现该功能。

  3 语音识别模块设计

  3.1 语音识别原理

  语音识别系统包括学习训练过程和识别过程2大部分,基本原理如图3所示。

 

 


  (1)预处理。包括预加重、加窗分帧、端点检测等处理过程,在预处理之前还有语音信号的数字化处理过程。其中,包括反混叠滤波、模/数转换自动增益等用以去除声门激励、口鼻辐射、高于1/2采样率的高频信号和噪声信号的影响,以实现语音信号的数字化。

  (2)声学特征分析提取。经过预处理后的语音信号,要对其进行特征提取,即特征参数分析。该过程就是从原始语音信号中抽取能够反映语音本质的特征参数,以形成特征矢量序列。目前语音识别所用的特征参数主要有2种类型:线性预测倒谱系数(LPCC)和美尔频标倒谱系数(MFCC)。LPCC系数主要是模拟人的发声模型,未考虑人耳的听觉特性。MFCC系数考虑到了人的听觉特性,但要计算傅里叶变换将耗费大量宝贵的计算资源。因此,在嵌入式语音识别系统中一般都选用LPCC系数。语音特征提取是分帧提取的,每帧特征参数一般构成一个矢量。为此,有必要采用很有效的数据压缩技术方法对数据进行压缩。

  (3)参考模板。参考模版时将一个或多个说话者多次重复的语音参数经过训练得到,它是声学参数模版,在系统识别使用前获得并存储起来。

  (4)判定识别。模式识别是将输入的待识别语音特征参数与训练得到的参考语音模式进行逐一比较分析,获得的匹配参考模式便为识别结果。目前常用的语音识别算法主要有动态时间规则、离散隐马尔可夫模型、连续隐马尔可夫模型及人工神经网。

  3.2 语音识别系统原理和算法

  在SPCE061A内置的8通道10位模/数转换器(analog to digital converter,ADC)中专门设置了一个只用于语音输入的通道MIC_IN,针对较弱信号的转换还设计了一个音频放大器(automation gain control,AGC)。对其自动增益控制放大后再进行A/D转换。实际上,可以把模/数转换器看作是一个实现模/数信号转换的编码器。ADC转换的原理是依次把设定在逐次逼近寄存器SAR中的数字送至10位DAC0中进行D/A转换。DAC0的电压模拟量输出值与外部的电压模拟量输入值进行比较,以便尽快找出外部电压模拟量的数字量输出,其输出的模拟量VDAC0与采样后的输入电压值VIN相比较时可采用对半搜索法,即从SAR中有效位开始,根据比较的大小逐位确定其数码取"1",其余位为" 0".语音识别算法的原理是:在训练过程中,从每个说话人发出的训练语句中提取相应的能充分描述各个说话人行为的特征矢量,这些特征矢量称为各说话人的模板。在测试阶段,从说话人发出的语音信号中按同样的处理方法提取测试模板,并与相应的参考模板相比较。由于说话人每次发音是变化的,测试模板和参考模板在时间尺度上不可能完全一致。为了使二者能在时间等效点上加以比较,采用了动态时间规整法(DTW)。基本原理是在参考样本特征矢量序列A=[a1,a2,…,aM]与待识语音特征矢量序列B=[b1,b2,…,bN]之间用一种非线性规整技术实现匹配。

  凌阳单片机的语音识别模块自带语音的API 函数,其中包括A2000 格式和S480 格式自动播放及手动播放的播放函数,S240、MS01 格式自动播放的播放函数、DVR 格式的语音录放函数和语音识别函数,让凌阳单片机不但可以作为普通的单片机开发系统,而且还可以作为一个语音系统进行语音播放、语音录放和语音识别,大大降低了凌阳单片机的开发难度,并增强了凌阳单片机的使用领域和功能。

  4 语音控制模块设计

  4.1 语音控制模块设计

  语音控制模块硬件部分的功能采用设计的超小迷你电路板来完成。该硬件具有结构简单,成本低,体积小,易于家用电器嵌套等特点。各I/O口的分配及功能是IOB4~IOB7为识别到特定语音后向外部发出信号的常用口;IOB0~IOB1为向外发送信号的预留口;IOB2~IOB3是外部触发SPCE061的外中断触发口,当资源紧张时也可做为输出端口,如图4所示。

 


  4.2 主程序流程

  至此,整套系统完成了。在使用时,次要进行特定人语音识别,识别成功后,自动存入FLASH,以后就无需再训练,上电后自动加载进RAM中,然后进行识别,当识别到特定语音时,IOB就发出相应信号。

  5 通用型语音集成软件的设计

  5.1 集成软件的总体设计和所使用的工具

  该方案的集成开发环境采用Visual Studio(VS)2005的VB.NET来设计。Visual Basic.NET是微软公司推出的全新集成开发环境VS.NET的重要成员之一,简单、易学、易用,很多新特性也正适应了新一代软件开发的需要,只要稍有点语言基础就可以很快掌握,进而精通。可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来;可视化编程环境的"所见即所得"功能,使界面设计如同积木游戏一般。

  采用Visual Studio(VS)2005来编写此集成开发环境,极大地减轻了开发强度,缩短了开发周期,也使它的代码强度和可移植性大大提高。

  5.2 通用型语音集成软件使用简介

  通用型语音集成软件包括了语音识别模块设计、语音播放模块设计、语音控制模块设计的所有代码自动生成,如图2所示。开始可加入提示音,单击打开文件选项,选择想要播放的语音,后面方框打勾表示有此项功能;下面是5条语音的播放和识别,每一条功能相同,现简介如下:条语音提示功能同上,触发端口指辨识到该条语音后所触发的端口号,有IOB0~IOB7,电平指向外发信号是低电平还是高电平,有高电平"1"和低电平"0"两种情况可供选择,以适应不同的情况。训练成功语音提示指次训练时每训练成功1条指令的提示;训练失败语音提示指次训练时失败的提示;训练完成语音提示指次训练成功时的语音指令提示。

  6 结语

  该通用型语音控制系统结构简单,成本低,可扩充性强,开发周期短,可广泛应用于家用电器和其他各种电子产品中。如果该方案能成功应用,定会产生较好的经济效益和社会效益。

 


  
上一篇:一种空间瞬态光辐射信号实时探测系统设计和实现
下一篇:一种基于TMS320F2812智能接口板设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料