news 2026/9/12 9:31:35

3 分钟本地跑通 sherpa-onnx:离线语音识别零门槛指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 分钟本地跑通 sherpa-onnx:离线语音识别零门槛指南

3 分钟本地跑通 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

sherpa-onnx 是一套本地语音处理工具箱:离线语音识别、语音合成(TTS)、说话人识别、语音增强全部在设备端完成,断网也能用。底层算法来自新一代 Kaldi 工具链,推理则交给 onnxruntime(一个跨平台模型推理引擎,专门负责把 .onnx 模型跑起来)。

🚀 3 分钟跑起来

pip 一条命令装好依赖

它提供官方 Python 包,装完即用,不用编译:

pip install sherpa-onnx

7 行代码识别一段音频

准备一个.onnx模型和配套的tokens.txt词表(仓库 scripts/ 目录下按模型分类放了对应的转换脚本),然后:

import sherpa_onnx recognizer = sherpa_onnx.OfflineRecognizer.from_nemo_ctc( model="model.onnx", tokens="tokens.txt", num_threads=2) stream = recognizer.create_stream() stream.accept_waveform(16000, samples) recognizer.decode_streams([stream]) print(stream.result.text)

其中samples是取值范围 [-1, 1] 的 float32 数组。完整的命令行版本(支持 Whisper、Paraformer、CTC 等多种模型)可以直接看 python-api-examples/offline-decode-files.py。

🎯 真实场景落地

  • 📞如果你要批量转写客服录音:把一堆 wav 丢给它循环解码,每次还会打印 RTF(实时率,转 1 秒音频花多少时间),机器上多线程并行,成本基本只剩电费。
  • 🎙如果你要给播客自动打字幕:用它的 VAD(语音端点检测,负责切出有人说话的片段)串接离线识别,vad-with-non-streaming-asr.py 就是现成的组合拳。
  • 📱如果你要在智能硬件里塞语音输入:Android、iOS、树莓派、RISC-V 到各类 NPU 都有对应示例,flutter-examples/ 里甚至直接跑在 Ubuntu 桌面上给你看效果。

🧩 周边项目怎么配合

  • WeNet:端到端语音识别工具包,它训练出的模型转成 .onnx 后能被这套东西直接加载,属于典型的"上游模型供应商"。
  • SenseVoice:多语言识别模型,接进来就给它补上中、英、日等语种的识别能力。
  • Triton:推理服务框架,想把这套离线引擎搬上集群做高并发服务时,用它来调度。

⚠️ 上手后最容易踩的坑

  1. 音频格式别搞错:输入要求单声道 16-bit 的 wav;accept_waveform里的 16000 是模型做特征提取的采样率(默认 16k),wav 文件本身的采样率可以不同,库会自动重采样。
  2. 模型和工厂方法必须配对:Whisper、Paraformer、NeMo-CTC 结构各不相同,分别对应from_whisper/from_paraformer/from_nemo_ctc,配错了启动就会报参数缺失。
  3. 嵌入式设备留意内存:在树莓派或手机上跑,优先选文件名带.int8的量化模型,num_threads别拉太高,否则要么卡要么 OOM。

想继续往下走,从 python-api-examples/ 挑一个最接近你业务的脚本魔改即可;C++、Java、Rust、Kotlin 等各语言的接口思路基本一致,仓库里都有对应目录可以照抄。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 9:22:53

不用下载到本地:kkFileView 文件在线预览服务搭建指南

不用下载到本地:kkFileView 文件在线预览服务搭建指南 【免费下载链接】kkFileView Universal File Online Preview Project based on Spring-Boot 项目地址: https://gitcode.com/GitHub_Trending/kk/kkFileView 收到文件想先扫一眼内容,你是不是…

作者头像 李华
网站建设 2026/9/12 9:18:40

mailcow 邮件服务器 Docker 部署:30 分钟从零到可用

mailcow 邮件服务器 Docker 部署:30 分钟从零到可用 【免费下载链接】mailcow-dockerized mailcow: dockerized - 🐮 🐋 💕 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized mailcow-dockerized 是…

作者头像 李华