基于ROS2和科大讯飞的文字转语音TTS入门教程

科大讯飞WebApi文字转语音,记录一下 下边这个方法是官方的demo中调用讯飞webapi的,我这多加了一个存储路径的参数,在语音存储的时候,存储在自己指定路径下。(截图中代码有重合,编写的时候去掉重合的代码即可)3.因为之前我试过微软speech SDK,在服务器上配置SDK环境的时候,感觉麻烦,所以这次果断选择的WebApi。5.后又选择在线语音合成WebApi,注册成功后会生成APPID、APISecret、APIKey。7.将代码移到项目中去(文字字数多的,将其分成多段调用讯飞WebApi,最终将多段语音合成一条) 阅读详情

基于ROS2和科大讯飞的文字转语音TTS入门教程

本文将展示,如何利用ROS2和科大讯飞的TTS模块,实现简单的文字转语音功能。利用ROS2,实现listener和talker,当talker发送以‘topic’为主题的消息时,listener接收并处理消息内容,并调用科大讯飞的TTS模块,将某些文字转换成语音文件。

1.环境搭建

操作系统:ubuntu22.04
ROS2版本:humble

1.1.安装ubuntu
本文使用的操作系统为vm虚拟机,安装的ubuntu22.04,请大家自行百度安装。
注:先不要着急改源地址。
1.2.安装humble
本文使用的ROS2 humble,百度搜索的一键安装ROS2,具体链接如下:

https://www.pudn.com/news/62deb7e055398e076bda404f.html#_6

采用一键安装脚本,妈妈再也不用担心你装不好 ROS2 humble。

安装好环境前后,建议各做1个快照,方便恢复环境状态。
1.3.安装VSCODE
在上一步中,可以直接通过选项安装vscode,也可以直接在ubuntu软件商店里安装,区别是软件商店里的版本更新。
文章来到此处,证明ros2环境已经搭建好,开始上指令操作项目。

2.创建工程

首先打开linux指令终端,使用linux标准指令创建工作空间(linux中的文件夹)。

mkdir -p /home/toycar/robot_ws/src
cd /home/toycar/robot_ws/

然后,使用ROS2指令创建项目

ros2 pkg create toycar_voice --build-type ament_cmake --node-name my_publish --dependencies std_msgs rclcpp

指令解析
工程名称:toycar_voice
编译类型:ament_cmake
节点名称:my_publish (创建项目后某人创建的节点源码,后来才知道,可以不写这个,可以自行创建节点代码。)
项目依赖:std_msgs rclcpp

创建项目后目录下文件内容:
在这里插入图片描述

再然后,将科大讯飞中的include文件,放入项目的include目录内,如下图:
在这里插入图片描述
接着,使用指令打开vscode进行项目开发

code .

随后,在vscode中,添加2个cpp文件
publisher_member_function.cpp
subscriber_member_function.cpp
在这里插入图片描述

/home/toycar/robot_ws/src/toycar_voice/src/publisher_member_function.cpp
这里利用定时器作为消息源,通过publisher_定时向接收者发送消息,实际开发中,可以替换成相应的业务逻辑。

#include <chrono>
#include <functional>
#include <memory>
#include <string>

#include "rclcpp/rclcpp.hpp"
#include "std_msgs/msg/string.hpp"

using namespace std::chrono_
科大讯飞新版Linux麦克风语音唤醒实例 科大讯飞新版语音唤醒,实时监听麦克风音频,当出现唤醒词时自动触发唤醒回调函数。文件尾放置demo源码 阅读详情

相关推荐

开源项目——ROSECHO 中文ROS语音交互模块(一)

ROSECHO 中文ROS语音交互模块(一)ROSECHO 开源项目中文ROS语音交互模块“听说”,你的机器人还没有耳朵?概述硬件软件项目链接开箱测试开机上电Windows下配置网络语音对话测试使用指南驱动安装启动ROSECHOROS下配置网络查看语音识别结果查看回答返回结果运行TTS文本转语音一个简单的演示 ROSECHO 开源项目 中文ROS语音交互模块 “听说”,你的机器人还没有耳朵? 概...

机器人工程师 4508

探索使用科大讯飞语音包控制机器狗(二)--代码修改

上一篇文章进行了简单的SDK移植应用,但是我想达成的效果同示例的功能还是有区别,所以这篇文章探讨记录一下代码的实现原理和修改方法。 语音合成代码 1.官方源码 /* * 语音合成(Text To Speech,TTS)技术能够自动将任意文字实时转换为连续的 * 自然语音,是一种能够在任何时间、任何地点,向任何人提供语音信息服务的 * 高效便捷手段,非常符合信息时代海量数据、动态更新和个性化查询的需求。 */ #include <stdio.h> #include <string.h&gt

菜鸟的博客 2038

ROS高效进阶第六章 -- 基于科大讯飞语音库与ROS服务通信,打造多模态机器人语音交互系统

本文详细介绍了如何基于ROS和科大讯飞语音库构建多模态机器人语音交互系统。通过设计voice_detector、robot_controller和voice_creator三个核心节点,实现语音识别、语义解析和语音合成的完整闭环。文章还分享了科大讯飞SDK集成、ROS服务接口设计、系统优化及实际部署建议,帮助开发者打造高效稳定的机器人语音控制系统。

weixin_42552637的博客 446

ROS1中集成科大讯飞语音SDK的工程实践与避坑指南

语音交互是服务机器人核心能力之一,其技术基础涵盖自动语音识别(ASR)与文本转语音(TTS)两大模块。在ROS生态中实现稳定语音交互,需突破开源方案鲁棒性不足、商业SDK与ROS运行时模型不兼容等关键瓶颈。科大讯飞语音SDK虽提供高性能声学模型与云端服务能力,但其Linux版存在线程冲突、设备独占、异常恢复缺失等工程暗坑,直接封装为ROS节点易引发实时性下降、音频设备忙错、服务静默失效等问题。本文聚焦ROS1 Noetic(Ubuntu 20.04)平台,详解如何通过双进程隔离、Topic桥接、心跳监控与参

weixin_28221501的博客 261

基于ROS的多模态语音交互机器人控制系统设计与实现

机器人操作系统(ROS)作为机器人领域的分布式计算框架,通过节点通信机制实现了模块化与解耦,为复杂机器人系统的开发提供了标准化架构。其核心原理在于基于话题、服务和动作的异步通信模型,使得感知、决策与控制模块能够独立开发与部署,极大提升了系统的可扩展性与复用性。这一技术价值在构建多模态人机交互系统中尤为突出,例如在服务机器人、智能家居和教育科研等应用场景中,常需融合语音、视觉等多通道信息。语音交互作为自然的人机接口,涉及自动语音识别(ASR)将音频转为文本,以及自然语言处理(NLP)进行意图理解与语义分析。本

weixin_33725126的博客 1393

python 讯飞tts 讯飞文字转语音tts输出

利用ROS2,实现listener和talker,当talker发送以‘topic’为主题的消息时,listener接收并处理消息内容,并调用科大讯飞的TTS模块,将某些文字转换成语音文件。在上一步中,可以直接通过选项安装vscode,也可以直接在ubuntu软件商店里安装,区别是软件商店里的版本更新。节点名称:my_publish (创建项目后某人创建的节点源码,后来才知道,可以不写这个,可以自行创建节点代码。本文使用的操作系统为vm虚拟机,安装的ubuntu22.04,请大家自行百度安装。

wjianwei666的专栏 306

安卓科大讯飞文字转语音TTS安装包,包含语音包,无需联网下载

安卓科大讯飞文字转语音TTS安装包,包含语音包,无需联网下载,亲测可用,公司商业级项目内网使用,无互联网环境

IAR9.X半主模式异常解析:为何硬件复位后仍陷调试状态?

本文深入解析了IAR 9.X半主模式异常问题,探讨了硬件复位后MCU仍陷调试状态的原因及解决方案。通过分析半主模式工作机制,提供了禁用半主功能、重写低级IO函数等具体方法,并给出了版本兼容性处理和调试与量产配置分离的优化建议,帮助开发者有效解决复位异常问题。

oo7890的博客 599

SpringCloud 2025王炸更新!GraalVM原生镜像启动速度提升90%实战

在当今云原生和Serverless架构盛行的时代,应用的启动速度已成为衡量技术栈竞争力的关键指标。传统SpringCloud应用由于依赖JVM的动态类加载、反射等机制,启动时间通常超过30秒,在Kubernetes滚动更新和函数计算场景下成为显著性能瓶颈。2025年,SpringCloud迎来里程碑式更新,通过深度集成GraalVM原生镜像技术,实现了启动速度提升90%的惊人突破,让SpringCloud应用正式进入"秒级启动"时代。

小筱在线博客 1087

从5V降到3.3V,你的LDO到底有多烫?手把手算功耗、选散热,避开这些坑

本文详细解析了LDO在5V转3.3V电路中的发热问题,提供了精确的功耗计算公式和散热设计方法。通过对比不同封装的热阻参数和优化PCB布局,帮助工程师有效降低LDO温度,避免热保护触发。文章还探讨了替代方案的技术拐点,为电源系统优化设计提供实用指导。

weixin_30304375的博客 432

Stata实战入门:从数据导入到基础分析的全流程指南

本文提供了Stata实战入门的全流程指南,从数据导入、清洗到基础分析和可视化,帮助初学者快速掌握Stata的核心功能。通过详细的步骤和实用技巧,读者可以高效完成数据处理、变量操作、描述性统计和回归分析等任务,提升数据分析效率。

weixin_28327051的博客 380

JavaFX - 动画

JavaFX 动画

思你日度难眠 1593

关于cefsharp访问iqiyi.com显示403 Forbidden解决办法(2种方法)

cefsharp不加UserAgent的默认值为 (注意126是当前cefsharp的版本)Edge浏览器的UserAgent 为 (edge的版本是128的)说明根据浏览器的不同,UserAgent可能不太一样。

无线智能模块 可视DIY智能专家 1313

什么是 SAP ABAP AMDP?

SAP HANA是SAP开发的一种内存数据库管理系统,它具有出色的性能和处理大规模数据的能力。为了充分利用SAP HANA的性能,SAP引入了AMDP技术,以便将数据库操作推送到数据库服务器执行,从而减少数据传输和处理时间。AMDP方法通常需要输入参数和输出参数。输入参数用于传递数据到SQLScript代码,而输出参数用于接收SQLScript代码的结果数据。ENDMETHOD.ENDCLASS.我们定义了一个输入参数来传递销售订单数据,以及一个输出参数来接收计算结果。ENDMETHOD.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 894

Android功耗系列专题理论之六:外设功耗问题分析方法

本文介绍了移动设备功耗问题的分析方法,重点针对传感器和GPU两大模块。传感器部分详细讲解了通过ADB命令获取日志、状态差异分析和单传感器隔离测试的排查方法,并给出优化建议。GPU部分从基础功耗测量、场景测试到功能模块拆解进行多维度分析。同时阐述了GNSS/GPS功耗的测试方法,包括前后台对比、星座双频拆解及SAP/DPO等特殊功能的电流分析,为移动设备功耗优化提供系统性的诊断思路。

359

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Cadence16.6 > OrCAD Capture CIS >原理图统一改器件属性
下一篇: Cadence17.2 > Allegro > 检查PCB Layout信号线组等长
ABEL in China
博客等级 码龄16年 3940粉丝 67原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值