智能语音机器人的设计与实现(共7页).doc
精选优质文档-倾情为你奉上智能语音机器人的设计与实现 摘要:介绍了智能语音机器人的总体设计,包括硬件设计和软件设计,对语音识别的方法、识别过程和语音合成过程进行了分析,重点介绍了语音识别中的端口检测方法,并给出了测试结果。 关键词:机器人;语音识别;端点检测;语音合成 中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)30-7498-03 Intelligent Voice of the Robot Design and Implementation GUAN Hong, ZHANG Shuai, LEI Hong-le (Shandong University of Science and Technology, Qingdao , China) Abstract: Introduces the overall design of the intelligent voice robot, including hardware design and software design, this paper analyzes the methods of speech recognition, the process of speech recognition, and speech synthesis process, introduces the method of Endpoint detection of speech recognition ,and test results are given. Key words: robot; speech recognition; endpoint detection; speech synthesis 语音识别技术是通过机器人的理解和识别将人类的语音中的词汇内容转换为计算机可读的输入,例如文本或者命令,是一种多维模式识别和智能计算机接口的范畴。语音识别技术主要包括模式匹配准则、特征提取技术、及模型训练技术3个方面,所涉及的领域很广泛,包括模式识别、信号处理等。 让机器人能够听懂人类的语言并且能够按照人的口头命令行动,从而实现人际交往一直以来都是人类的梦想,本文所研究的机器人语音识别,对于服务机器人的应用领域具有重要的现实意义。 1 机器人整体设计 整个系统采用CPU作为核心控制,外加音频输入输出模块、视频输入输出模块、触屏模块、显示模块、电源模块和电机驱动模块。 运动模块主要由一系列电机驱动器组成,通过CAN总线与CPU进行通信,音频模块用来采集音频信息,视频模块用来采集视频图像信息,触屏模块和显示模块为机器人提供了良好的人机交互方式。各个部分的相互关系如图1所示。 1.1 机器人的硬件设计 机械动作模块(即硬件设计)包括左右手、左右肘、左右肩、腰部、头部的直流电机控制器,配合语音能够完成“握手”、“再见”、“两手自然交叉,放在腹前”等等正式的迎宾动作及舞蹈表演,机械动作模块通过CAN总线通信模块与主控器联系。机械动作模块关系如图2所示。 1.2 机器人的软件设计 该机器人的实现其全部功能的过程就是整个软件的实现过程,系统软件设计的基本流程,如图3。 2 语音识别和端点检测的实现 语音识别系统本质上是一种多维模式识别系统,语音识别主要包括预处理、特征提取、模式匹配三个部分。语音识别系统中最基本的模块就是语音端点检测,从一段语音信号中找出语音的终点和起点,使得计算机只处理和保存有用的语音信号。 2.1 端点检测 端点检测(end-pointer detection)是将语音数据(speech)从背景噪声中分离出来的一项技术,主要应用于语音识别领域,可以很大程度地降低识别器的运算量,从而能有效地提高识别效率以及识别效果。下面描述两级判别法定义和检测方法: 1)短时能量 语音端点检测一般是按照帧进行处理,每帧的长度各不相等。每个语音帧的短时平均能量En为: 其中W为帧长,Sw(n)为时刻n的加窗语音,但为了节约时间,减少计算量,而是采用每个点上幅度值的绝对值之和作为短时能量值: 。 2)短时平均过零率 每个语音帧的短时平均过零率Zn为: ,其中是符号函数。 3)两级判别法 两级判别法是利用语音的短时能量和平均过零率的性质进行的端口检测的,其步骤可以归结为: A.定阈值 预先设定阈值Eh、El、Zth,其中Eh、El分别为高、低能量阈值,Zth为过零率阈值。由于采集的声音信号中最初的短时段多为无声或背景噪音,这样就可以利用已知为“静态”的最初几帧信号计算其过零率阈值Zth以及高、低能量阈值Eh、El。 在计算Eh、El、Zth时,每一帧的时间选取为20ms,并设定语音的前10帧为静音阶段,通过这10帧计算出Eh、El、Zth的值。 前10帧短时能量最高的帧的短时能量为Emax、最低的为Emin、平均能量为Z、前10帧的能量的方差为F。 B.寻找语音的起始点和终止点 首先用时平均幅值进行第一次判别,然后在此基础上用短时平均过零率进行第二次判。在用短时能量进行第一次判别时,为了不会将语音能量的局部下降点错误地作起止点,常采用双门限比较的方法。 图5为平均幅值(能量)一过零率的端点检测判决示意图。首先根据语音时能量En的轮廓先取一个较高的门限Eh,语音短时能量大多数情况下都在此限之上。这样可以进行一次粗判:语音起止点位于该门限与短时能量包络交点对应的时间间隔之外(即AB段之外)。然后,根据背景噪声的平均能量确定一较低的门限El,并从A点往左、B点往右搜索,分别找到短时能量包络第一次门限El相交的两个点:c和D,CD段就是采用双门限方法根据短时平均幅值所判定的语音段。以上只是完成了第一级判决。 接着要进行第二级判决,这次是以短时平均过零率Zth。为标准,从C点往左D点往右搜索,找到短时平均过零率第一次低于某个门限Zth点:E和F,这便语音段的起始点。 C.检测结果 图6和图5是对“你又去哪里”这句话的检测,分别是经过语音端点检测之后的语音示意图和原始的语音示意图。从上面两个图上可以看到:通过端点检测之后的语音,除去了背景语音而且基本上完好的保留了真语音部分。 2.2 语音识别的开发接口 本系统利用语音识别应用开发接口和端点检测开发接口相结合进行开发,这样既可以保证开发软件的识别率,又可以防止噪音的干扰。两个接口相结合的语音识别开发过程,如图7。 2.3实验结果 我们随机的选择了5个人对该系统做了测试,长词语的识别率要比短词的识别率高,而且该系统可以实现对于整句的识别。结果如表1。 3 语音合成的实现 语音系统采用了科大讯飞的ViviVoice 2.1语音合成系统,系统拥有18个人的音库,能够根据实际需要,灵活地选机器人的发音人,可供选择的分类有男声和女声、童音和成年人声音、普通话和闽南话、中文和英文。语音合成系统的合成引擎在完成文本到语音数据的转化过程中可以简单分解为两个步骤的处理。在整个转化处理的过程中牵涉到大量的中英文语法和韵律知识的运用,以及语法和语义分析的算法,最佳路径搜索,单元挑选和 调整的算法,语音数据编码方面的知识。语音合成技术涵盖了语音文字的社会科学、数字信号处理等自然科学,是跨学科高新技术。 4 总结 该机器人系统有硬件系统和软件系统组成。硬件系统包括机器人载体和机械运动,系统的软件部分由人脸识别模块、语音识别模块等组成。主程序模块实现机器人的全面控制功能,并调用语音模块和人脸识别模块等进行人机交互。语音模块包括语音识别和语音合成功能:语音模块使用语音识别功能将接收到的语音信号转换成文本系统,便于系统对用户声音指令进行识别和处理,语音识别采用了端点检测算法能正确地从背景噪音中找出语音的开始和终止;语音模块使用语音合成功能将文本转换为音频信号,使机器人发出语音。在这个系统中还利用了远程控制,来确保程序的稳定性和可靠性。 参考文献: 1 乔兵,吴庆林,阴玉梅.语音识别算法的VC+实现M.长春:中国科学院,长春光学精密机械与物理研究所,2011. 2 韩玉强.用于家电控制的语音识别方法的研究D.山东大学,2010. 3 肖利君.基于DTW模型的孤立词语音识别算法实现研究D.中南大学,2010. 4 沈宝.智能语音机器人的设计与实现M.北京:北京邮电大学信息光子学与光通信研究院,2009. 5 刘鹏.噪音环境下汉语连续数字的语音识别D.南华大学,计算机应用技术,2009.专心-专注-专业