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

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

导读:

语音 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

中文 + 多种方言

Dolphin

40 种亚洲语言 + 22 种中文方言

语音合成(TTS)

模型说明

Piper

多语言轻量 TTS

Matcha

中文、英文、中英混合

Supertonic2

v1.12.29 新增

ZipVoice

中英文语音克隆

PocketTTS

英文语音克隆

2026 年近期新增

版本日期新增模型/功能

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 工程量最大的地方,也是它的核心价值——开发者不需要自己做模型转换和跨平台适配。

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

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 PiRISC-V 开发板:LicheePi4A、VisionFive 2国产 AI 开发板:旭日X3派、爱芯派、RK3588RV1126

浏览器端: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 Demo

ASR、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 转换和全语言绑定)文档以英文为主,部分中文文档覆盖不完整

项目信息:

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)社区:Discord

Read more

Qwen3Guard-Gen-WEB使用避坑指南,少走弯路的部署经验

Qwen3Guard-Gen-WEB 使用避坑指南,少走弯路的部署经验 你刚拉取了 Qwen3Guard-Gen-WEB 镜像,满怀期待地点开网页界面,输入一段测试文本,却卡在“加载中…”——等了两分钟,页面没反应;再刷新,报错 502 Bad Gateway;重跑脚本,提示 /root/1键推理.sh: No such file or directory……别急,这不是模型不行,而是你踩进了几个高频但极易被忽略的部署“暗坑”。 作为阿里开源的安全审核模型,Qwen3Guard-Gen-WEB 并非开箱即用的“傻瓜式”应用。它把专业能力封装进轻量 Web 界面,但底层依赖、路径逻辑、资源边界和交互习惯,都和常规 LLM 推理镜像有明显差异。本文不讲原理、不堆参数,只聚焦真实部署现场:哪些操作看似合理实则致命?哪些提示看似报错实为线索?

WebRTC 架构概览(整体框架篇)

WebRTC 架构概览(整体框架篇) 本文是 WebRTC 系列专栏的第二篇,将深入剖析 WebRTC 的整体架构,包括浏览器中的实现架构、API 体系、信令流程以及底层媒体引擎 libwebrtc 的结构。 目录 1. WebRTC 在浏览器中的架构 2. API 体系详解 3. WebRTC 信令流程概览 4. 媒体引擎结构(libwebrtc 概览) 5. 总结 1. WebRTC 在浏览器中的架构 1.1 整体架构图 ┌─────────────────────────────────────────────────────────────────────────┐ │ Web Application │ │ (JavaScript / HTML) │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌───────────────────────────────────────────────────────────────────────

SpringBoot+Vue+Netty+WebSocket+WebRTC 视频聊天实现

一、关于WebRTC(Web Real-Time Communication) WebRTC 是什么:是浏览器内置的实时通信技术,能让网页直接实现音视频通话、数据传输,无需安装插件。 ICE 是什么:ICE(Interactive Connectivity Establishment)是 WebRTC 中用于解决 NAT 穿透(简单说就是让不同网络下的设备能找到彼此)的框架,而 iceServers 就是给 ICE 提供 “辅助服务器” 的配置。 STUN 服务器:STUN(Session Traversal Utilities for NAT),直译是 “NAT 会话穿透工具”,它是一种轻量级的网络服务器,核心作用是:帮助处于 NAT(网络地址转换)后的设备(比如你的电脑 / 手机)

Flutter 三方库 wasm_interop 的鸿蒙化适配指南 - 让 WebAssembly 在鸿蒙 Web 端起飞、高性能 C++/Rust 逻辑复用实战、突破 JS 算力瓶颈

Flutter 三方库 wasm_interop 的鸿蒙化适配指南 - 让 WebAssembly 在鸿蒙 Web 端起飞、高性能 C++/Rust 逻辑复用实战、突破 JS 算力瓶颈

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 wasm_interop 的鸿蒙化适配指南 - 让 WebAssembly 在鸿蒙 Web 端起飞、高性能 C++/Rust 逻辑复用实战、突破 JS 算力瓶颈 在鸿蒙跨平台应用中,如果你遇到了需要极致算力的场景(如复杂的滤镜算法、音视频解码或加密运算),而 JavaScript/Dart 的性能又无法满足需求时,WebAssembly (Wasm) 就是你的终极武器。而 wasm_interop 则是连接 Dart 与 Wasm 世界的高速桥梁。 前言 wasm_interop 封装了底层的 WebAssembly JavaScript 接口,让我们能用纯