本地语音服务 — 部署指南

在 GitHub 上查看源码
套餐

部署语音服务

在你的边缘设备上部署流式语音识别(ASR)和语音合成(TTS)服务——支持 Jetson Orin、RK3576、RK3588 和第五代树莓派。

部署完成后你可以:

  • 实时流式语音识别(WebSocket)
  • 低延迟语音合成(HTTP 流式 + 批量)
  • 多种语言模式:中文+英文、纯英文、或 52 种语言 Qwen3
  • 通过 HTTP + WebSocket API(端口 8621)调用

前提条件: 可通过 SSH 连接设备 · 需要联网拉取 Docker 镜像和下载模型

1

部署语音服务

将语音服务部署到你的边缘设备,模型在首次启动时自动下载。

部署方式

通过 SSH 部署到 Jetson Orin,用 GPU 推理,支持多语言和声音克隆。需要至少 7.5 GB 可用磁盘。

接线
  1. 将 Jetson 连接到网络
  2. 输入 Jetson 的 IP 地址和 SSH 凭据
  3. 从下拉菜单选择语音配置
  4. 点击 部署 — 系统会自动拉取镜像并启动服务
部署时需要填写(在 SenseCraft Solution 应用里填)
  • 设备 IP*
  • SSH 用户名*默认 recomputer
  • SSH 密码*
其余 4 项已有默认值,可不改
  • 语音配置文件默认 jetson-zh-en
    5 项可选
    • · 中文 + 英文(Paraformer ASR + Matcha TTS,快速)
    • · 多语言高性能(Qwen3 ASR+TTS,52 种语言,Orin Nano)
    • · 多语言高性能 NX(Qwen3 ASR+TTS,52 种语言,Orin NX)
    • · Qwen3 ASR + Matcha TTS(多语言 ASR,快速 TTS,Orin Nano)
    • · Qwen3 ASR + Matcha TTS NX(多语言 ASR,快速 TTS,Orin NX)
  • 语言模式默认 en
    2 项可选
    • · 中文 + 英文(Matcha TTS + Paraformer ASR)
    • · 仅英文(Kokoro TTS + Zipformer ASR)
  • TTS 说话人 ID默认 0

    中英文模式: 0-9,纯英文模式: 0-10(默认 8 = bf_isabella)

  • TTS 语速默认 0.85

    0.5 = 慢速, 1.0 = 正常, 1.5 = 快速

故障排查
问题解决方法
SSH 连接失败确认 IP 地址和凭据正确。先在电脑上试 ssh 用户名@IP
镜像拉取慢镜像压缩后约 2 GB,确保设备网络稳定
服务未启动查看日志:ssh 用户名@IP "cd openvoicestream && docker compose logs"
健康检查失败首次启动需约 40 秒预热模型,稍等后重试
内存不足确保 Jetson 有 8GB+ 内存,且没有其他 GPU 任务在运行
未找到 NVIDIA 运行时安装:sudo apt install nvidia-container-toolkit && sudo systemctl restart docker
部署完成后

服务已在 http://<设备 IP>:8621 运行。快速测试:

curl http://<设备 IP>:8621/health
# 预期返回: {"asr": true, "tts": true, "streaming_asr": true}

curl -X POST http://<设备 IP>:8621/tts \
  -H "Content-Type: application/json" \
  -d '{"text": "你好,我是你的语音助手。", "sid": 0}' \
  --output test.wav
2

语音演示

直接在此页面体验已部署的语音服务。输入设备 IP 地址,然后使用下方面板测试语音识别和语音合成。

语音识别(ASR)

按住 录音 按钮说话,语音将被实时识别,转录文字会即时显示在屏幕上。

文字转语音(TTS)

输入任意文字,点击 生成 即可听到语音播放。

故障排查
问题解决方法
麦克风无法使用浏览器弹出权限请求时请点击允许
ASR 没有识别结果确认服务正在运行:curl http://<IP>:8621/health
TTS 播放无声音检查浏览器音量是否静音,尝试较短的文字
部署完成后

恭喜!本地语音服务已运行。

快速验证

  1. 在浏览器打开 http://<设备 IP>:8621/health — 所有字段应显示 true
  2. 用上面的 curl 命令测试语音合成
  3. 将你的应用连接到 API 接口

API 接口一览

接口方法说明
/healthGET服务健康检查
/asr/streamWebSocket实时流式语音识别
/ttsPOST文字转语音(返回 WAV)
/tts/streamPOST流式文字转语音(返回原始 PCM)
/asrPOST离线语音识别(上传 WAV 文件)

后续步骤

  • 接入你的大语言模型,完成语音助手流水线:ASR → LLM → TTS
  • 部署后可在"设备管理"页面调整语音配置
  • OpenVoiceStream GitHub