首页 > 其他分享 >语音识别与语音控制的原理介绍

语音识别与语音控制的原理介绍

时间:2024-09-23 14:53:31浏览次数:10  
标签:audio launch 语音 import tros 原理 识别 config


硬件平台

机器硬件:OriginBot(导航版/视觉版)PC主机:Windows(>=10)/Ubuntu(>=20.04)扩展硬件:X3语音版

运行案例

首先进入OriginBot主控系统,运行一下指令。请注意,部分操作OriginBot内暂未放入,请根据内容进行适当处理。

cd /userdata/dev_ws/
# 配置TogetheROS环境
source /opt/tros/setup.bash

# 从tros.b的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .

# 加载音频驱动,设备启动之后只需要加载一次
bash config/audio.sh

#启动launch文件
ros2 launch speech speech_recongnition_launch.py

其中speech_recongnition_launch.py 文件内容如下:

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node

def generate_launch_description():

# 启动音频采集pkg
audio_get = Node(
        package='hobot_audio',
        executable='hobot_audio',
        output='screen',
        parameters=[
            {"config_path":"./config"},
            {"audio_pub_topic_name": "audio_smart"}
        ],
        arguments=['--ros-args', '--log-level', 'error']
    )

return LaunchDescription([
    audio_get
])

此时出现如下报错是因为没有语音唤醒,说出“地平线你好”后,即可唤醒

语音识别与语音控制的原理介绍_语音识别

当人依次在麦克风旁边说出“地平线你好”、“向左转”、“向右转”、“向前走”、“向后退”命令词,语音算法sdk经过智能处理后输出识别结果,log显示如下

语音识别与语音控制的原理介绍_bash_02

识别到语音命令词“向前走”、“向左转”、“向右转”、“向后退”,并且输出DOA的角度信息,如recv hrsc sdk doa data: 110字段表示DOA角度为110度。

语音控制

SSH连接OriginBot成功后,配置智能语音模块:

#从TogetheROS的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .

#加载音频驱动,设备启动之后只需要加载一次
bash config/audio.sh

启动机器人底盘在终端中输入如下指令,启动机器人底盘:

ros2 launch originbot_bringup originbot.launch.py

启动语音控制以下是口令控制功能的指令:

ros2 launch audio_control audio_control.launch.py

此时即可看到小车运动的效果了

标签:audio,launch,语音,import,tros,原理,识别,config
From: https://blog.51cto.com/u_15641375/12089384

相关文章

  • OpenStack的组件及工作原理
    OpenStack就是一个虚拟化管理平台吗?这样说并不准确。它们存在很多相似性,但并非完全相同。的确,OpenStack和虚拟化管理平台都位于虚拟化资源层之上,都可以帮助用户发现、报告和自动执行位于不同供应商产品环境中的业务流程。但虚拟化管理平台主要是方便利用虚拟资源的特性和功能,而O......
  • Android经典实战之组件化原理、优缺点、实现方法?
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点组件化的原理组件化是一种软件架构设计方法,它将复杂的应用程序分解为更小、更易于管理的模块或组件。在Android开发中,组件化允许开发者将应用分割成独立的、可复用的模块,每个......
  • 20年架构师用一文带你彻底搞懂SpringBoot嵌入式Web容器原理
    ContainerLess理念微服务把应用和它所依赖的组件包、配置文件及附带的运行脚本打包成一个单一、独立、可执行的jar包文件。在实现Web服务器时,几乎不需要任何配置就可以启动Tomcat。你只需要使用java-jar命令就可以让Tomcat成为SpringBoot的一个自包含的可运行组件和单元。同时,这......
  • android 识别设备是否为模拟器
    一个识别工具类,android12-14测试有效,其他版本未测:publicclassEmulatorDetectionUtil{privatestaticfinalString[]PKG_NAMES={"com.mumu.launcher","com.ami.duosupdater.ui","com.ami.launchmetro","com.ami.syncduosservices",&qu......
  • hCaptcha 图像识别 API 对接说明
    hCaptcha图像识别API对接说明本文将介绍一种hCaptcha图像识别API对接说明,它可以通过用户输入识别的内容和hCaptcha验证码图像,最后返回需要点击的小图像的坐标,完成验证。接下来介绍下hCaptcha图像识别API的对接说明。注册试用链接注册试用链接申请流程要使......
  • 设计原理图:417-基于XCVU9P+ C6678的8T8R的无线MIMO平台
    基于XCVU9P+C6678的8T8R的无线MIMO平台一、板卡概述     北京太速科技板卡基于TI TMS320C6678DSP和XCVU9P高性能FPGA,FPGA接入4片AD9361无线射频,构建8输入8输出的无线MIMO平台,丰富的FPGA资源和8核DSP为算法验证和信号处理提供强大能力。二、技术指标 ● 板卡为......
  • 带你0到1之QT编程:十八、最简单之TCP协议工作原理及实战编程
    此为QT编程的第十八谈!关注我,带你快速学习QT编程的学习路线!每一篇的技术点都是很很重要!很重要!很重要!但不冗余!我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点!码农不易,各位学者学到东西请点赞支持支持!开始部分:总:此次实战主要是实现一个客户端,一个服务端,来了解TC......
  • 大型网站技术架构 --核心原理与案例分析
    一、大型网站的特点用户多,分布广大流量,高并发海量数据服务高可用安全环境恶劣,易受攻击功能多,变更快,频繁发布二、大型网站架构目标高性能:快速访问。高可用:服务一直可以正常访问。可伸缩:通过增加/减少硬件,提高/降低处理能力。扩展性:方便增加、减少功能或者模块。安全性:提供......
  • 深度解析APS系统异常预警处理:从识别到解决的全流程策略
    订单发生变更当企业接收到产品加工订单发生变更的通知时,立即启动快速响应机制。包括指派专人负责跟进此事,并确保该信息能够迅速传递到所有相关部门和人员。同时,直接访问APS(高级计划与排程)系统,准备对受影响的订单进行详细审查。1.确认变更在APS系统中,详细检查发生变更的订单信......
  • 网络原理 HTTP与HTTPS协议
     博主主页: 码农派大星.  数据结构专栏:Java数据结构 数据库专栏:MySQL数据库JavaEE专栏:JavaEE关注博主带你了解更多计算机网络知识目录1.HTTP概念2.HTTP报文格式3.HTTP请求 1.首行1.1URL  1.2GET⽅法 1.3POST⽅法1.4其他⽅法 2.请求头(header......