绿联云
203.7M · 2026-03-25
语音 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 等分离模型) |
| 架构 | Android | iOS | Windows | macOS | Linux | HarmonyOS |
|---|---|---|---|---|---|---|
| x64 | ||||||
| x86 | ||||||
| arm64 | ||||||
| arm32 | ||||||
| riscv64 |
此外还支持 WebAssembly(浏览器端运行)、WearOS、openKylin、NVIDIA Jetson(Orin NX / Nano B01)、Raspberry Pi、RISC-V 开发板等。
C++、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal,加上 WebAssembly 支持。
sherpa-onnx 定位为推理部署框架,不包含模型训练功能,而是把各方的模型转成 ONNX(Open Neural Network Exchange,开放神经网络交换格式)纳入统一框架。以下是部分已集成的模型:
流式模型(实时场景):
| 模型 | 支持语言 |
|---|---|
| Zipformer(多语言版本) | 中文、英文、韩文、法文等 |
| Paraformer(流式版) | 中英双语 / 中粤英三语 |
非流式模型(离线/批量场景):
| 模型 | 支持语言 |
|---|---|
| Whisper(tiny 到 large) | 多语言 |
| Moonshine(tiny / base / v2) | 英文 |
| SenseVoice | 中文、英文、粤语、日文、韩文 + 多种中文方言 |
| FireRedASR v2(CTC / AED) | 中英文 + 20+ 种方言 |
| Paraformer(离线版) | 中英文 + 多种中文方言 |
| NVIDIA Parakeet | 英文 |
| TeleSpeech | 中文 + 多种方言 |
| Dolphin | 40 种亚洲语言 + 22 种中文方言 |
| 模型 | 说明 |
|---|---|
| Piper | 多语言轻量 TTS |
| Matcha | 中文、英文、中英混合 |
| Supertonic2 | v1.12.29 新增 |
| ZipVoice | 中英文语音克隆 |
| PocketTTS | 英文语音克隆 |
| 版本 | 日期 | 新增模型/功能 |
|---|---|---|
| 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 |
新模型接入时,团队会同步更新绝大多数语言的绑定,这是 sherpa-onnx 工程量最大的地方,也是它的核心价值——开发者不需要自己做模型转换和跨平台适配。
sherpa-onnx 支持 4 种 NPU:
| NPU | 厂商 | 典型设备 |
|---|---|---|
| RKNN | 瑞芯微 | RK3588 等开发板 |
| QNN | 高通 | 骁龙平台手机/IoT |
| Ascend NPU | 华为 | 昇腾 AI 处理器 |
| Axera NPU | 爱芯元智 | 边缘 AI 芯片 |
README 中列出的已测试设备包括:
sherpa-onnx 提供完整的 WebAssembly 支持,可以在浏览器中直接运行语音识别、语音合成、说话人分离、VAD 等功能,无需后端服务器。项目在 HuggingFace 上提供了大量在线 demo,涵盖多种语言和模型组合。
pip install sherpa-onnx
sherpa-onnx 提供多种开箱即用的预构建应用,无需编译:
| 类型 | 覆盖功能 |
|---|---|
| Android APK | 流式/非流式 ASR、TTS、VAD、音频标签、说话人识别/分离、关键词检测、语种识别 |
| Flutter App | 流式 ASR、TTS(Android/Linux/macOS/Windows) |
| Lazarus App | 字幕生成 |
| WebAssembly Demo | ASR、TTS、VAD、说话人分离、语音克隆(浏览器直接运行) |
不需要安装任何东西,直接在浏览器中试用:
大部分 demo 提供国内镜像地址。
项目通过 GitHub Releases 提供各类预训练模型的下载,按功能分类:ASR 模型、TTS 模型、VAD 模型、关键词检测模型、音频标签模型、说话人识别模型、标点模型、说话人分割模型、语音增强模型、音源分离模型。
sherpa-onnx 的价值不在于某个模型的精度有多高,而在于解决了"模型到部署"之间的工程鸿沟。它把 Whisper、Moonshine、SenseVoice、FireRedASR 等模型统一到一个框架里,让开发者用同一套 API 就能部署到手机、嵌入式设备、浏览器或服务器上。
适合关注的场景:
当前局限:
项目信息: