拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Sherpa-Onnx 完整教程:语音识别与语音合成在 6 类系统上完全离线运行

Sherpa-Onnx 完整教程语音识别与语音合成在 6 类系统上完全离线运行【免费下载链接】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即把语音转成文字、语音合成TTS即把文字读成语音、说话人识别、语音端点检测VAD即判断一句话在哪开始哪结束等功能全部在设备本地完成全程不需要联网并提供 C、Python、Java、Go 等 12 种语言接口。这篇文章按能做什么、跑在哪、怎么用的顺序把它讲清楚。云方案回答不了的三个问题在介绍 Sherpa-Onnx 之前先看为什么本地推理这条路值得走。隐私合规。语音是典型的敏感数据尤其是儿童产品、医疗问诊、法庭记录这类场景很多合规要求明确禁止音频上云。本地推理意味着音频从头到尾不出设备。成本与限额。云端 API 按用量收费同时有 QPS 限制。一个日活数万、每人大量使用语音输入的产品账单和限流都会成为瓶颈。延迟与可用性。流式识别走公网每一帧音频至少多一个网络往返的延迟在车机、工厂设备、户外硬件上网络质量更不可控。本地推理的延迟只取决于芯片性能。ONNX 是理解 Sherpa-Onnx 的关键背景它是一种神经网络模型的通用文件格式模型转换导出成 ONNX 之后可以在 CPU、GPU 乃至各种 NPU 上运行。Sherpa-Onnx 基于 ONNX Runtime 构建正是借助这个格式做到同一套模型多平台复用而不需要为每个设备重新训练模型。它是什么一套可移植的本地语音引擎一句话定位Sherpa-Onnx 把新一代 Kaldi 开源语音工具链的模型能力打包成可以直接嵌入应用的本地推理库。和同类工具相比它的差异点有三个功能覆盖面广识别、合成、说话人、增强、分离等语音全链路功能在一个库里而不是十几个分散的项目语言绑定全12 种语言官方维护每种语言都有配套示例而不是只给 C 核心库官方示例即产品仓库里大量示例Android APK、Flutter App、桌面程序可直接运行能直观看到真实效果。核心能力拆解离线状态下它能做什么语音识别边说边出字或整段转写识别分两种工作模式对应不同需求流式实时识别音频一帧一帧喂进去文字边说边出适合实时字幕、语音输入、会议转写。仓库提供了流式识别的 C 接口示例、模拟流式的 C 示例等。非流式离线整段识别一段音频完整读入后一次性转写精度通常更高适合转写录音文件、生成字幕。示例见 non-streaming-decode-files。两遍式Two-pass先用流式模型快速出初稿再用非流式模型精修兼顾实时性与准确率Android 两遍识别 App和 iOS 版本都有现成示例。模型方面支持 Whisper、SenseVoice中英粤日韩、Paraformer、Zipformer、Moonshine 等主流开源模型覆盖中文、英文及多种方言。语音合成让设备开口说话TTS 引擎支持 Piper、VITS、Kokoro、Matcha 等模型可按语言选择不同音色较新的 ZipVoice、Pocket TTS 还支持语音克隆——用少量参考音频即可在本地生成新音色。合成结果直接输出为音频波形或 wav 文件配合设备扬声器播放即可。Flutter 版 TTS 示例可以直观看到效果合成时程序会输出 RTFreal-time factor推理耗时与语音时长之比这类指标上面的示例中 RTF 约 0.3即 4.3 秒的语音用约 1.3 秒算完——在普通笔记本上就能接近实时。说话人相关验证、识别与谁在什么时候说话说话人验证判断两段语音是否同一个人常用于声纹解锁说话人识别把语音匹配到已登记的多个身份之一示例见 SpeakerIdentification.java说话人分离diarization处理多人会议录音自动切分并标注每段话的归属Python 示例在 offline-speaker-diarization.py。VAD 与一组辅助能力VAD语音端点检测从连续音频里切出真正有人声的片段是录音 → 识别流水线的预处理也能用来检测用户说完了没有关键词唤醒本地唤醒词检测类似你好小爱示例见 KWS C 接口语音增强/降噪用 GTCRN、DPDFNet 等模型本地去噪音源分离把混在一起的音频拆成人声与伴奏Spleeter、UVR音频打标、加标点、语言识别给音频打标签、给转写文本补标点、判断说话者说的是什么语言。跨平台与跨语言一套代码跑在哪些地方这是 Sherpa-Onnx 最卷的部分。官方维护的绑定和验证过的平台如下平台/系统支持架构Windows / macOS / Linuxx86、x86_64、arm64Linux 另支持 arm32 与 RISC-V riscv64Android含 WearOS 手表x86、x86_64、arm64、arm32iOSarm64HarmonyOSx64、arm64、arm32嵌入式与边缘侧树莓派、瑞芯微 RK3588、NVIDIA JetsonOrin NX / Nano、各类 RISC-V 开发板VisionFive 2、LicheePi、旭日、爱芯派等都有实测记录。NPU 加速支持瑞芯微 RKNN、高通 QNN、华为昇腾、爱芯 Axera。语言绑定共12 种C、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal另支持 WebAssembly浏览器端也能跑。每种语言的示例都按功能拆开放在仓库顶层目录里例如 python-api-examples/、go-api-examples/、java-api-examples/、nodejs-examples/、rust-api-examples/。应用框架层面官方还维护了 Flutter 插件与示例和 Tauri 桌面示例移动端和桌面端可以直接套用。各语言的 API 风格一致核心实现位于 sherpa-onnx/csrc/C 库与 sherpa-onnx/c-api/C 接口多数语言绑定都经由它转发。三个典型的落地场景场景一无网环境下的实时字幕车机、门店一体机、展会设备常处于无网状态但仍需要说话即出字幕。典型组合是VAD 切句 流式识别。仓库中的 VAD非流式识别 Android 示例、HarmonyOS 流式识别工程演示的就是这条流水线麦克风音频先经过 VAD 判断说话起止再交给识别模型断网照常工作。场景二桌面听写与录音转写个人用户最直接的用法是把 Sherpa-Onnx 做成本地听写工具或录音转字幕工具。桌面端可以用 C# 的 非流式转写示例、MFC 的 转写应用也可以用 Python 的 http_server.py 把它包成本地服务浏览器上传音频即可转写场景三智能音箱与机器人的语音交互离线语音助手需要一条完整链路VAD 判断说话 → 关键词唤醒 → 流式识别 → 大模型/规则→ TTS 播报。Sherpa-Onnx 把链路上每一环都提供本地实现社区已有大量基于它搭建的离线对话机器人和机器人项目。对硬件开发者来说NPU 支持RKNN、QNN、昇腾意味着可以把推理放到 NPU 上进一步压低功耗与延迟。上手指引从仓库到第一次运行克隆仓库仓库为只读镜像适合直接体验示例git clone https://gitcode.com/GitHub_Trending/sh/sherpa-onnx按你的语言进对应目录看示例Python 用户从 python-api-examples/README.md 开始移动端从 Android 示例说明或 flutter-examples/ 开始想读核心实现则看 sherpa-onnx/csrc/。模型不用自己训练仓库根 README.md 中列出了各功能预训练模型的下载地址与说明Whisper、SenseVoice、Paraformer、Piper 等。不想装环境的话可以先跑现成产物仓库提供了预编译的 Android APK、Flutter App 与 WebAssembly 版本的在线演示入口均列于根 README。需要留意的是它的边界追求极限识别准确率时云端超大模型仍有优势本地小模型在嘈杂环境下的表现会打折扣如果只是在手机上识别几句普通话这种一次性小需求系统自带接口可能更快。Sherpa-Onnx 的价值集中在必须离线、长期高频使用、跨多端部署这三类需求上——满足其中任何一条它就值得放进技术选型清单。对需要把语音能力做进产品、又不能把音频交给云端的团队来说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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门