把 Whisper、Moonshine、SenseVoice 统统装进手机:sherpa-onnx 离线语音部署框架,GitHub 10.9K Star

0 阅读5分钟

语音 AI 模型更新很快——Whisper、Moonshine、SenseVoice、FireRedASR、Paraformer,几乎每个月都有新模型发布。但对开发者来说,选好模型只是第一步,真正的工程挑战在后面:怎么把它跑在手机上?嵌入式设备上?浏览器里?怎么接入 NPU 加速?怎么在没有网络的环境下运行?

sherpa-onnx 是 next-gen Kaldi 团队开源的语音推理部署框架(GitHub 10.9k stars,Apache 2.0 协议),它的定位很明确:将多种语音模型统一转成 ONNX 格式,部署到各类平台上,支持离线运行。覆盖 12 项语音功能、12 种编程语言、从服务器到嵌入式的多平台支持,最新版 v1.12.29 于 3 月 12 日发布。

本文将介绍 sherpa-onnx 的功能覆盖、模型生态、硬件适配方案和上手方式


一、功能矩阵:不只是语音识别

sherpa-onnx 覆盖 12 项语音功能,远不止 ASR:

功能说明
语音识别(ASR)流式 + 非流式两种模式
语音合成(TTS)支持多种 TTS 引擎
说话人分离多说话人场景
说话人识别声纹匹配
说话人验证一对一声纹确认
语种识别自动检测语言
语音活动检测(VAD)基于 silero-vad(轻量级语音端点检测模型)
关键词检测唤醒词 / 热词触发
音频标签环境音分类
标点恢复为识别结果添加标点
语音增强降噪(gtcrn、DPDFNet 等降噪模型)
音源分离人声/伴奏分离(spleeter、UVR 等分离模型)

多平台覆盖

架构AndroidiOSWindowsmacOSLinuxHarmonyOS
x64
x86
arm64
arm32
riscv64

此外还支持 WebAssembly(浏览器端运行)、WearOS、openKylin、NVIDIA Jetson(Orin NX / Nano B01)、Raspberry Pi、RISC-V 开发板等。

12 种编程语言

C++、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal,加上 WebAssembly 支持。


二、模型生态:集成了哪些模型

sherpa-onnx 定位为推理部署框架,不包含模型训练功能,而是把各方的模型转成 ONNX(Open Neural Network Exchange,开放神经网络交换格式)纳入统一框架。以下是部分已集成的模型:

语音识别(ASR)

流式模型(实时场景):

模型支持语言
Zipformer(多语言版本)中文、英文、韩文、法文等
Paraformer(流式版)中英双语 / 中粤英三语

非流式模型(离线/批量场景):

模型支持语言
Whisper(tiny 到 large)多语言
Moonshine(tiny / base / v2)英文
SenseVoice中文、英文、粤语、日文、韩文 + 多种中文方言
FireRedASR v2(CTC / AED)中英文 + 20+ 种方言
Paraformer(离线版)中英文 + 多种中文方言
NVIDIA Parakeet英文
TeleSpeech中文 + 多种方言
Dolphin40 种亚洲语言 + 22 种中文方言

语音合成(TTS)

模型说明
Piper多语言轻量 TTS
Matcha中文、英文、中英混合
Supertonic2v1.12.29 新增
ZipVoice中英文语音克隆
PocketTTS英文语音克隆

2026 年近期新增

版本日期新增模型/功能
v1.12.293/12Supertonic2 TTS,多语言绑定同步更新
v1.12.282/28Moonshine v2 ASR,多语言绑定同步更新
v1.12.272/26FireRedASR CTC 模型,Rust VAD API
v1.12.262/24PocketTTS 语音嵌入缓存,Rust ASR API

新模型接入时,团队会同步更新绝大多数语言的绑定,这是 sherpa-onnx 工程量最大的地方,也是它的核心价值——开发者不需要自己做模型转换和跨平台适配。


三、硬件适配:从服务器到嵌入式

NPU 加速

sherpa-onnx 支持 4 种 NPU:

NPU厂商典型设备
RKNN瑞芯微RK3588 等开发板
QNN高通骁龙平台手机/IoT
Ascend NPU华为昇腾 AI 处理器
Axera NPU爱芯元智边缘 AI 芯片

已验证的边缘设备

README 中列出的已测试设备包括:

  • NVIDIA Jetson:Orin NX(CPU + GPU)、Nano B01(CPU + GPU)
  • Raspberry Pi
  • RISC-V 开发板:LicheePi4A、VisionFive 2
  • 国产 AI 开发板:旭日X3派、爱芯派、RK3588
  • RV1126

浏览器端:WebAssembly

sherpa-onnx 提供完整的 WebAssembly 支持,可以在浏览器中直接运行语音识别、语音合成、说话人分离、VAD 等功能,无需后端服务器。项目在 HuggingFace 上提供了大量在线 demo,涵盖多种语言和模型组合。


四、上手方式

Python 安装

pip install sherpa-onnx

预构建应用

sherpa-onnx 提供多种开箱即用的预构建应用,无需编译:

类型覆盖功能
Android APK流式/非流式 ASR、TTS、VAD、音频标签、说话人识别/分离、关键词检测、语种识别
Flutter App流式 ASR、TTS(Android/Linux/macOS/Windows)
Lazarus App字幕生成
WebAssembly DemoASR、TTS、VAD、说话人分离、语音克隆(浏览器直接运行)

HuggingFace 在线体验

不需要安装任何东西,直接在浏览器中试用:

  • 语音识别(多种模型可选)
  • 语音合成(Piper、Matcha、ZipVoice)
  • 说话人分离
  • 音频标签
  • 音源分离
  • VAD + ASR 组合(Whisper、Moonshine、SenseVoice、Paraformer 等)

大部分 demo 提供国内镜像地址。

预训练模型下载

项目通过 GitHub Releases 提供各类预训练模型的下载,按功能分类:ASR 模型、TTS 模型、VAD 模型、关键词检测模型、音频标签模型、说话人识别模型、标点模型、说话人分割模型、语音增强模型、音源分离模型。


五、总结

sherpa-onnx 的价值不在于某个模型的精度有多高,而在于解决了"模型到部署"之间的工程鸿沟。它把 Whisper、Moonshine、SenseVoice、FireRedASR 等模型统一到一个框架里,让开发者用同一套 API 就能部署到手机、嵌入式设备、浏览器或服务器上。

适合关注的场景:

  • 需要在离线环境下运行语音 AI(无网络依赖)
  • 需要将语音能力部署到移动端、嵌入式或浏览器
  • 在多个项目中使用不同的语音模型,希望统一部署框架
  • 需要 NPU 加速(瑞芯微、高通、华为昇腾、爱芯元智)

当前局限:

  • 定位为推理部署框架,不包含模型训练功能,依赖上游模型的更新和质量
  • 部分新模型的集成存在滞后(需要等团队完成 ONNX 转换和全语言绑定)
  • 文档以英文为主,部分中文文档覆盖不完整

项目信息: