RDK X3设置语音识别算法应用案例,助力智能家居实现语音控制功能
功能介绍
地平线智能语音算法采用本地离线模式,订阅音频数据后送给BPU处理,然后发布唤醒、命令词识别、声源定位DOA角度信息以及语音ASR识别结果等消息。智能语音功能的实现对应于TogetheROS.Bot的hobot_audio package,适用于地平线RDK配套的麦克风阵列。
应用场景:智能语音算法能够识别音频中的唤醒词以及自定义的命令词,并将语音内容解读为对应指令或转化为文字,可实现语音控制以及语音翻译等功能,主要应用于智能家居、智能座舱、智能穿戴设备等领域。
物料清单
使用方法
准备工作
1. 在体验之前,需要具备以下基本条件:
2. 地平线RDK已烧录好地平线提供的Ubuntu 20.04系统镜像
音频板正确连接到RDK X3
连接步骤:
将麦克风板连接到地平线RDK X3 40PIN GPIO 接口上,连接后实物如下图:
4mic麦克风板
2mic麦克风板
配置麦克风板,参考RDK用户手册音频转接板章节。
安装功能包
启动RDK X3后,通过终端SSH或者VNC连接机器人,复制如下命令在RDK的系统上运行,完成相关Node的安装。
tros foxy版本
tros humble版本
运行智能语音程序
智能语音功能支持对原始音频降噪处理之后进行ASR识别,默认的唤醒词和命令词定义在智能语音功能模块目录下 config/hrsc/cmd_word.json 文件,默认为:
cmd_word第一个词为唤醒词,后续为命令词,这些词用户都可以根据需要配置,若更改唤醒词效果可能会与默认的唤醒词命令词效果有差异。推荐唤醒词以及命令词使用中文,最好是朗朗上口的词语,且词语长度推荐使用3~5个字。
另外,智能语音功能支持输出声源定位DOA角度信息,单位为角度,环形麦克风阵列取值范围:0度~360度,目前仅4mic麦克风板支持输出DOA信息,2mic麦克风板不支持。
角度的相对位置关系与麦克风的安装位置强相关,4麦环形麦克风阵列DOA角度示意图如下:
地平线RDK板端运行hobot_audio package:
1. 拷贝配置文件
tros foxy版本
tros humble版本
2. 确认配置文件 config/audio_config.json
需要确认的字段有:
micphone_name ,配置音频设备号,默认为"hw:0,0"。若加载音频驱动时无其他音频设备连接,则无需修改该字段,若加载音频驱动时有其他音频设备连接,例如USB麦克风或带麦克风功能的USB摄像头,则需要修改该字段为对应的设备号,以"hw:0,0"为例,表示音频设备Card0 Device0。
micphone_chn , 配置音频板支持的通道数,4mic麦克风板该字段设置为8,2mic麦克风该字段设置为2。
asr_mode ,配置是否发布ASR结果,默认值为0,表示不发布ASR结果。若要发布ASR结果,需要将该字段改为1或2,1表示唤醒后进行一次ASR识别并发布结果,2表示一直进行ASR识别并发布结果。
asr_channel ,ASR识别使用的通道号,4mic麦克风板设置为3,2mic麦克风设置为1。
3. 配置tros.b环境和启动应用
tros foxy版本
tros humble版本
4. 结果分析
地平线RDK板端运行终端输出如下信息:
以上log显示,音频设备初始化成功,并且打开了音频设备,可正常采集音频。
当人依次在麦克风旁边说出“地平线你好”、“向前走”、“向左转”、“向右转”、“向后退”命令词,语音算法sdk经过智能处理后输出识别结果,log显示如下:
log显示,识别到语音命令词“向前走”、“向左转”、“向右转”、“向后退”,并且输出DOA的角度信息,如“recv hrsc sdk doa data: 110”字段表示DOA角度为110度。
hobot_audio默认发布的智能语音消息话题名为:*/audio_smart*,在另一个终端执行使用ros2 topic list命令可以查询到此topic信息:
若开启发布ASR结果,发布消息话题为:*/audio_asr*,ros2 topic list结果为:
接口说明
话题
参数
audio_config.json配置文件参数说明:
cmd_word.json
此配置文件配置语音智能分析部分的唤醒词以及命令词,配置文件的第一项为唤醒词,后面的是命令词。默认配置文件配置如下:
原理简介
智能语音hobot_audio package开始运行之后,会从麦克风阵列采集音频,并且将采集到的音频数据送入语音智能算法SDK模块做智能处理,输出唤醒事件、命令词、ASR结果等智能信息,其中唤醒事件、命令词通过audio_msg::msg::SmartAudioData类型消息发布,ASR结果通过std_msgs::msg::String类型消息发布。
具体流程如下图:
常见问题
无法打开音频设备?
确认音频设备连接是否正常
确认是否正确配置音频设备
确认配置文件 config/audio_config.json 设置正确
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自D-Robotics官网,原文标题为:语音识别算法,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
基于RDK X3的机械臂物体拾取操作实例
本文介绍RDK X3该功能包接收用户选择方块数字的请求,通过yolov5检测目标,在Z轴距离确定的情况下解算出物体的三维坐标,并请求仿真机械臂控制节点夹取物体的应用实例。
智能语音聊天机器人功能及使用指南
智能语音聊天机器人通过识别用户语音,调用ChatGPT API获取答复并播放,实现语音聊天。需地平线RDK、ChatGPT API Key及音频板等物料。准备、组装后,安装功能包并运行,配置音频和ChatGPT API Key。常见问题包括设备连接、音频驱动、配置文件及网络访问等。
NodeHub快速入门示例:小海龟绘画
NodeHub快速入门示例,通过键盘控制小乌龟进行绘画。
YDLIADAR激光雷达驱动应用实例
介绍YDLIADAR激光雷达驱动的方案与技术要求,YDLIDAR ROS2驱动,以ROS2标准消息格式发送激光雷达数据。
地平线RDK实现智能循线机器人应用示例
巡线任务,即机器人小车能够自主跟着一条引导线向前运行。地平线RDK通过摄像头获取小车前方环境数据,图像数据通过训练好的CNN模型进行推理得到引导线的坐标值,然后依据一定的控制策略计算小车的运动方式,通过UART向小车下发运动控制指令实现整个系统的闭环控制。
基于RDK X3 & Module的性能检测软件使用示例
Performance Node该应用基于Web网页打造,无论是什么品牌的电脑和手机,只需要在浏览器访问即可。
多模态感知仿生机械手项目案例
本项目提供了一款五指仿生机器手,其仿照人手的外观与自由度,使其能够作为人形机器人的末端执行器,完成人手所能完成的任务。
RDK X3 机械臂捡垃圾经验分享
hobot_arm package 是基于 mono2d_trash_detection package 开发的2D垃圾目标检测+机械臂抓取的应用示例。在地平线的旭日X3派上利用BPU进行模型推理获得感知结果,利用幻尔机械臂作为下位机,进行垃圾抓取的示例。
2D垃圾检测应用示例
本Node是基于hobot_dnn开发的2D垃圾目标检测算法,采用PaddlePaddle开源框架, 利用PPYOLO模型进行垃圾检测任务设计和训练。为了达到快速部署的目的,本Node支持配置文件更换垃圾检测模型,开发者可以将更多精力投入在算法模型能力的迭代,减少部署工作量,识别输出的AI信息不仅可以通过话题发布,还可以在Web页面渲染显示。
双机械臂四转四驱机器人设计与实现
该研究设计了一种创新的双机械臂四转四驱机器人,旨在突破传统轮式机器人的限制。该机器人底盘采用四转四驱设计,显著提升了灵活性和负载能力,使其能够在复杂环境中精确移动和执行任务。双机械臂系统使机器人能够高效与现实生活互动,完成复杂任务。
在RDK的系统运行实现视觉惯性里程计应用案例,实现机器人定位
视觉惯性里程计(Visual Inertial Odometry,VIO)是融合相机与惯性测量单元(Inertial Measurement Unit,IMU)数据实现机器人定位的算法。VIO定位算法具有成本低、适用环境广等优点,在室外环境下能够有效弥补卫星定位中遮挡、多路径干扰等失效场景。优秀、鲁棒的VIO算法是实现室外高精度导航定位的关键。
OriginBot机器人最小功能系统的机器人底盘驱动应用实例
OriginBot是一款智能机器人开源套件,更是一个社区共建的开源项目,旨在让每一位参与者享受机器人开发的乐趣。该项目是OriginBot机器人最小功能系统,该最小系统可接受/cmd_vel指令控制机器人运动并反馈/Odom信息。
在RDK系统上运行实现的小车巡线控制功能
该功能包通过同时接收赛道识别节点与障碍物识别节点的消息,控制小车巡线与避障。
NodeHub包含各种开源Node,能够快速安装和使用 ,助您快速搭建室内服务机器人Demo!
NodeHub是地平线为广大开发者提供给的“智能机器人应用中心”,该应用中心中包含各种不同功能的开源Node,能够快速安装和使用,通过串联不同的Node可以完成室内服务机器人的搭建。该Demo包含了室内服务机器人所需的基础功能,包括地图建立、自主导航、垃圾检测以及人体骨骼关键点检测等,有助于您快速搭建室内服务机器人!
乐动激光雷达驱动功能应用示例
乐动激光雷达驱动设计方案介绍,LDLIDAR ROS2驱动,以ROS2标准消息格式发送激光雷达数据。
电子商城
登录 | 立即注册
提交评论