基于Julius的机器人语音识别系统构建

最新更新时间:2011-08-23来源: chinaaet关键字:语音识别技术  JuliUS 手机看文章 扫描二维码
随时随地手机看文章
  语音识别技术的发展,使得这一理想得以实现,把语音识别技术与机器人控制技术相结合,正成为目前研究的热点,不但具有较好的理论意义,而且有较大的实用价值。

  语音识别技术应用于机器人系统大多是针对特定的环境,设计出语音命令来进行控制的。只需要对几十个字或词的命令行进语音识别,便可使得原本需要手工操作的工作由语音轻松完成。本文针对现有机器人平台,设计一个非特定人的孤立词语音识别系统。

  1 语音识别原理及JuliUS简介

  1.1 基于HMM的语音识别原理

  语音识别系统是一种模式识别系统,系统首先对语音信号进行分析,得到语音的特征参数,然后对这些参数进行处理,形成标准的模板。这个过程称为训练或学习。当有测试语音进入系统时,系统将对这些语音信号进行处理,然后进行参考模板的匹配,得出结果。此时便完成了语音识别的过程。

  目前,HMM作为语音信号的一种统计模型,是语音识别技术的主流建模方法,正在语音处理各个领域中获得广泛的应用。现在许多商用语音软件,以及各种具有优良性能的语音识别系统,都是在此模型上开发的,已经形成了完整的理论框架。

  基于HMM模式匹配算法的语音识别系统表现为:在训练阶段,采用HMM训练算法为每一个词条建立一个HMM模型。词条经过反复训练后,将得到的对应HMM模型加入HMM模型库中以数据的形式保存。在匹配阶段,也就是识别阶段,采用HMM匹配算法将输入的未知语音信号与训练阶段得到的模型库中的模型进行匹配,输出语音识别的结果。

  1.2 JuliUS简介

  Julius是日本京都大学和日本IPA(Information-tech-nology Promotion Agency)联合开发的一个实用高效双通道的大词汇连续语音识别引擎。目前已经能较好地应用于日语和汉语的大词汇量连续的语音识别系统。Julius由纯C语言开发,遵循GPL开源协议,能够运行在Lin-ux、Windows、Mac:OS X、Solaris以及其他Unix平台。Julius最新的版本采用模块化的设计思想,使得各功能模块可以通过参数配置。

  Julius的运行需要一个语言模型和一个声学模型。利用Julius,通过结合语言模型和声学模型,可以很方便地建立一个语音识别系统。语言模型包括一个词的发音字典和语法约束。Julius支持的语言模型包括:N-gram模型,以规则为基础的语法和针对孤立词识别的简单单词列表。声学模型必须是以分词为单位且由HMM定义的。

  应用程序可以有两种方式与Julius交互:一种是基于套接字的服务器一客户端通信方式,另一种是基于函数库的嵌入方式。在这两种情况下,要识别过程结束,识别结果就被送入应用程序中,应用程序就能得到Julius引擎的现有状态和统计,并可以操作官。Julius概述如图1所示。

  2 系统框架

  2.1 硬件结构

  在语音识别的机器狗控制系统中Atom Z510为训练学习机大脑(1.1 GHz主频的Intel Atom Z510嵌入式控制平台),它主要完成语音识别的功能。PXA270控制器(Intel公司于2003年底推出的性能强劲的PXA27x系列嵌入式处理器,基于ARMv5E的XScale内核,最高频率可达624MHz)作为机器狗本体上的核心智能控制器,接收Atom Z510识别后的结果,发出控制命令。ATmega128控制器(Atmel公司的8位系列单片机中的一种,运行频率16 MHz)完成基于串行总线的数字舵机控制,完成对机器狗的前后腿以及尾巴等关节控制。机器狗硬件结构平台如图2所示。

  2.2 软件结构

  整个机器人系统包括3个模块:Julius语音识别模块、GUI人机界面、机器人控制模块。Julius将识别的语音命令提交给GUI模块,并在GUI上显示;同时GUI将语音命令转化为动作控制命令并发给机器人控制模块;GUI还可以控制Julius的启动和停止。其中机器人控制模块主要在PXA270上,而语音识别和GUI是在Atom Z510上。系统软件模型如图3所示。

  3 语音识别系统构建

  一个完整的语音识别系统一般包括3部分:声学模型、语言模型和识别器。在本系统中只建立基于控制命令(动词)的识别语法,其他词忽略,因此没有构建语言模型;识别器采用Julius开源平台,此部分只用配置参数和相关文件。本文主要工作是声学模型训练和语音识别系统构建。

  3.1 声学模型训练

  声学模型是识别系统的底层模型,是语音识别系统中最关键的一部分,它是每个声学单元的声学模型参数集合。本系统的声学模型是使用HTK对采集的语音库进行多次迭代训练后提取的,基于词的声学特征向量集。HTK(HMM Tools Kit)是由英国剑桥大学工程系的语音视觉和机器人技术工作组(Speech Vision and Robotics Group)开发,专门用于建立和处理HMM的实验工具包,主要应用于语音识别领域,也可用于语音模型的测试和分析。其具体训练步骤如下:

  (1)数据准备

  收集汉语标准普通话的语料库,并将语料库中的语音标记,创建语音识别单元元素列表文件。

  (2)特征提取

  本系统采用MFCC进行语音的特征参数提取,训练中将每一个语音文件用工具HCopy转换成MFCC格式。

  (3)HMM定义

  在训练HMM模型时要给出模型的初始框架,本系统中的HMM模型选择同一个结构,如图4所示。该模型包含4个活动状态{S2,S3,S4,S5),开始和结束(这里是S1.S6),是非发散状态。观察函数bi是带对角矩阵的高斯分布,状态的可能转换由aij表示。

  (4)HMM训练

  本系统先使用HInit工具对HMM模型进行初始化,再用HCompv工具来对模型进行平坦初始化。HMM模型的每个状态给定相同的平均向量和变化向量,在整个训练集上全局计算而得。最后用HRest的多次估计迭代,估计出HMM模型参数的最佳值,经多次迭代,将训练得到的单个HMM模型整合到一个hmmsdef.mmf文件中。声学模型HTK训练流程如图5所示。

  3.2 Julius应用

  3.2.1 Julius部署

  在本系统中语音识别部分是部署在Atom Z510上,而Atom Z510上首先需要移植linux操作系统(本系统采用的是ubuntu8.10)以上步骤在此不详细介绍,文献中有详细说明。语音识别的核心部分是Julius识别器,需要将Julius源码编译部署到Atom Z510平台。其步骤如下:

  ①要确保linux系统中有以下支持库:Zlib、flex、OSS音频驱动接口、ESounD和libsndfile。

  ②从Julius官网下载源代码Julius-4.1.5。

  ③解压:tar-zxjf julius-4.1.5。

  ④编译:%./configure,%make,%make install。

  3.2.2 Julius配置

  Julius全部采用C语言代码实现,采用模块化设计方式,而且各功能模块可配置。在使用前需要将配置参数写入jconf文件,此文件作为运行参数载入系统,系统扫描参数配置并启动各功能块。其中重点介绍以下几个配置参数:

  ◆-dfa rtdog.dfa,指定语法文件rtdog.dfa;

  ◆-v rtdog.dict,指定字典文件;

  ◆-h rtdog.binhmm,指定HMM模型文件;

  ◆-lv 8000,设定音频的阈值便于滤去噪音;

  ◆-rejectshort 600,设定最小的语音长度;

  ◆-input mic,设定语音的输入方式为microphone。

  3.3 语音识别系统软件设计

  3.3.1 GUI设计

  本系统为了方便测试,采用QT4的图形库来开发人机界面(GUI),同时加入了手动控制的按钮。其总体功能如图6所示。通信线程是本系统的数据传输枢纽,十分重要。在QT中通过对线程类QThread继承来实现新的线程设计。该类提供了创建一个新线程以及控制线程运行的各种方法。线程是通过QThread::run()重载函数开始执行的。在本系统中设计了1个数据通信线程,用它来不断地读取共享内存中的语音命令,然后将其转化为控制命令传给机器人控制模块。

  3.3.2 模块间通信

  由于系统的3个模块不在同一个平台上部署,运行过程中需要进行数据通信。GUI和Julius都部署在Atom Z510平台上,但属于2个进程,它们之间可以通过共享内存来交互数据。而GUI和机器人控制模块就需要通过网络通信来实现数据交互。这里采用的是基于TCP的socket编程接口来实现模块间的通信,模块间通信流程如图7所示。

 

  4 实验测试

  演示系统界面如图8所示。本文使用大量的语音样本来完成HTK的训练和模式构建,语音样本采用16 kHz采样,16位量化。独立的语音识别测试中,将训练集以及测试集中语音样本和识别结果进行了对比分析。本文语音样本的内容包括训练集(语料库中的语音成分)和测试集(本实验中采集的语音)。由于本系统只用提取语音命令,不需要完整句子的识别,所以没有针对句子做测试。

  本文对于训练集基于词的识别率为71.7%,测试集基于词的识别率为56.5%,测试结果如表1所列。

  表中各符号所表示的意义如下所示:

  H,正确;S,替代错误;D,删除错误;I,插入错误;N,标记文件中单元总数;SENT,句子,WORD:基本单元。  

  结语

  本文在给定的实验室机器人平台上,设计了基于语音控制的机器狗系统。其中,语音识别子系统通过HTK和Julius的开源平台构建而成。经过测试分析,该系统能够较好地识别人发出的语音命令,简化了机器人的操作,使机器与人的交互更加智能化。

关键字:语音识别技术  JuliUS 编辑:探路者 引用地址:基于Julius的机器人语音识别系统构建

上一篇:用于军事和航空航天领域的高可靠性技术
下一篇:探讨功率路径实现方案的折衷权衡

推荐阅读最新更新时间:2023-10-18 15:36

三星选中Sensory为嵌入式语音识别技术的主要供货商
三星将在手机、可穿戴设备和相机上广泛搭载Sensory语音识别技术。 Marketwired 2014年9月5日美国加州圣克拉拉消息----为消费电子产品提供语音和视觉技术的行业领先者Sensory公司高兴地宣布,其开创性的TrulyHandsfree(TM)语音技术将广泛应用于三星标志性的Galaxy产品线,包括智能手机、平板电脑、相机和可穿戴设备。 TrulyHandsfree(TM)是领先的永远开启、持续侦听语音控制解决方案,允许用户通过超低功耗的语音触发器激活和使用手机。TrulyHandsfree(TM)语音控制技术还支持超高精度命令集,不需要凑近麦克风,不需要房间安静,甚至不需要说得完全正确。三
[手机便携]
特定人语音识别技术在汽车控制上的应用
1 引言   从20世纪50年代开始对语音识别的研究开始,经过几十年的发展已经达到一定的高度,有的已经从实验室走向市场,如一些玩具、某些部门密码语音输入等,随着DSP和专用集成电路技术的发展,快速傅立叶变换以及近来 嵌入式 操作系统的研究,使得特定人识别尤其是计算量小的特定人识别成为可能。因此,对特定人语音识别技术在汽车控制上的应用的研究是很有前途的。 2 特定人语音识别的方法   目前,常用的说话人识别方法有模板匹配法、统计建模法、联接主义法(即人工神经网络实现)。考虑到数据量、实时性以及识别率的问题,笔者采用基于矢量量化和隐马尔可夫模型(HMM)相结合的方法。   说话人识别的系统主要由语音特征矢量
[汽车电子]
特定人<font color='red'>语音识别技术</font>在汽车控制上的应用
3.15没说谎 指纹、面部、语音识别技术,破解真的很简单!
  面部识别被今年央视315晚会狠狠地打脸,这一技术并没有成熟到能令人们放心使用的地步,但已经被普遍采用到各种智能终端上,智能手机便是其中之一。下面就随网络通信小编一起来了解一下相关内容吧。   无论是手机中的照片、电子邮件、短信、Facebook、WhatsApp,以及更重要的控制用户财务状况的各个银行应用,所有的一切都受到 生物识别 技术的保护。   但事实上, 生物识别 技术不仅无法令用户更加安全,而且使用这些技术要比用户使用老式密码更容易受到攻击。   在日前巴塞罗那举行的世界通讯大会中,老牌代码安全审计机构NCC Group就向外界展示了它如何轻易破解最新款Android手机的这些安全功能。    通过手指、面部或语音
[网络通信]
小科普:深度解析语音识别技术
语音识别已成为人与机器通过自然语言交互重要方式之一,本文将从语音识别的原理以及语音识别算法的角度出发为大家介绍语音识别的方案及详细设计过程。 语言作为人类的一种基本交流方式,在数千年历史中得到持续传承。近年来,语音识别技术的不断成熟,已广泛应用于我们的生活当中。语音识别技术是如何让机器“听懂”人类语言?本文将为大家从语音前端处理、基于统计学语音识别和基于深度学习语音识别等方面阐述语音识别的原理。 随着计算机技术的飞速发展,人们对机器的依赖已经达到一个极高的程度。语音识别技术使得人与机器通过自然语言交互成为可能。最常见的情形是通过语音控制房间灯光、空调温度和电视的相关操作等。并且,移动互联网、智能家居、汽车、医疗和教育等领
[物联网]
小科普:深度解析<font color='red'>语音识别技术</font>
基于HMM的语音识别技术在嵌入式系统中的应用
摘要:介绍语音识别技术在嵌入式系统中的应用状况与发展,以及在嵌入式系统中使用HMM语音识别算法的优点,并对基于HMM语音识别技术的系统进行介绍。 关键词:SoC芯片 HMM 语音识别 嵌入式系统 语音识别ASR(Automatic Speech Recognition)系统的实用化研究是近十年语音识别研究的一个主要方向。近年来,消费类电子产品对低成本、高稳健性的语音识别片上系统的需求快速增加,语音识别系统大量地从实验室的PC平台转移到嵌入式设备中。 语音识别技术目前在嵌入式系统中的应用主要为语音命令控制,它使得原本需要手工操作的工作用语音就可以方便地完成。语音命令控制可广泛用于家电语音遥控、玩具、智能仪器及移动电话等便携设备
[嵌入式]
博世CES展未来概念车 搭载先进语音识别技术
2017国际消费电子展(CES)正在美国火热举行,博世公司向观众展示了一台搭载先进语音控制技术的概念车,该项技术可以理解随意会话。相比现有语音系统,该车搭载的人机交互系统(HMI)可识别的词语、句子多出很多。现有语音系统往往只能特定的下令指示用语,而博世最新的语音控制技术则可以识别更多自然语言。 Janine Schlink是该款概念车的主要设计师之一,其表示:“你可让你的车关掉窗户甚至展示晚餐食谱。” HMI系统和车辆自动驾驶系统连接,系统能让驾驶者了解,在某条特定路线上是否可以使用自动驾驶。在自动驾驶的过程中,HMI系统会显示汽车环境传感器探测的情况,以及还剩多少时间驾驶者需要恢复手动驾驶。该项技术预计在2025年投入生产。
[汽车电子]
语音识别技术的研究与发展
   摘 要: 回顾了语音识别技术的发展历史,描述了语音识别系统的基本原理,介绍了语音识别的几种基本方法,并对语音识别技术面临的问题和发展前景进行了讨论。 1 语音识别技术概述   语音识别是解决机器“听懂”人类语言的一项技术。作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。如今,随着语音识别技术研究的突破,其对计算机发展和社会生活的重要性日益凸现出来。以语音识别技术开发出的产品应用领域非常广泛,如声控电话交换、信息网络查询、家庭服务、宾馆服务、医疗服务、银行服务、工业控制、语音通信系统等,几乎深入到社会的每个行业和每个方面。 广泛意义上的语音识别按照任务的不
[安防电子]
<font color='red'>语音识别技术</font>的研究与发展
小广播
最新电源管理文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved