ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

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

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-onnxsherpa-onnx 是一套本地语音处理工具箱离线语音识别、语音合成TTS、说话人识别、语音增强全部在设备端完成断网也能用。底层算法来自新一代 Kaldi 工具链推理则交给 onnxruntime一个跨平台模型推理引擎专门负责把 .onnx 模型跑起来。 3 分钟跑起来pip 一条命令装好依赖它提供官方 Python 包装完即用不用编译pip install sherpa-onnx7 行代码识别一段音频准备一个.onnx模型和配套的tokens.txt词表仓库 scripts/ 目录下按模型分类放了对应的转换脚本然后import sherpa_onnx recognizer sherpa_onnx.OfflineRecognizer.from_nemo_ctc( modelmodel.onnx, tokenstokens.txt, num_threads2) 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推理服务框架想把这套离线引擎搬上集群做高并发服务时用它来调度。⚠️ 上手后最容易踩的坑音频格式别搞错输入要求单声道 16-bit 的 wavaccept_waveform里的 16000 是模型做特征提取的采样率默认 16kwav 文件本身的采样率可以不同库会自动重采样。模型和工厂方法必须配对Whisper、Paraformer、NeMo-CTC 结构各不相同分别对应from_whisper/from_paraformer/from_nemo_ctc配错了启动就会报参数缺失。嵌入式设备留意内存在树莓派或手机上跑优先选文件名带.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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进