离线语音识别与合成引擎:Sherpa-Onnx 一次跑通 12 种语言
【免费下载链接】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 是一个基于 ONNX Runtime 的纯本地语音工具库:语音识别(ASR)、语音合成(TTS)、说话人分析、语音活动检测(VAD)全部在设备端完成,当前版本 1.13.7。
它凭什么适合本地部署
- 全链路离线:推理只依赖 onnxruntime(仓库锁定 1.27.1),音频不离开设备,无网络、无账号。
- 一套 C++ 核心:C、Python、Java 等 12 种语言的 API 都绑定自同一内核(sherpa-onnx/csrc/),行为一致。
- 硬件覆盖面广:从树莓派、RISC-V(riscv64)到 RK/Qualcomm/Ascend 四类 NPU,都有对应支持。
能力清单:按场景选模型
实时转写与离线转写
流式(边说边出字)与非流式(整段识别)双模式。流式可选 Zipformer Transducer、Paraformer、CTC;非流式覆盖 Whisper、SenseVoice、Paraformer、Qwen3-ASR、Moonshine、Dolphin-CTC 等。中英日韩粤均有多套模型,可配合热词纠偏专名。
文本转语音:多引擎 TTS
Piper、Kokoro、Matcha、VITS 之外,还内置零样本声音克隆(ZipVoice、Pocket TTS)。macOS 上 4.3 秒的中文音频合成耗时 1.3 秒,RTF 约 0.3。
说话人分析
识别"谁在说"(Speaker ID)与"分了几个人"(Diarization)分开提供,基于 3D-Speaker 等模型,可结合 VAD 做动态说话人切换。
VAD、降噪与唤醒
silero-vad 切分语音片段;GTCRN、DPDFNet 做流式/离线降噪;关键词 spotting 支持自定义唤醒词。这些能力可自由拼装:例如 VAD + 非流式 ASR 是现成组合。
平台与语言支持矩阵
| 架构 | Android | iOS | Windows | macOS | Linux | HarmonyOS |
|---|---|---|---|---|---|---|
| x64 | ✔ | — | ✔ | ✔ | ✔ | ✔ |
| x86 | ✔ | — | ✔ | — | — | — |
| arm64 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| arm32 | ✔ | — | — | — | ✔ | ✔ |
| riscv64 | — | — | — | — | ✔ | — |
| 维度 | 覆盖 |
|---|---|
| 语言(12 种) | C++、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal,另支持 WebAssembly |
| 常见 ASR 模型 | Whisper、Paraformer、Zipformer、SenseVoice、Moonshine、Qwen3-ASR、Dolphin-CTC |
| 常见 TTS 模型 | Piper、Kokoro、Matcha、VITS、ZipVoice、Pocket TTS |
快速上手三步走
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx - 安装 Python 包:
pip install sherpa-onnx,再从文档站下载一个 Whisper tiny 模型。 - 跑通第一个示例:
python python-api-examples/offline-decode-files.py --tokens=... --model=... test.wav,输出即识别文本。
C++ 侧用 CMake 编译:cmake -B build -DSHERPA_ONNX_ENABLE_PYTHON=ON(开关见 sherpa-onnx/CMakeLists.txt);Flutter 插件位于 flutter/sherpa_onnx/。
示例与配套资源
- python-api-examples/:100+ 脚本,覆盖麦克风实时识别、字幕生成(generate-subtitles.py)、WebSocket 客户端。
- c-api-examples/ 与 cxx-api-examples/:C/C++ 完整工程示例。
- android/:17 个 Android 演示应用,覆盖 README;harmony-os/、ios-swiftui/、tauri-examples/ 对应各端。
- wasm/:浏览器 WASM 构建入口;CHANGELOG.md 记录每次发版细节。
选型建议
如果你要在 Android/iOS、Linux 服务器或树莓派上私有化部署 ASR、TTS、说话人分析,sherpa-onnx 是可选的少数"多语言绑定 + 多硬件"组合之一。主要前提:需要自己挑选并下载对应 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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考