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

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

时间:2024-09-19 23:21:47浏览次数:13  
标签: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显示如下

语音识别与语音控制的原理介绍_配置文件_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/12059474

相关文章

  • 锁相环技术原理及FPGA实现【4.7】
    5.1.3为什么研究线性时不变系统        从前面的分析可知,线性系统不一定是时不变系统,时不变系统不一定是线性系统。比如,式(5-5)表示的系统是时不变系统,但不是线性系统(是增量线性系统);式(5-12)表示的系统是时不变系统,但不是线性系统(也不是增量线性系统);式(5-15)表示的系......
  • 【oj刷题】二分查找篇:二分查找算法的原理和应用场景
    前言:二分查找算法,又称折半查找算法,是一种在有序数组中查找特定元素的高效查找方法。它通过将搜索区间不断缩小一半,从而在对数时间内找到目标元素。二分查找是基于分治策略的一种典型应用,能够高效的处理许多问题,下面我们就来看一下二分查找算法的原理和应用场景目录一、什......
  • java识别是不是ajax请求
    在JavaWeb应用中,识别是否是一个AJAX请求通常可以通过检查HTTP请求头中的X-Requested-With头字段来实现。如果该字段的值为XMLHttpRequest,则可以认为这是一个AJAX请求。示例代码以下是一个示例,展示了如何在SpringMVC控制器中识别AJAX请求:1.SpringMVC控制器importorg.spring......
  • volatile 实现原理了解吗?
    volatile实现原理了解吗?volatile有两个作用,保证可见性和有序性。volatile怎么保证可见性的呢?简单来说:读取和写入变量从原本的本地内存变成主内存中相比synchronized的加锁方式来解决共享变量的内存可见性问题,volatile就是更轻量的选择,它没有上下文切换的额外开销......
  • 敏感个人信息识别指南正式版发布,个人信息保护合规要求更明确
    9月14日,全国网络安全标准化技术委员会秘书处发布《网络安全标准实践指南——敏感个人信息识别指南》。2020年发布的国标文件GB/T35273《信息安全技术个人信息安全规范》中提到关于敏感个人信息的示例,本次公开的《敏感个人信息识别指南》详细规定了敏感个人信息的识别规则、常见......
  • 分布式存储技术如何强化企业数字化转型的可靠性与速度?附技术原理及特点
    在信息化、数字化和智能化快速发展的今天,数据已经成为推动经济社会发展的重要资源。随着5G、云计算、大数据、人工智能等技术的不断进步,数据量呈现爆炸式增长。与此同时,企业对数据的需求也日益增加,无论是用于业务分析、决策支持还是创新服务,数据都是不可或缺的。然而数据的快速增长......
  • # 利刃出鞘_Tomcat 核心原理解析(十一)-- Tomcat 附加功能 WebSocket -- 3
    利刃出鞘_Tomcat核心原理解析(十一)--Tomcat附加功能WebSocket–3一、Tomcat专题-WebSocket-案例-OnMessage分析1、WebSocketDEMO案例实现流程分析:OnMessage分析2、在项目dzs168_chat_room中,在websocket类ChatSocket.java中,创建publicvoidonMes......