百花

智能语音机器人的设计与实现

来源:首页 | 时间:2019-01-06

  智能语音机器人的设计与实现 摘要:介绍了智能语音机器人的总体设计,包括硬件 设计和软件设计,对语音识别的方法、识别过程和语音合成 过程进行了分析,重点介绍了语音识别中的端口检测方法, 并 给出了测试结果。 关键词:机器人;语音识别;端点检测;语音合成 中图分类号: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 266510, 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 是对“你又去哪里”这句话的检测,分别是 经过语音端点检测之后的语音示意图和原始的语音示意图。 从上面两个图上可以看到:通过端点检测之后的语音, 除去了 背景语音而且基本上完好的保留了线 语音识别的开发接口 本系统利用语音识别应用开发接口和端点检测开发接 口相结合进行开发,这样既可以保证开发软件的识别率,又 可以防止噪音的干扰。两个接口相结合的语音识别开发过程, 如图 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.

百花相关

    无相关信息