ROS机器人语音模块

本文介绍了ROS机器人如何使用科大讯飞的环形六麦克风阵列进行语音识别和处理。通过SDK集成,实现麦克风阵列的开机、音频获取、主麦方向设置等功能,并在Ubuntu/Linux环境下进行配置和测试。同时,需要在讯飞开放平台注册应用以获取相关服务。
摘要由CSDN通过智能技术生成

ROS机器人语音模块


近期我参加了第十七届全国大学生智能汽车竞赛讯飞-家庭服务机器人挑战赛,目前我们队已经完成了场地搭建、环境配置,各传感器的功能也已验证完毕,接下来就是视觉代码编写以及ROS相关功能实现,其中就包括机器人语音功能,另外,互联网+比赛的机器人也需要实现语音功能。因此,实现ROS机器人语音功能的任务就落在了我的肩上。

目前,我找到了语音模块相关文档”环形六麦克风阵列开发者文档“,该文档用于描述科大讯飞环形六麦克风阵列的使用方法,覆盖语音唤醒、声源定位、语音获取、语音识别等应用的实现方式。废话不多说,直接开干咯!

零 乘骐骥以驰骋兮,来吾道夫先路

麦克风阵列简介:

1

  1. 麦克风阵列是由一定数目的声学传感器(一般为麦克风)组成, 对声场的空间特性进行采样并处理的系统。其主要作用有声源定位,抑制背景噪声、干扰、混响、回声,信号提取与分离。其中,声源定位是指利用麦克风阵列计算声源阵列的角度和距离,基于TDOA(Time Difference Of Arrival,到达时间差)实现对目标声源的跟踪;信号的提取与分离是指在期望方向上有效地形成一个波束,仅拾取波束内的信号,从而达到同时提取声源和抑制噪声的目的。

  2. 麦克风的一般使用流程:① 麦克风启动并进入工作状态 ② 设置麦克风的主麦方向,可唤醒或手动设置 ③ 获取降噪音频送入识别引擎进行识别和处理

【注:在麦克风阵列中,一般指定一个主麦来实现指定方向声音加强,其他方向抑制的目的,且降噪音频的获取也属于该主麦方向。若未主动设置主麦,主麦方向随机,则获取到的降噪音频不一定基于说话方向,此时生成的降噪音频可能不是最优的】

壹 路漫漫其修远兮,吾将上下而求索

Linux-SDK:

  1. 本次智能车比赛所用麦克风阵列板载系统为Linux,用户可以使用任一搭载Linux系统的主机进行通信,主机与麦克风阵列之间的通信方式为基于USB的自定义通信协议。基于这些协议,用户可以在主机端进行诸如麦克风板开机、获取音频、设置主麦方向、获取唤醒角度等操作。为便于使用,本次比赛所用麦克风阵列配备SDK,主要对一些协议进行了API封装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBRPthll-1652716821228)(https://gitlab.com/Muscularmonk/project_01/uploads/aa51e6b68a79d573dab694dcb9a8f353/2.png)]

  1. 将sdk拷贝到系统任一目录,切换到该目录,可以看到 sdk-vvui 以及 ros 中对应的功能包集vvui_ros-master。初次使用且未配置本麦克风的udev规则
  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值