Seeed Studio2026-09-24

构建支持打断的边缘对话语音 AI 终端

构建在本地完成聆听和语音播放、支持自然打断的语音终端,并连接兼容 OpenAI 的云端接口或设备端对话模型。

Voice AIEdge AILLMAECSeeed

实用的语音交互应该像对话,而不是必须等录音播放完才能再次开口。本项目构建一个边缘语音终端:它能聆听,通过扬声器回答,并在用户开始讲话打断时立即停止当前回答。

语音识别和语音合成都在边缘设备上运行。根据所选硬件和隐私需求,对话模型可以使用兼容 OpenAI 的云端接口,也可以在本地运行。因此,同一个项目可以用于服务台、展览、自助终端、智能房间终端和机器人语音交互。

用户与支持打断的语音 AI 终端对话

这个项目有什么特点?

核心功能是语音打断:扬声器播放回答时,麦克风继续采集处理后的音频。系统检测到新的语音后,会中断播放并开始聆听下一个请求。

这个功能依赖具备硬件声学回声消除(AEC)的麦克风阵列。没有 AEC,扬声器的声音可能经麦克风再次进入系统,被误认为用户的声音。reSpeaker XVF3800 提供经过 AEC 处理的 USB 采集通道,因此是已经验证的默认选择。

本项目也让语音处理尽可能靠近用户:

  • 自动语音识别(ASR)在语音主机上运行。
  • 文本转语音(TTS)在语音主机上运行。
  • 常驻语音代理负责聆听、打断、对话和播放。
  • 选择云端 LLM 时,只有对话请求需要离开设备。
  • 完全本地的预设可以让语音和对话处理都留在现场。

系统如何工作

麦克风阵列通过 USB 将经过 AEC 处理的音频发送到语音主机。主机检测语音、将其转成文字、把文字发送到所选对话模型,再将回答转成音频,通过连接在 reSpeaker 3.5 mm 输出端口的扬声器播放。

从 AEC 麦克风阵列经过语音主机到对话模型和扬声器的概念流程

图中展示的是逻辑音频流程。按照本指南的硬件配置,请将扬声器连接到 reSpeaker XVF3800 的 3.5 mm 输出端口。

阶段作用
现场采集USB 麦克风阵列采集语音,并通过硬件消除播放回声。
语音主机reComputer 运行 ASR、TTS、语音活动检测和对话代理。
对话模型兼容 OpenAI 的接口或本地 LLM 生成回答。
播放连接到 reSpeaker XVF3800 3.5 mm 输出端口的扬声器播放合成语音。
语音打断用户的新语音中断当前回答,开始新一轮对话。

开源实现见 OpenVoiceStream。它提供针对不同设备的语音后端,同时让受支持主机上的对话应用和服务接口保持一致。

选择部署方式

云端或兼容 OpenAI 的 LLM

这是大多数部署最简单的选择。ASR 和 TTS 保留在语音主机上,识别出的文字发送到 Qwen API 或其他兼容 OpenAI 的接口。部署时需要提供接口基础 URL、API 密钥和模型 ID。

如果你希望有广泛的模型选择、不要求所有对话文字都留在现场,或主机资源不足以同时运行语音服务和本地 LLM,可以选择此方式。

完全本地对话

如果音频和对话文字必须保留在设备上,或终端需要在没有持续互联网连接的情况下工作,请选择本地预设。本指南中的完全本地配置使用 reComputer RK3588,搭配 RK1828/RM182X 加速器运行 Qwen3-4B,无需云端 API 密钥。

首次部署仍需联网获取容器镜像和模型文件。缓存这些文件后,本地预设即可离线运行。

选择语音主机

本指南涵盖以下 SenseCraft Solution 选项:

对话方式设备对话模型运行位置
云端或兼容 OpenAI 的 LLMreComputer RK3576云端或其他兼容接口;ASR 和 TTS 保留在 RK3576 上
云端或兼容 OpenAI 的 LLMreComputer RK3588云端或其他兼容接口;ASR 和 TTS 保留在 RK3588 上
完全本地对话reComputer RK3588 + RK1828/RM182X在本地加速器上运行,与 RK3588 语音服务配合工作

请选择所用设备支持的对话语言。语言在部署时设置,应用会选择相应的语音模型。

所需条件

硬件

  • 云端方式需要 reComputer RK3576 或 RK3588;完全本地方式需要 RK3588 搭配 RK1828/RM182X 卡。
  • 提供经过 AEC 处理的采集通道的 USB 麦克风阵列。reSpeaker XVF3800 是已经验证的默认选择。
  • 连接到 reSpeaker XVF3800 3.5 mm 输出端口的扬声器。

网络和服务访问

  • 部署计算机能够通过网络访问语音主机。
  • 首次部署时能够联网下载镜像和模型文件。
  • 使用云端对话模型时,需要持续的互联网和 API 访问。
  • 使用自定义兼容 OpenAI 的接口时,需要基础 URL、API 密钥和模型 ID。

连接硬件

  • 通过 USB 将 reSpeaker XVF3800 连接到 reComputer。
  • 将扬声器插入 reSpeaker 上的 3.5 mm 输出端口。
  • 使用完全本地方式时,将 RK1828/RM182X 卡安装到 RK3588 主机中,并连接卡的独立 12 V 电源。

设备要求见参考设计。

运行步骤

1. 安装并打开 SenseCraft Solution

前往 SenseCraft 下载中心,找到 SenseCraft Solution,下载适用于计算机操作系统的安装程序。安装并打开应用。

P1:SenseCraft Solution 应用的方案页面

2. 找到语音 AI 方案

在方案页面向下滚动,找到可打断的对话语音 AI,打开对应卡片。

P2:方案列表中的可打断对话语音 AI 卡片

在方案页面点击开始部署。

P3:带有开始部署按钮的方案详情页

3. 选择部署模式和设备

对于 reComputer RK3576 或 RK3588,选择云端或兼容 OpenAI 的 LLM。对于搭配 RK1828/RM182X 卡的 reComputer RK3588,选择完全本地对话。在设备选择器中选择已连接的硬件。

P4:云端和完全本地部署选项及设备选择器

4. 填写连接和对话设置

云端部署需要填写语音主机的主机名或 IP 地址、SSH 用户名和密码以及对话语言,并输入对话模型的 API 密钥。如果使用自定义兼容 OpenAI 的服务,还需检查基础 URL 和模型 ID。点击测试连接检查能否访问主机。

P5:包含主机、凭据、语言和 API 设置的云端部署表单

完全本地部署需要填写 RK3588 主机的主机名或 IP 地址、SSH 用户名和密码以及对话语言。本地模型在 RK1828/RM182X 卡上运行,因此无需云端 API 密钥。确认卡已具备独立 12 V 电源、驱动和设备节点,然后选择测试连接。

P7:不含 API 密钥字段的完全本地部署表单

5. 部署方案

点击立即部署,等待 SenseCraft Solution 自动安装服务并准备语音模型。首次部署会下载容器镜像和模型文件,请保持设备联网,直到部署完成。

P6:用于自动部署的立即部署按钮

6. 打开 Web UI 并测试对话

部署成功后,通过端口 18000 打开语音主机的 Web UI。对于本指南展示的 RK3588 开发套件,使用 http://recomputer-rk3588-devkit.local:18000。如果网络无法解析该主机名,请使用 http://<device-ip>:18000,将设备的 IP 地址填入其中。

P8:部署成功后的语音 AI Web UI

对麦克风讲话,并聆听连接在 reSpeaker 上的扬声器播放回答。然后在回答播放时再次讲话,检查终端是否停止回答并聆听新的请求。