1、机械人的语音识别技术机械人的语音识别技术摘要1897年,M G 马可尼所完成的无线通信实验就是在固定站与 一艘拖船之间进行的,距离为為海里。标志着通信进入了一个新的 时期,随着社会的进步,科技进展也日趋兴盛起来。电于技术和智能 自动化的进展更是为人们的日常生活和工业生产提供了极大的方便。人们能够通过一系列的信息传递来直接或间接的控制机械的运 转。让机械能够听懂人类的语言而且能够依照人的口头命令行动,从 而实现人际交流一直以来都是人类的一个梦想。本文所研究的机械人 语音识别和控制,对于服务于机械人的应用领域具有重要的现实意 义。通过单片性能够很方便的实现语音控制技术,本次设计是利用凌 阳单片机S
2、PCE061A的语音识别控制特性,按照语音识别的大体原 理,对智能机械人进行语音控制,使其按照人的指令做出左转、右转、 前进、后退、跳舞、发射飞碟等相应的动作。由于材料等各方面的限 制,只能以理论的形式出现。关键词:语音识别,语音控制(嵌入式语音的识别技术),智能机械人,语音紧缩算法1绪论 .3本次课题的由来设计目的及任务及设计理念声控机械人的进展前景整体方案的计划2嵌入式语音的识别技术 11模式匹配原理的引入语音识别技术总括3软件设计 .20主程序的设计语音紧缩算法的研究关键模块的设计4功能的实现 .29机械人预想功能的整体实现5 设计总结 .301绪论设计课题由来单片机在现实生活中愈来愈多
3、的被应用于工业生产和生活娱乐当中。自从人类能够利用机械以来,就有一个梦想,那就是能够与机 械人进行语言交流,让机械人依照人的指令去完成相应的操作。语音 识别技术就是让机械人通过语音识别把语音信号转变成相应的文木 或命令的高新技术。语音识别技术所涉及的领域包括:信号处置、模 式识别、概率论和信息论、发声机理和人工智能等等。都属于电子信 息专业的大体课程。随着社会的进步和日趋进展,智能自动化系统逐渐被应用到服务 行业。于是“机械人”也就应运而生了,可是此刻机械人的进展还处 在一个不成熟的阶段,它还不能象人们想象的那样做出各类各样的动 作来服务于人类。随着社会的进展,人们的物质文化生活水平也有了 较
4、大的提高,为了知足人们愈来愈高的要求,机械人的深切和普及也 愈来愈受到人们的关注。人有五官,机械人的视觉一一电子摄象已经随着安全防护的进展 有了必然的进展,平常咱们在楼宇监控系统能够看到简单的机械人视 觉系统(电子摄象及处置),数码相机等。声音的控制除咱们平常所 碰到的声控灯,咱们很难再找到别的。语音一一这种人类最简单、最 自然、最方便和最有效的互换信息的方式,在机械人上的应用还较少。基于单片机和外围接口技术,咱们能够大致画出语音控制的大体 框图。屮央处理系统S 7图最原始的机械人语音控制用语音控制来操作机械人代替烦琐的键盘输入。和机械通话实现人机 对话是十分诱人的,具有广漠的进展前景,是机械
5、人人工智能的重要扌小志O图 改良的机械人语音识别框图设计的目的及任务咱们想象中的理想机械人应该是能够象人类一样听懂自然语言, 能够在燥声情形下,必然的频率范围内。语言是由不同的人的声带所 发出的,人们辨别它主如果通过声波的变换来判断的,这就是咱们平 常所说的音变。如此就使大体模型的音界变的不甚明确,于是在明确 的电脑语言处置下就变的比较困难。在人们普通的对话中,有时候人类自己也很难辨别对方模糊的语 音,不同的词语听起来会超级相似,这就是咱们平常所说的语音的模 糊性。在语音的控制方而,第一要对燥声环境,非特定人,语音模糊和 音变等一系列事实的困难进行过滤和处置,这就需要大量的数据处 置,如此分派
6、给听觉的时刻就超级有限。于是普通的单片机就不能专门好的知足如此一系列复杂的要求, 这就需要在已有语音识别技术的研究基础上,配合功能壮大的凌阳 16位单片机SPCE061A,对机械人的语音识别和特定命令对应行为能 力的结合进行实现,是一个实践性和操作性要求较强的实用性课题。机械人语音识别是语音识别在机械人领域的应用,它的最终目的 是让机械人听懂人们口述的语言,进而对口述语言中包括的要求或询 问做岀正确的动作反映或语言反映,从而形成一个良好的,自然的“人 机通信系统”。以进一步推动服务机械人的进展和应用。因此,研究 机械人的语音识别,对于服务机械人的普及与应用意义重大。未来科技的进展趋势是在以人为
7、木的前提下,更多地实现机械设 备的自动化和智能化,让机械为人服务,代替人们进行繁重的体力劳 动和高危险工程。借助机械之力进行社会建设已经成了一个必然的选 择。随之而来的进展与和谐生活的命题必然会将人机交流的重要性提 到一个新的高度,成为服务型机械人投入社会的关键所在。设计理念:在整个设计进程中,咱们本着一切向能实现理想机械人 的方向靠拢。可是木次设计还缺乏必然的实践。声控机械人的进展前景机械人是多学科交叉的产物,集成了运动学与动力学、机械设计 与制造、运算机硬件与软件、控制与传感器、模式识别与人工智能等 学科领域的先进理论与技术。同时,它又是一类典型的自动化机械, 是专用自动机械、数控机械的延
8、伸与进展。当前,社会需求和技术进 步都对机械人向智能化进展提出了新的要求。语音信号处置技术就是利用数字信号处置技术对于因信号进行 处置,处置的目的利用取得的某些参数进行高效传输、存储、语音增 强、语音合成和语音识别。我国的语音识别系统的研究起步比较晚,可是也取得了专门好的 成绩,研究水平也从实验室慢慢走向实用,从1987年开始执行国家 863计划后,国家863智能运算机专家组为语音识别技术研究专门理 想,每两年转动一次。我国PC机语音识别技术的研究水平己经大体 上与国外同步,在汉语语音识别技术上还有自己的特点和优势,可是 独立开发的专用汉语语音识别芯片仍是较少,多数都是与国外研究机 构合作开发
9、研制的。能够说,语音识别的研究已经取得了全世界范围的重视,是引领 未来科学进展方向的关键技术之一。因此,研究机械人的语音识别, 开发实用的机械人语音识别系统,对于服务机械人的普及与应用意义 重大。整体方案的计划木课题是基于SPCE061A的智能机械人语音识别的实现,最终目 的是形成一个较好的人机交流环境,使机械人能够听懂通过训练的人 的口头命令,并能够依照命令进行相应的动作。由多带通滤波器及现行匹配电路组成的专用ICo专用IC是以8 位或16位单片机为计算核心,外加A/D转换,D/A转换及存储器。由DSP组成的语音识别系统,一般由定点16位DSP,外加A/D 转换,D/A转换,和ROM、RAM
10、、FALSH等存储器组成。由人工神 经网络组成的语音识别专用芯片。SOC 是将 MCU 或 DSP、A/D、D/A、RAM、ROM 和预放、功 放等电路集成在一个芯片上,只要加上极少的电源供电等外围电路, 就可以够实现语音识别、语音合成及语音回放等功能。SPCE061A是一种集成度很高的单片机,它将MCU、A/D、D/A、 RAM、ROM集成在一块芯片上,同时具有16*16位的乘法运算和内 积运算功能,CPU最高时钟频率可达到49MHz*木课题的主要实现进程是:外部语音命令通过转换装置输入到系 统内部,通过语音识别程序的处置转化为机械人可识别的触发命令然 后触发相应子程序进行相关动作。动作的实
11、现方式是:凌阳61板向 控制不同端口送高低电平以控制置于机械人内部不同位置的电机的 运转,挪用延时,按照需要使各个部份电机彼此配合,完成要求的动 作,从而实现机械人的语音控制。木设计综合考虑SPCE061A单片机的特性和机械人行动模式来进 行设计,具体模块如图所示。整个设计分为主控模块、语音模块、电机模块等,各个模块别离 完成,然后进行结合,实现机械人的语音识别。具体进程是:第一进 行机械人的语音训练,咱们这次设计采用的是特定人语音识别,每一 个命令发布者都必需在发布命令之前对机械人进行命令的语音训练。 如此做有一个益处,非特定人不能命令机械人进行动作。整个硬件设计部份以维持机械人外部灵活性为
12、前提,在机械人各 个部份内置电机,利用三极管的通断特性来设计电路,完成硬件电路 的设计和组装。具体电路如下:左右腿、脖子电机驱动模块(摘抄)加速及发射电机VCCMOTOR输入/输出接口嵌入式语音的识别技术模式匹配原理的引入嵌入式语音识别系统都采用了模式匹配的原理,语音识别一般分 为两个步骤。第一步是系统“学习”或“训练”阶段。这一阶段的任 务是成立识别大体单元的声学模型和进行文法分析的语言模型,即构 建参考模式库。第二是“识别”或“测试”阶段。按照识别系统的类 型选择能够知足要求的一种识别方式,采用语音分析方式分析岀这种 识别方式所需求的语音特征参数,依照必然的准则和测度与参考模式 的模型进行
13、比较,通过裁决得出结果。库特征提取通过预处置后的语音信号,要对其进行特征提取,即特征参数分 析。该进程就是从原始语音信号中抽取能够反映语音木质的特征参 数,形成特征矢量序列。目前语音识别所用的特征参数主要有两种类 型:线性预测倒谱系数(LPCC)和美尔频标倒谱系数(MFCC)。LPCC 系数主要模拟人的发声模型,为考虑人耳的听觉特性。它对元音有较 好的描述能力,而对辅音描述能力差。其长处是计算量小,比较完全 地去掉了语音产生进程中的鼓励信息,易于实现。MFCC系数考虑到 了人听觉特性,并具有很高的抗噪声能力,但因为提取MFCC参数要 在频域处置,计算傅立叶变换将花费大量宝贵的计算资源。因此,嵌
14、 入式语音识别系统中一般都选用LPCC系数。语音特征提取是分帧提 取的,每帧特征参数一般组成一个矢量,因此,语音特征是一个矢量 序列。该序列的数据率一般可能太高,不便于其后的进一步处置,为 此,有必要采用很有效的数据紧缩技术方式对数据进行紧缩。矢量量 化就是一种专门好的数据紧缩技术。参考模式库参考模式库是将一个或多个说话者的多次重复的语音参数通过 训练取得的。它是声学参数模板。成立参考模式库是在系统利用前取 得并存储起来的。参考模式库的成立进程称为训练进程。模式匹配模式匹配是将输入的待识别的语音特征参数同训练取得的参考语音模式进 行一一比较分析,取得最优匹配的参考模式即是识别结果。目前常常利用
15、的语音 识别算法主要有:动态时刻规整(DTW)、隐马尔可夫(HMM)理论、矢量量化(VQ) 技术。语音信号识别技术语音识别的进程就是将用麦克风或电话捕捉到的声波信号转化 成一组词语的进程。被准确识别的词语可以得出最后的结果,进入响 应,如指挥与控制系统,数据输入和文件的预备工作。也能够作为输 入,为进一步的语言加工服务,以达到发言被理解的目的。矢量量化的大体原理将若干个标量数搦组成一个矢量(或是从一帧语音数据中提取的特征矢量)在多维空间 给与整体量化,从而能够在信息量损失较小的情形下紧缩数据量。矢虽:量化有效地应用 了矢疑中元素之间的相关性,因此能够比标量量化有更好的紧缩效果。当给矢量量化器输
16、入一个任意矢量形卅进行矢量量化时,矢量 量化器第一判断它属于哪个子空间的代表矢量打。也就是说,矢量 量化进程就是用Y代表X,的进程,或说把X,量化成了与Y。Yj = Q(XN5j5JgSN式中,e(x,)量化器函数。矢量量化器和码书的设计矢量量化器和码书设计方式是采用递推算法,那个算法就是LBG 算法。整个算法实际上就是最佳设计和最佳码书两个条件的反复迭代 进程,即由初始码书寻觅最佳码书的迭代进程。它从对初始码书进行 迭代优化开始,一直到系统性能知足要求或再也不有明显的改良为 止。隐马尔可夫模型隐马尔可夫模型(Hidden Markov Models,简称为HMM),作为 语音信号的一种统计模
17、型,今天正在语音处置的各个领域中取得普遍 的应用。大约100年前,数学家和工程师们就已经明白马尔可夫链 了。可是,只是在近三十几年里,它才被用到语音信号处置中来,其 主要原因在于那时缺乏一种能使该模型参数与语音信号处置达到最 佳匹配的有效方式。直到20世纪60年代后期,才有人提出了这种 匹配方式,而有关它的理论基础,是在1970年前后由Baum等人成 立起来的,随后由CMU的Baker和IBM的Jelinek等人将其应用 到语音识别当中。由于Bell实验室Rabiner等人在20世纪80年 代中期对HMM的深切浅出的介绍,才逐渐使HMM为世界各国从事语 音信号处置的研究人员所了解和熟悉,进而成
18、为公认的一个研究热 点。近几十年来,隐马尔可夫模型技术无论是在理论上或是实践上都 有许多进展。其大体理论和各类实用算法是现代语音识别等的重要基 础之一。HMM的大体参数对于语音识别,HMM能够用下而六个模型参数来概念,即:M= S, 0, A, B n , FS:模型中状态的有限集合,即模型由几个状态组成。设有N个 状态,S=S, i二1, 2,N。记t时刻模型所处状态为5,显 然耳丘(厲,几)。0:输出的观测值符号的集合,即每一个状态对应的可能的观察 值数量。记M个观察值为0“,0-记t时刻观察到的观察值为 0八其中 ot u(0|,,0“)。A:状态转移概率的集合。所有转移概率能够组成一个
19、转移概率矩阵,即:ai ainA二 an ann其中知是从状态Si到状态Sj转移时的转移概率,lWi, jWN 且有0 W呦W1,工aij = 1 oB:输岀观测值概率的集合B=切(k),其中如(k)是从状态5, 到状态耳转移时观测值符号k的输岀概率。按照B可将HMM分为 持续型HMM和离散型HMM等。为伙)=1 (离散型HMM)kj x bjj(k)dk = 1 (持续型 HMM)开:系统初始状态概率的集合,兀=街,碣表示初始状态是耳的概 率,即: =PS =q ,(lGM N) 工TF:系统终了状态的集合。这里需要说明的是,严格地说Markov模型是没有终了状态的, 只是在语音识别里用的M
20、arkov模型要设定终了状态。如此,能够记一个HMM为M二S, 0, A, B, n , F,为了便于 表示,常常利用下面的形式表示一个HW,即简写为M二A, B,兀。 所以形象地说,HMM能够分为两部份,一个是Markov链,由n、A描 述,产生的输出为状态序列。另一个是一个随机进程,由B描述, 产生的输出为观察值序列,T为观察值时刻长度。隐马尔可夫模型的大体算法欲使所成立的HMM对于实际应用有效,下面三个问题必需加以 解决:(1)识别问题:给定观察符号序列0二ol,o2,,oT和模型M二A, B, n,如何快速有效地计算观察符号序列的输出概率P(O|M);(2)寻觅与给定观察字符序列对应的
21、最佳的状态序列:给定观察 字符号序列和输出该符号序列的模型M二A, B,兀,如何有效地肯 定与之对应的最佳的状态序列。即估量岀模型产生观察字符号序列时 最有可能通过的路径。它能够被以为是所有可能的路径中,概率最大 的路径。这种算法的指导思想就是概率最大的路径是最有可能通过的 路径,即最佳的状态序列路径;(3)模型训练问题:实际上是一个模型参数估量问题,即对于初 始模型和给定用于训练的观察符号序列0二ol,。2,,oT如何调整 模型M二A, B,兀的参数,使得输出概率P (0M)最大网。下面结 合讨论这三个问题的解法,介绍HMM的大体算法。前向后向算法前向-后向算法(Forward-Backwa
22、rd,简称为FB算法)是用来 计算给定一个观察值序列0二ol,。2,,oT和一个模型M=A, B, 兀时,由模型M产生出0的概率P (0 M)的。设S1是初始状态,SN是终了状态,则前向-后向算法能够介绍如下:1.前向算法前向算法即按输出观察值序列的时刻,之前向后递推计算输岀概率。第一说明下列符号的概念:0=ol,o2 ,oT输岀的观察符号序列P(0|M)给定模型M时,输出符号序列0的概率aij从状态Sj到状态Sj的转移概率big)从状态S,到状态Sj发生转移时输岀o,的概率40)输出部分符号序列ol,o2,- ,ot并且到达状态S)的概率,即前向概率由上面符号的概念,则40)可由下而的递推公
23、式计算取得:(1) 初始化 陽(1) = 1,(;) = 0()/1)(2) 递推公式 吗(丿)=工(恥心) (t二1, 2,,T;i, j=l,2,,N)(3) 最后结果P( O|M)=吟(N)t时刻的勺(刀等于t-1时刻的所有状态的g(処b)之和,固 然若是当状态S:到状态S畀殳有转移时s =0o如此在t时刻对所有 状态 (j二1,2,,N)的吐力都计算一次,则每一个状态的前向概率 都更新了一次,然后进入t+1时刻的递推动程。2.后向算法与前向算法类似,后向算法即按输出观察值序列的时刻,从后向前递推计算出概率的方式。第一说明下列符号的概念:0=ol, o2,,oT输出的观察符号序列P(O|
24、M)给定模型M时,输岀符号序列0的概率勺从状态S,到状态S)的转移概率爲)从状态S,到状态Sj发生转移时输出ot的概率0卫)从状态S.开始到状态S”结束输出部分 符号序列ot+1, ot+2,,oT的概率,即 后向概率。A可由下面的递推公式计算取得:(1)初始化 q(n)= i,07U) = o(n)(2 )递推公式 A (0 = 2 阳(jgbij (q+J(t=T,T+l,1; i,j二 1,2,,N)(3)最后结果P(0 M)= 0&)隔=炕(1)/-I按照概念的前向和后向概率,有如下关系成立:P(OM)二 4 (恥岛+J阳(丿),1 G S T -1r-1 ;-1维特比(Viterbi
25、)算法如何有效地肯定与之对应的最佳的状态序列。这能够由另一个 HMM的大体算法Viterbi算法来解决。Viterbi算法解决了给定一 个观察值序列。二即乞,和一个模型M二A, B, n时,在最佳意义 上肯定一个状态序列Sr”?,.宀的问题。这里讨论的最佳意义上的状 态序列,是指使P (S, 0/M)最大时肯定的状态序列。即HMM输出 一个观察值序列O = og,.,a时,可能通过的状态序列Sr”肠路 径有多种,这里而使输出概率最大的状态序列就是咱们的所求。 Viterbi算法能够叙述如下:(1)初始化 ;)(1)= 丿J = 0 (jHl)(2 )递推公式 at(j) = max at_ (
26、j)q旳丿(q ) (t二 1, 2,,T;i,j二 1,2,,N)(3)最后结果几卫,0/必)=钟)在那个递推公式中,每一次使久力最大的状态i组成的状态就是所 求的最佳状态序列。所以利用Viterbi算法求取最佳状态序列的步 骤如下:(1) 给每一个状态预备一个数组变量煮丿),初始化时令初始状 态S1的数组变量兔为1,其他状态的数组心力为0;(2) 按照t时刻输出的观察符号ot计算;(;) = max=rnaxfa;.! 九(q ), % 仙仇 j 9),,ai-i(N)伽如 )(j二 1,2,,N)当状态S,到状态S,没有转移时勺=0;设计一个符号数组变量,称为 最佳状态序列寄放器,利用那
27、个最佳状态序列寄放器把每一次使(刀 最大的状态i保留下来;(3) tHT时转移到(2),不然执行(4);(4) 把这时的终了状态寄放器幻)内的值掏出,贝山Pmax(S,O/M)= ar(N)输出最佳状态序列寄放器的值,即为所求的最佳状态序列。软件设计主程序的设计语音识别系统功能的实现大部份是由软件来完成的。因此,语音识别系统的软件设计是十分复杂的。木次程序的设计是依托c语言和汇编语言一路完成的主程序流程图。在主程序中开始是对RAM存储器进行清除,这为寄存提取的语音信号的特征矢量和模板库做预备。播放第一条提示音 是为了提示用户系统的语音训练己启动,此刻能够进行训练。训练第-是此系统的触发名称,即
28、系统的名字。接下来就是依次对各条命令进行训练。在训练进程中,如训练成功,则有语音提示进行下一条的 训练:如出现训练失败也会提示用户继续训练此条语音。直到全数命 令训练完毕后,系统将预备进行语音识别。识别初始化是肯定语音输 入来源于A/D转换器的MIC通道。播放开始识别的提示音是为了让用 户明确此刻能够向系统下达命令了。系统接到命令后就开始进行识 别,如识别成功,则系统会按命令执行,如识别失败,系统也会通过 语音提示用户。系统的主程序是依托挪用各子程序来完成的,而系统的子程序主 要有语音训练程序、语音识别程序、语音播放程序及机械人运动程序。 其中语音部份主要依托语音紧缩程序来完成。语音紧缩算法的
29、研究紧缩编码的目的是通过对资料的紧缩,达到高效率存储和转换资 料的结果,即在保证必然声音质量的条件下,以最小的资料率来表达 和传送声音信息。紧缩编码是必要的,实际应用中,未经紧缩编码的 音频资料量专门大,直接进行传播或存储是不现实的,所以要通过对 信号趋势的预测和冗余信息处置,进行资料的紧缩,如此就可以够利 用较少的资源成立更多的信息。常常利用的紧缩编码有波形编码、参 数编码和混合编码。用于SPCE系列芯片语音功能的语音紧缩与解 紧缩算法有SACM_A2000, SACM_S480,和SACM_S240,其对应的语音 紧缩编码率类型别离为 16 Kb/s, 20 Kb/s, 24 Kb/s;
30、418 Kb/s, 712 Kb/s; 214 Kb/s。木设计用到的紧缩算法有SACM_A2000和SACM_S480。SACM_A2000 算法SACM_A2000属于波形编码,该紧缩算法紧缩比较小(8:1),所以 具有高质量、高码率的特点,适用于高保真音乐和语音。SACM_S480 算法SACM_S480属于混合编码,该紧缩算法紧缩比较大,为80:3,其 存储容量大,音质介于A2000和S240之间,适用于语音播放。此算 法具体实现进程如下:在PC机上录好提示语音,经紧缩工具紧缩处置后存储到单片机ROM里,SPCE061A将提示语音解紧缩后送D/A还原语音,提示操作结 果。采用SACM(
31、Sunplus Audio Coding method,音频编码算法)将PC 机上己录制的8 K, 16位音频文件紧缩为二进制文件,再加入用户程 序,存储在程序存储器中,播放时将其解紧缩,并以8 K的频率送D/A 还原作声音。N播放完成Y语音播放程序包括播放程序和中断服务程序。播放程序初始化A/D,按时器TimerA和音量,从ROM里掏岀预先紧缩好的语音数据, 解紧缩后存在播放队列里。中断服务程序按时地从播放序列中读数据, 送D/A转换后驱动喇叭发音。播放程序如下:SACM_S480_Initial (Init_Index); 初始化A/D , Timer,SACM_S480_Vo 1 ume (Volumn_Index); 初始化音量SACM_S480_Play (Speech_Index, Channel, Ramp_Set) ; /播放一条 语音while (SACM_S480_Status () &0x0001) =1)主播放函数 SACM_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1