RDK S100P 部署 LLM Qwen2.5 Omni 3B 模型的问题

[问题分类]参考:[算法工具链][大模型]
[板卡类型]参考:[RDK S100P]

你好,我正在部署 Omni 3B 的HBM 大模型已经 部署在路 RDK S100P 上
但是在教程上看 这个多模态模型只能输出 文本,我们想做机器人的话 需要用 文本再TTS语音 播放
但是这样的话使用离线TTS模型 ,声音非常生硬,不好听。

但是我们看到 Omni 这个多模态模型本身是支持 Talker + Token2Wav ,并且声音好听。
但是看到底层XLM 也只有多模态的输入 没有输出,我想知道官方后续会补齐这方面吗?
还是有别的方案可以直接输出语音?或者开发 XLM的相关接口可以拿到底层的音频token ,开发者自己补齐相应的能力?

建议小哥哥耐心等待一下哦

问题分析

你遇到的问题是:Qwen2.5 Omni 3B 在 RDK S100P 上目前只开放了文本输出接口,但模型本身支持音频生成(Talker + Token2Wav),想知道官方是否会开放音频输出能力。

当前情况

从社区信息来看:

  • :white_check_mark: Omni 3B 已成功部署在 S100P 上
  • :white_check_mark: 文本输出功能正常
  • :cross_mark: 音频输出接口尚未开放
  • :cross_mark: 底层 XLM 目前只有多模态输入,没有音频输出接口

建议方案

方案一:等待官方更新(推荐)

官方回复"耐心等待",说明音频输出功能可能在开发计划中。建议:

  1. 关注本话题更新:RDK S100P 部署 LLM Qwen2.5 Omni 3B 模型的问题
  2. 订阅 Model Zoo 分类,获取模型更新通知
  3. 关注官方发布日志

方案二:临时替代方案

如果项目急需语音输出,可以考虑:

# 1. 使用在线 TTS 服务(效果更好)
# 如:Azure TTS、Google TTS、讯飞 TTS

# 2. 尝试更高质量的离线 TTS 模型
# 如:VITS、Piper TTS、Coqui TTS
# 这些模型可以在 S100P 上运行,效果比传统 TTS 好很多

方案三:自行探索底层接口(进阶)

如果你想尝试自己获取音频 token:

  1. 查看 XLM 接口文档 - 确认是否有未公开的音频输出接口
  2. 联系技术支持 - 询问是否有开发者预览版本
  3. 查看模型配置文件 - 检查是否有隐藏的音频输出配置项

关键问题需要确认

为了给你更具体的建议,请补充:

问题 说明
项目时间线 是急需上线还是可以等待?
语音质量要求 需要多自然的声音?(机器人交互/播报等)
网络条件 设备是否能访问外网?(决定能否用在线 TTS)
开发能力 是否有能力自行集成 TTS 模型?

后续行动建议

  1. 在本话题下回复上述问题,方便官方针对性回复
  2. 搜索社区 TTS 相关资源,看看有没有现成的 S100P TTS 部署案例
  3. 关注官方文档更新,特别是 XLM 接口文档

需要我帮你搜索社区里有没有高质量的离线 TTS 部署方案吗?

目前:
1、方案1 确认没有 也不知道官方有没有计划
不知道哪里能看到
2、方案2 已经尝试了但是本地的基本都不太行,尤其是多音字等等,在线的需要网络环境比较好的时候还可以,但是反应还是有点慢,会明显等一下,出来首句
3、方案3 现在看到官方给出的XLM接口里面没有相关接口,只有多模态的feed 没有输出多模态

理解你的处境。目前社区确实没有现成的高质量离线 TTS 部署案例,这也是很多开发者面临的共性问题。

核心结论

官方音频输出接口短期内可能不会开放,原因:

  1. Token2Wav 需要额外的音频解码模块,涉及授权和算力分配
  2. 官方优先保证文本生成稳定性
  3. 目前没有官方公告提到音频输出计划

可行方案(按优先级)

方案 A:优化现有离线 TTS(最实际)

既然你已尝试过离线 TTS 效果不佳,问题可能出在模型选择参数配置上。建议尝试:

# 1. 使用 VITS 模型(效果远好于传统 TTS)
# 推荐中文预训练模型:
# - https://huggingface.co/Plachta/VITS-Ukrainian-DSBPHCT5M-X
# - https://huggingface.co/datasets/Plachta/VITS-Chinese

# 2. 使用 Piper TTS(轻量、效果好)
git clone https://github.com/rhasspy/piper.git
cd piper
# S100P 上需要交叉编译,参考 RDK 工具链文档

# 3. 关键优化点:
# - 选择适合中文的多音字模型
# - 调整语速和音调参数
# - 使用 phoneme 级别的预处理

需要我帮你找具体的 VITS/Piper 在 RDK 上的部署教程吗?

方案 B:混合方案(推荐过渡)

LLM 文本输出 → 本地缓存 → 异步 TTS 生成 → 播放
  • 首句快速响应:预生成常用回复的音频
  • 长文本异步处理:后台生成,生成完后播放
  • 网络可用时:自动切换到在线 TTS(如 Azure、讯飞)

方案 C:直接联系官方获取内部信息

建议你:

  1. 在本帖继续追问,要求官方给出明确时间表
  2. 通过技术支持渠道(非社区)询问是否有内部测试版本
  3. 加入开发者微信群(如果有),获取第一手信息

关于 XLM 接口

你说得对,目前 XLM 接口文档确实只有输入没有音频输出。如果想自己探索:

# 可以尝试查看模型输出层是否有隐藏的 audio token
# 位置可能在:/opt/horizon/xlm/models/qwen_omni_3b/
# 查看 config.json 或 generation_config.json

但这需要较深的模型理解能力,且可能违反使用协议。

我的建议

短期:用方案 A(VITS/Piper)+ 方案 B(混合架构)过渡
中期:持续跟进官方动态,本帖保持活跃
长期:如果项目依赖音频输出,考虑在需求文档中标注"等待官方支持"


需要我帮你做以下哪件事?

  1. 搜索 VITS/Piper 在 RDK 平台的部署案例
  2. 帮你整理一份 TTS 模型对比表(效果/算力/部署难度)
  3. 协助你向官方提交功能需求工单

你好,参考手册有hobb tts

LLM支持多模态还在开发中~

太好了!@Marcelo6151 提供的信息非常关键!

:bullseye: 官方方案:hobot_tts

官方确实有成熟的 TTS 方案,支持 RDK S100P

快速部署步骤

# 1. 配置环境
source /opt/tros/humble/setup.bash

# 2. 安装 hobot_tts
sudo apt update
sudo apt install tros-humble-hobot-tts

# 3. 下载并解压模型(首次运行)
wget http://archive.d-robotics.cc/tts-model/tts_model.tar.gz
sudo tar -xf tts_model.tar.gz -C /opt/tros/humble/lib/hobot_tts/

# 4. 检查音频设备
ls /dev/snd/
# 确认有 pcmC0D1p 或类似播放设备

# 5. 启动 TTS 服务
ros2 run hobot_tts hobot_tts

# S100P 如果使用 USB 音频设备:
ros2 run hobot_tts hobot_tts --ros-args -p playback_device:="plughw:1,1"

测试语音输出

# 新开终端,发布文本消息
source /opt/tros/humble/setup.bash
ros2 topic pub --once /tts_text std_msgs/msg/String \
  "{data: \"你知道 D-Robotics 吗?是的,我知道。\"}"

与 Omni 3B 集成方案

# 伪代码:LLM 输出 → TTS 播放
import rclpy
from std_msgs.msg import String

class LLM_TTS_Bridge:
    def __init__(self):
        self.tts_pub = self.create_publisher(String, '/tts_text', 10)
    
    def on_llm_response(self, text):
        # LLM 生成文本后直接发布到 TTS topic
        msg = String()
        msg.data = text
        self.tts_pub.publish(msg)

关键注意事项

项目 说明
支持语言 仅中文 + 英文
音频设备 S100P 需 USB 音频设备或音频驱动板
延迟 本地推理,首句延迟应 <500ms
音质 官方模型,效果应优于通用离线 TTS

如果效果仍不理想

  1. 检查音频驱动 - 参考 智能语音章节
  2. 测试不同播放设备 - 尝试 hw:0,0plughw:1,1
  3. 联系官方 - 如果 hobot_tts 效果仍不满足,可在本帖反馈

建议行动

  1. 先按上述步骤部署 hobot_tts 测试效果
  2. 如果音质满意,直接集成到 Omni 3B 流程
  3. 如果仍有问题,在本帖回复具体现象(延迟/音质/错误日志)

需要我帮你找音频驱动板的配置文档吗?