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

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

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

语音识别与语音控制的原理介绍_配置文件_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、云计算、大数据、人工智能等技术的不断进步,数据量呈现爆炸式增长。与此同时,企业对数据的需求也日益增加,无论是用于业务分析、决策支持还是创新服务,数据都是不可或缺的。然而数据的快速增长......
  • 研发工程师的「第一性原理」思维
    回顾复盘五年来的研发经历,愈发认同身边同事强调的“第一性原理”思维,仅做浅浅记录和分享一、定义与理论介绍第一性原理(FirstPrinciples),又称基本原理,是指从最基本的假设和定义出发,通过逻辑推理和演绎得出结论的一种思维方法。它强调对事物的本质和根源进行深入的理解,不受已......
  • js基础之setTimeout与setInterval原理分析
    setTimeout与setInterval概述setTimeout与setInterval是JavaScript引擎提供的两个定时器方法,分别用于函数的延时执行和循环调用。前者的主要思想是通过一个定时器,让函数在计时结束后再执行;后者则是每隔一定的时间,就启动一次函数的执行。从原理来看,两者似乎并不复杂。但由于JavaS......
  • # 利刃出鞘_Tomcat 核心原理解析(十一)-- Tomcat 附加功能 WebSocket -- 3
    利刃出鞘_Tomcat核心原理解析(十一)--Tomcat附加功能WebSocket–3一、Tomcat专题-WebSocket-案例-OnMessage分析1、WebSocketDEMO案例实现流程分析:OnMessage分析2、在项目dzs168_chat_room中,在websocket类ChatSocket.java中,创建publicvoidonMes......
  • Hadoop(二十二)CM Kerberos基本原理
    基于CDP的CM维护Hadoop生态组件CDPClouderaDataPlatform(CDP)是Cloudera公司推出的一个全面的数据平台,它支持在多云环境中部署和管理数据CDP提供了一种统一的方法来管理数据和分析工作负载,无论是在本地、公有云还是私有云环境中CDP包括多种服务和工具,如ClouderaDataHub(CDH)......