sherpa-onnx:手机与嵌入式端的离线语音推理框架
语音 AI 模型更新迭代非常快,Whisper、Moonshine、SenseVoice 几乎每个月都有新版本。但对开发者而言,选好模型只是第一步,真正的工程挑战在于如何把它跑在手机上、嵌入式设备上或浏览器里,以及如何在没有网络的环境下运行。
sherpa-onnx 是 next-gen Kaldi 团队开源的语音推理部署框架(Apache 2.0 协议),它的核心定位很明确:将多种语音模型统一转成 ONNX 格式,部署到各类平台上。最新版 v1.12.29 于 3 月 12 日发布,支持 12 项语音功能、12 种编程语言,覆盖从服务器到嵌入式设备的全场景。
功能覆盖:不止是识别
sherpa-onnx 的功能矩阵远不止 ASR 识别,它覆盖了 12 项核心能力:
| 功能 | 说明 |
|---|---|
| 语音识别(ASR) | 流式 + 非流式两种模式 |
| 语音合成(TTS) | 支持多种 TTS 引擎 |
| 说话人分离 | 多说话人场景处理 |
| 说话人识别 | 声纹匹配 |
| 说话人验证 | 一对一声纹确认 |
| 语种识别 | 自动检测语言 |
| 语音活动检测(VAD) | 基于 silero-vad 轻量级模型 |
| 关键词检测 | 唤醒词 / 热词触发 |
| 音频标签 | 环境音分类 |
| 标点恢复 | 为识别结果添加标点 |
| 语音增强 | 降噪(gtcrn、DPDFNet 等) |
| 音源分离 | 人声/伴奏分离(spleeter、UVR 等) |
多平台覆盖
除了常见的 x64/x86/arm64 架构外,它还支持 WebAssembly(浏览器端)、WearOS、openKylin、NVIDIA Jetson(Orin NX / Nano B01)、Raspberry Pi、RISC-V 开发板等。
| 架构 | Android | iOS | Windows | macOS | Linux | HarmonyOS |
|---|---|---|---|---|---|---|
| x64 | ✔ | ✔ | ✔ | ✔ | ✔ | |
| x86 | ✔ | ✔ | ||||
| arm64 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| arm32 | ✔ | ✔ | ✔ | |||
| riscv64 | ✔ |
此外还支持 C++、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal 等 12 种编程语言。
模型生态:统一 ONNX 标准
sherpa-onnx 定位为推理部署框架,不包含模型训练功能,而是把各方的模型转成 ONNX 纳入统一框架。以下是部分已集成的模型:
语音识别(ASR)
流式模型(实时场景):
| 模型 | 支持语言 |
|---|---|
| Zipformer(多语言版本) | 中文、英文、韩文、法文等 |
| Paraformer(流式版) | 中英双语 / 中粤英三语 |
非流式模型(离线/批量场景):
| 模型 | 支持语言 |
|---|---|
| Whisper(tiny 到 large) | 多语言 |
| Moonshine(tiny / base / v2) | 英文 |
| SenseVoice | 中文、英文、粤语、日文、韩文 + 多种中文方言 |
| FireRedASR v2(CTC / AED) | 中英文 + 20+ 种方言 |
| Paraformer(离线版) | 中英文 + 多种中文方言 |
| NVIDIA Parakeet | 英文 |
| TeleSpeech | 中文 + 多种方言 |
| Dolphin | 40 种亚洲语言 + 22 种中文方言 |
语音合成(TTS)
| 模型 | 说明 |
|---|---|
| Piper | 多语言轻量 TTS |
| Matcha | 中文、英文、中英混合 |
| Supertonic2 | v1.12.29 新增 |
| ZipVoice | 中英文语音克隆 |
| PocketTTS | 英文语音克隆 |
近期更新动态
新模型接入时,团队会同步更新绝大多数语言的绑定,这是 sherpa-onnx 工程量最大的地方,也是它的核心价值——开发者不需要自己做模型转换和跨平台适配。
| 版本 | 日期 | 新增模型/功能 |
|---|---|---|
| v1.12.29 | 3/12 | Supertonic2 TTS,多语言绑定同步更新 |
| v1.12.28 | 2/28 | Moonshine v2 ASR,多语言绑定同步更新 |
| v1.12.27 | 2/26 | FireRedASR CTC 模型,Rust VAD API |
| v1.12.26 | 2/24 | PocketTTS 语音嵌入缓存,Rust ASR API |
硬件适配:从服务器到边缘
NPU 加速
sherpa-onnx 支持 4 种主流 NPU,方便在特定芯片上优化性能:
| NPU | 厂商 | 典型设备 |
|---|---|---|
| RKNN | 瑞芯微 | RK3588 等开发板 |
| QNN | 高通 | 骁龙平台手机/IoT |
| Ascend NPU | 华为 | 昇腾 AI 处理器 |
| Axera NPU | 爱芯元智 | 边缘 AI 芯片 |
已验证的边缘设备
README 中列出的已测试设备包括 NVIDIA Jetson(Orin NX、Nano B01)、Raspberry Pi、RISC-V 开发板(LicheePi4A、VisionFive 2)、国产 AI 开发板(旭日 X3 派、爱芯派、RK3588)以及 RV1126 等。
浏览器端:WebAssembly
项目提供完整的 WebAssembly 支持,可以在浏览器中直接运行语音识别、语音合成、说话人分离等功能,无需后端服务器。HuggingFace 上提供了大量在线 demo,涵盖多种语言和模型组合,大部分 demo 也提供国内镜像地址。
快速上手
Python 安装
pip install sherpa-onnx
预构建应用
如果你不想编译,可以直接使用开箱即用的预构建应用:
| 类型 | 覆盖功能 |
|---|---|
| Android APK | 流式/非流式 ASR、TTS、VAD、音频标签、说话人识别/分离、关键词检测、语种识别 |
| Flutter App | 流式 ASR、TTS(Android/Linux/macOS/Windows) |
| Lazarus App | 字幕生成 |
| WebAssembly Demo | ASR、TTS、VAD、说话人分离、语音克隆(浏览器直接运行) |
HuggingFace 在线体验
不需要安装任何东西,直接在浏览器中试用。支持的功能包括语音识别(多种模型可选)、语音合成(Piper、Matcha、ZipVoice)、说话人分离、音频标签、音源分离以及 VAD + ASR 组合(Whisper、Moonshine、SenseVoice、Paraformer 等)。
预训练模型下载
项目通过 GitHub Releases 提供各类预训练模型的下载,按功能分类:ASR 模型、TTS 模型、VAD 模型、关键词检测模型、音频标签模型、说话人识别模型、标点模型、说话人分割模型、语音增强模型、音源分离模型。
总结
sherpa-onnx 的价值不在于某个模型的精度有多高,而在于解决了'模型到部署'之间的工程鸿沟。它把 Whisper、Moonshine、SenseVoice、FireRedASR 等模型统一到一个框架里,让开发者用同一套 API 就能部署到手机、嵌入式设备、浏览器或服务器上。
适合关注的场景
- 需要在离线环境下运行语音 AI(无网络依赖)
- 需要将语音能力部署到移动端、嵌入式或浏览器
- 在多个项目中使用不同的语音模型,希望统一部署框架
- 需要 NPU 加速(瑞芯微、高通、华为昇腾、爱芯元智)
当前局限
- 定位为推理部署框架,不包含模型训练功能,依赖上游模型的更新和质量
- 部分新模型的集成存在滞后(需要等团队完成 ONNX 转换和全语言绑定)
- 文档以英文为主,部分中文文档覆盖不完整
项目信息
- GitHub: https://github.com/k2-fsa/sherpa-onnx
- 文档: https://k2-fsa.github.io/sherpa/onnx/index.html
- 协议: Apache 2.0
- 最新版本: v1.12.29(2026-03-12)


