Sherpa-ONNX 完全指南:本地语音识别与合成的离线实战
【免费下载链接】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
录音数据不能出设备、按调用计费太贵、云端 API 延迟不可控——如果你的场景卡在以上任何一条,Sherpa-ONNX 值得进入候选清单:它把 ONNX 格式的语音模型直接跑在本地 CPU / NPU 上,完成识别(ASR)与合成(TTS),全程不需要联网。适合谁的判断放在下面,先花 30 秒对号入座,再决定是否继续读。
🎯 三步判断:哪些场景适合用、哪些场景别用
适合你用:
- 产品涉及隐私数据(医疗、车载、金融),录音必须留在本地
- 目标硬件是手机、树莓派、带 NPU 的开发板(RK、Ascend、Axera、Qualcomm、Intel OpenVINO 均已适配)
- 需要 ASR + TTS + VAD 组合能力,不想拼多个库
建议绕开:
- 追求云端大模型的极限识别精度,且对成本不敏感
- 需要训练或微调模型——它只做推理,训练请用上游框架
- 业务量很小,且已深度绑定某家云厂商 API
📦 能力全景:一个 SDK 覆盖的语音功能域
语音识别(ASR):流式识别边说边出字(实时字幕、会议纪要);非流式整句解码(离线转写文件)。支持 Whisper、Paraformer、SenseVoice、Zipformer、NeMo 等主流模型。
语音合成(TTS):输入文本本地生成 wav,内置 VITS、Piper、Matcha、Kokoro 等模型,可切换说话人和语速。
说话人相关:识别与验证(判断"是谁在说")、说话人分离(多人对话切分到不同人)。
辅助能力:VAD 人声起止检测、GTCRN / DPDFNet 语音增强、Spleeter / UVR 声源分离、语言识别、关键词唤醒、音频事件标注、标点恢复。
| 维度 | 支持项 |
|---|---|
| 桌面 / 服务器 | Windows、macOS、Linux;x86 / x86_64 / arm32 / arm64 / riscv64 |
| 移动端 | Android(含 WearOS)、iOS、HarmonyOS |
| 嵌入式 | 树莓派、Jetson、RK / 昇腾 / 爱芯 / 高通 / Intel NPU、RISC-V 开发板 |
| 应用框架 | Flutter、Tauri、WebAssembly |
| 编程语言 | C++、C、Python、Go、C#、Java、Kotlin、Swift、JavaScript、Dart、Rust、Pascal,共 12 种绑定 |
🚀 最小上手路径:三步跑通第一个 demo
- 克隆代码获取示例与源码:
git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx # 克隆仓库 pip install sherpa-onnx # 安装 Python 包下载一个 ONNX 模型(各模型的下载入口见根目录 README.md)。
运行非流式识别脚本,把 wav 文件作为参数传入,输出转写文本:
python python-api-examples/offline-decode-files.py --tokens=<模型>/tokens.txt --paraformer=<模型>/model.onnx 0.wav # 对 0.wav 做离线转写更多关键示例:非流式 ASR、流式识别、TTS 合成。
🔍 生态位:它和同类工具差在哪
相比 Vosk、whisper.cpp 这类单点工具,它把 ASR、TTS、说话人分离、语音增强、声源分离收进了同一个 SDK,12 种语言绑定让同一套模型可以跨端复用。它的边界同样清楚:不提供训练工具,模型需要用其他框架导出为 ONNX;精度也不对标云端大模型,强项在端侧低延迟与可控成本。
❓ 高频疑问
1. 是否完全离线?是。模型放本地,推理不依赖网络,只有首次下载模型需要联网;音频在本地解码,不经过任何第三方服务器。
2. 性能开销如何?TTS 实测 RTF 可低至 0.236(Windows 桌面生成 5.216 秒语音耗时 1.233 秒,见上文截图);NeMo Parakeet 0.6B 离线 ASR 在 CPU 上 RTF 约 0.10(数据来自 scripts/nemo/parakeet-unified-en-0.6b/notes.md)。
3. 流式和非流式都能跑吗?都能。流式适合麦克风实时识别,非流式适合文件转写,两种模式都有完整的 Python / C++ / Java / Kotlin 等示例,见 python-api-examples/ 与 c-api-examples/。
下一步:先看根目录 README.md 的模型列表,确认目标语种和场景有对应模型,再到 examples 示例目录 按你的语言绑定找对应 demo。
【免费下载链接】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),仅供参考