【无标题】

端侧离线语音交互系统:全链路实现与性能实测

本文记录在 RDK S100P 上落地一套全离线语音交互系统的过程和实测结果。设备在不联网的情况下,完成从唤醒、识别、理解到应答、播报的完整语音对话,整条链路用 ROS2 做了工程化封装。


一、为什么做端侧离线

服务机器人、车载、嵌入式设备很多时候工作在弱网甚至无网环境,而云端语音方案一旦断网就完全不可用。把 ASR(识别)、LLM(理解与对话)、TTS(合成)全部放到设备本地离线运行,主要出于三点考虑:

  • 断网也能正常工作,不依赖网络;
  • 本地直接计算,没有网络往返,延迟更低;
  • 语音数据不离开设备,隐私可控。

前提是模型要足够小、足够快,能在端侧 CPU 上实时跑起来------这也是整条链路工程优化的主要目标。


二、系统全貌与实现流程

系统跑在 RDK S100P 上,全部推理在本地完成,不需要独立 GPU、不需要联网。一次完整对话经过五个环节:

复制代码
语音唤醒 + 声源定位  →  ASR 离线识别  →  意图理解(规则 / LLM 双路)
        →  应答生成(控制执行 / LLM 对话)  →  流式 TTS 播报(支持打断)
环节 做什么
唤醒 + 定位 麦克风阵列做全向唤醒词检测,并估计声源方向,使设备朝向说话人
ASR 识别 端点检测后截取有效语音,离线转写为文本
意图理解 明确指令走规则(快、确定);开放对话走端侧 LLM(灵活)
应答生成 控制类直接执行;对话类由端侧 LLM 流式生成
TTS 播报 流式分段合成、边生成边播;播报中可被用户打断

图 1:系统架构 / 数据流示意

![系统架构示意](./assets/architecture.png)


三、ROS2 工程化封装

整条链路用 ROS2 封装成多节点流水线:每个环节是一个独立节点,节点之间通过消息总线通信;识别、大模型、合成这些重计算下沉为常驻服务,节点本身只负责编排和时序。

这样做的好处:

  • 各环节解耦,可以独立开发、独立替换;
  • 单个节点崩溃能独立重启,不影响整条链路;
  • 重推理常驻,模型只加载一次,多轮对话不重复加载;
  • 唤醒、录音、播报、打断(barge-in)的时序由消息机制统一协调。

四、各环节性能实测

4.1 ASR · 语音识别

经过量化和工程优化,ASR 在 S100P 的 CPU 上跑得远快于实时:

指标 实测结果
实时率 RTF ≈ 0.06(1 秒音频约 60ms 算完,约 16× 实时)
单句识别耗时 120 -- 360 ms(随句长波动)
模型体积 压缩约 3.6×(端侧加载快、占用低)
中文识别准确率 量化前后基本无损(量化无明显劣化)

RTF(实时率)= 处理耗时 ÷ 音频时长,小于 1 才跟得上实时。0.06 意味着识别几乎瞬时完成,延迟预算可以基本都留给后面的理解和合成。

4.2 意图理解 · 规则 / LLM 双路

路径 处理对象 准确率 / 延迟
规则匹配 明确控制指令(如前进、停止等) 零延迟、确定性触发
LLM 意图 开放、模糊、自由表达的意图 92%(内部测试集实测)

控制指令需要即时、确定,用规则零延迟处理;规则覆盖不到的开放表达再交给 LLM。

4.3 LLM · 场景化对话回复

LLM 采用地平线 BPU 支持的 7B 量化大模型,端侧本地推理。在目标场景的问答、寒暄、信息查询中:

指标 实测结果
中文场景回复准确率 92%(内部测试集实测)
回复方式 流式生成,边生成边合成播报

一个实测观察:输入清晰时模型回复切题、可用;端到端体验的主要短板其实在识别侧------远场、口音造成 ASR 听错,出现「听错了再答」,而不是 LLM 本身的问题。后续优化重点会放在拾音上。

4.4 TTS · 语音合成

文本长度 合成耗时 音频时长 RTF
短(2 字) 1070 ms 947 ms 1.13
中(11 字) 2451 ms 2480 ms 0.99
长(18 字) 4304 ms 4028 ms 1.07
更长(28 字) 5681 ms 5781 ms 0.98

TTS 的 RTF 在 1.0 附近(0.98 -- 1.13),合成速度约等于实时,长句甚至略快于实时。RTF≈1 看着不快,但配合流式分段(首段只合成开头几个字、不等全文),首字延迟会低很多。

4.5 端到端延迟

指标 非流式 流式优化后
说完话 → 首字出声 ~5 s ~3 s

流式管线的做法是:LLM 边生成、首段尽早切出、立刻送去合成播报。这样首字延迟从约 5 秒降到约 3 秒,对话节奏接近正常交流。


五、成果一览

环节 关键指标 实测
ASR 实时率 RTF ≈ 0.06
ASR 模型压缩 ≈ 3.6×
意图 规则路径 零延迟、确定
意图 LLM 准确率 ≈ 92%
LLM 中文场景回复准确率 ≈ 92%
TTS 合成实时率 RTF ≈ 1.0
端到端 说完话 → 首字 ~3 s

中文交互演示视频

中文语音交互

英文交互演示视频

英文语音交互演示


六、小结

整套系统在 RDK S100P 上完全离线跑通了「唤醒 → 识别 → 理解 → 应答 → 播报」的语音对话闭环:ASR 实时率约 0.06、规则意图零延迟、意图和场景对话准确率约 92%、TTS 接近实时、端到端首字约 3 秒。配合 ROS2 的多节点封装,整个系统在工程上也比较好维护和迭代。

对没有网络的使用场景来说,端侧离线方案的意义在于不依赖云、不怕断网,本地就能完成低延迟、隐私可控的语音交互。

相关推荐
程序猿编码19 小时前
告别改源码适配模型:纯 C++ 可配置 LLM 推理引擎,全格式全结构兼容
c++·大模型·llm·推理引擎
agicall.com19 小时前
SIP协议IP话机的通话抓包录音实现
语音识别·信创电话助手·ip话机
2601_9556624619 小时前
短剧多人对白怎么配?2026年多角色配音工具对比
大数据·人工智能·音视频·语音识别
江屿风1 天前
【认识深度学习】【深度学习分类与计算机视觉任务要点解析】流食般投喂
大数据·人工智能·深度学习·计算机视觉·目标跟踪·自然语言处理·语音识别
daxiongbaodian241 天前
会议纪要工具怎么选?微信小程序加持的智能记录方案实测
语音识别
蔡俊锋1 天前
华为昇腾 960 超节点发布:4096 卡、5500 个光引擎替 4.8 万光模块——国产算力拐点到了吗?
大模型·模型部署·ai架构·国产算力·华为昇腾
O。O蛋黄酥啊1 天前
Claude Code 记忆机制全拆解:Auto Memory 与 CLAUDE.md 双轨解析
大模型·agent·memory·claude·codex·记忆
2601_955662461 天前
抖音视频怎么做多语言配音?2026年AI配音工具与制作流程详解
人工智能·音视频·语音识别·视频
BlackStar_L1 天前
第二章 上下文工程
大模型·llm·agent
元岳数字人小元1 天前
无惧网络受限:数字人私有化部署打造离线全域服务能力
运维·人工智能·开源·人机交互·交互