sherpa-onnx 离线语音识别实战指南:从模型选型到三步跑通本地 ASR 演示
【免费下载链接】sherpa-onnxSpeech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Android, iOS, HarmonyOS, Raspberry Pi, RISC-V, RK NPU, Axera NPU, Ascend NPU, x86_64 servers, websocket server/client, support 12 programming languages项目地址: https://gitcode.com/GitHub_Trending/sh/sherpa-onnx
sherpa-onnx 是一套完全本地的离线语音识别(ASR,语音转文字)工具集:把 ONNX 格式的模型直接跑在设备 CPU 或 NPU(神经网络处理单元)上,语音识别、语音合成(TTS,文字转语音)、语音活动检测(VAD,定位音频中人声的起止位置)一次配齐,推理过程不依赖网络。对隐私敏感的产品和端侧部署场景,它的价值很直接:录音不出设备、延迟可控、没有按调用计费的云端账单。目标硬件是手机、树莓派或带 NPU 的开发板时,可以把它放进候选清单。
和单用途的转写脚本相比,它的差异在覆盖面:ASR、TTS、说话人分离、语音增强、声源分离装在同一个库里,并提供 12 种编程语言的绑定。一句话概括:适合需要"本地语音全套件"、又不想拼多个库的团队。
📦 sherpa-onnx 支持哪些功能与哪些平台
功能维度与支持平台合并成一张表:
| 维度 | 支持项 |
|---|---|
| 语音识别 | 流式(边说边出字)与非流式整句解码;Whisper、Paraformer、SenseVoice、Zipformer 等主流模型 |
| 语音合成 | 内置 VITS、Piper、Matcha、Kokoro 模型,可切换说话人与语速,输出 wav |
| 说话人 | 识别 / 验证判断"是谁在说";分离把多人对话切成不同人的段落 |
| 辅助能力 | VAD 端点检测、GTCRN / DPDFNet 语音增强降噪、Spleeter / UVR 声源分离、语言识别、音频事件标注、关键词唤醒、标点恢复 |
| 桌面 / 服务器 | Windows、macOS、Linux;x86、x86_64、arm64、arm32、riscv64 |
| 移动端 | Android(含 WearOS)、iOS、HarmonyOS |
| 嵌入式 | 树莓派、RK / 昇腾 / 爱芯 NPU 板、Jetson、RISC-V 开发板 |
| 应用框架 | Flutter、Tauri、WebAssembly |
| 编程语言 | C++、C、Python、Go、C#、Java、Kotlin、Swift、JavaScript、Dart、Rust、Pascal |
性能数据用 RTF(实时因子,处理 1 秒音频所花的秒数)来描述:
- 流式 Zipformer、Paraformer 在普通 CPU 上 RTF 普遍低于 0.1,即处理 1 秒音频耗时小于 0.1 秒。
- TTS 侧,下图演示中 5.2 秒音频用了 1.2 秒生成,RTF ≈ 0.236;树莓派级别硬件上普遍在 0.2~0.3 区间,具体取决于模型与硬件。
同一个 TTS 演示应用在 Ubuntu 虚拟机中同样可以直接运行:
🚀 三步跑通第一个 demo
- 获取示例与源码:
git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx- 安装 Python 包,官方脚本随附模型自动下载 ONNX 文件:
pip install sherpa-onnx- 传入一段 wav 做非流式识别,直接输出转写文本:
python python-api-examples/offline-decode-files.py想看流式识别与语音合成,对应示例在 python-api-examples/online-decode-files.py 和 python-api-examples/offline-tts.py。12 种语言各有独立示例目录,结构一致,照着替换即可。
🚧 边界说明:它不做什么,以及三个高频疑问
先说两条边界,避免期望错位:
- 只做推理,不做训练。项目不提供训练工具,模型需要由上游框架(Whisper、Paraformer 等原项目)训练后导出为 ONNX;微调同样不在范围内。
- 不追求云端大模型的精度上限。它的定位是端侧低延迟与成本可控;如果只追转写准确率且预算充足,云 API 是更省心的选择。
三个高频疑问,直接回答:
- 是否完全离线?是。推理不依赖网络,仅首次下载模型需要联网。
- 音频会不会出设备?不会。音频在本地解码,不经过任何第三方服务器,也没有按调用计费的账单模式。
- 性能开销如何?参考上文 RTF:流式 ASR 在普通 CPU 上普遍低于 0.1,TTS 约 0.2~0.3,随模型与硬件浮动。
✅ 选型速查:什么场景适合,什么场景不适合
适合你,如果:
- 产品涉及医疗、车载、金融等隐私数据,录音不能出设备
- 目标硬件是树莓派、手机或带 NPU 的开发板
- 需要 ASR + TTS + VAD 组合,不想拼多个库
不适合你,如果:
- 追求云端大模型的极限识别精度
- 需要训练或微调模型(请回上游框架完成)
- 业务量小,且已深度绑定某家云厂商 API
下一步建议:先查根目录 README.md 里的模型列表,确认你的语种和场景有对应模型,再到 python-api-examples/ 等示例目录按语言绑定找对应样例跑起来。
【免费下载链接】sherpa-onnxSpeech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Android, iOS, HarmonyOS, Raspberry Pi, RISC-V, RK NPU, Axera NPU, Ascend NPU, x86_64 servers, websocket server/client, support 12 programming languages项目地址: https://gitcode.com/GitHub_Trending/sh/sherpa-onnx
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考