把 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

如何有效解决 Trae 上下文丢失问题——让 AI 记住你的代码与需求

在日常使用 Trae(AI 编程助手或 IDE 插件)进行开发时,许多开发者会遇到一个典型困扰:上下文丢失。具体表现为:当我们切换到另一个文件、开启新对话,或者在一次长会话中讨论多个主题后,AI 似乎“忘了”之前提到的代码结构、变量定义、函数用途,甚至是项目的业务规则和约束。这会导致重复解释、生成不符合需求的代码,甚至需要反复澄清,影响工作效率。 一、为什么会出现上下文丢失? 1. 模型 token 长度限制 Trae 背后的 AI 模型在一次推理中能处理的上下文长度是有限的(即 token 上限)。一旦对话或代码量超出这个限制,较早的内容会被截断或丢弃,AI 就无法再引用它们。 2. 会话与文件的切换 在不同的文件、标签页或对话主题之间切换时,如果没有显式传递原有背景,Trae 并不会自动将这些历史信息带入新场景。 3. 缺乏显式的上下文注入

Claude Code安装与使用完全指南:2026 年最前沿的 AI 编程助手

Claude Code安装与使用完全指南:2026 年最前沿的 AI 编程助手

文章目录 * 前言 * 一、什么是 Claude Code? * 1.1 定义与定位 * 1.2 技术优势 * 二、安装前的环境准备 * 2.1 系统要求 * 2.2 前置依赖 * 三、Claude Code 全平台安装教程 * 3.1 安装方式对比 * 3.2 Windows 系统安装 * 3.3 macOS 系统安装 * 3.5 安装后初始化 * 四、配置与优化 * 4.1 配置文件位置 * 4.2 跳过新手引导 * 4.3 接入国产大模型(免翻墙方案)

【证书】2025上海市人工智能训练师—高级/三级考试介绍与复习(SJTU版)

【证书】2025上海市人工智能训练师—高级/三级考试介绍与复习(SJTU版) 文章目录 * 1、考试介绍 * 2、考试复习 * 2.1 理论知识 * 2.2 实践知识 1、考试介绍 职业定义1 * 标准名称:人工智能训练师 * 国家职业编号:4-04-05-05 * 职业内容:使用智能训练软件, 在人工智能产品实际使用过程中进行数据库管理、 算法参数设置、 人机交互设计、 性能测试跟踪及其他辅助作业的人员。 职业技能等级 * 本职业共设 5 个等级,分别为: 五级/初级工、四级/中级工、(约对标初级职称) 三级/高级工、(约对标中级职称) 二级/技师、一级/高级技师 (约对标高级职称) 人工智能训练师(上海市) * 项目鉴定单位为:

AI实践(7)工具函数调用

AI实践(7)工具函数调用

AI实践(8)工具函数调用 Author: Once Day Date: 2026年3月2日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: AI实践成长_Once-Day的博客-ZEEKLOG博客 参考文章:Prompt Engineering Guide提示词技巧 – Claude 中文 - Claude AI 开发技术社区Prompting strategies for financial analysis | ClaudeDocumentation - Claude API DocsOpenAI for developers在LLM中调用函数 | Prompt Engineering GuideAI大模型Function Call技术教程:从入门到精通-ZEEKLOG博客详解 OpenAI 函数调用(Function Calling):让模型具备数据获取与行动能力 - 大A就是我 -