sherpa-onnx v1.10.45:FireRedASR 离线语音识别全语言支持一文看懂
2026/9/12 3:11:48 网站建设 项目流程

sherpa-onnx v1.10.45:FireRedASR 离线语音识别全语言支持一文看懂

【免费下载链接】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 v1.10.45 版本正式引入了对 FireRedASR 语音识别模型的完整支持。FireRedASR 是基于注意力机制的端到端(AED)模型,这个版本不仅把模型导出为 ONNX 格式,还为 C++、Python、C、C#、Swift、Dart、Go、Pascal、JavaScript 等语言提供了配套 API。如果你正在找一条可以完全离线运行 FireRedAsr 语音识别的接入路径,这就是它落地的起点。

这次更新对你意味着什么

sherpa-onnx 定位是"下一代 Kaldi + onnxruntime"的本地推理框架,主打无网络环境下的语音识别、语音合成、说话人分离等能力,此前已收录 Whisper、Paraformer、SenseVoice 等一批离线 ASR 模型。v1.10.45 把 FireRedASR 加进来,等于给离线识别多了一个高准确率的候选。

AED 模型的工作方式可以简单理解成两步:编码器先把整段音频"听"完并压缩成表示,解码器再逐字生成文本,生成时可以通过注意力机制反复回看音频内容。相比纯流式结构,这种设计在较长句、复杂声学场景下通常更稳,代价是需要等音频到齐才能开始解码——所以它属于非流式(offline)识别的范畴。

官方发布的模型包以sherpa-onnx-fire-red-asr-large-zh_en命名,覆盖中英文混合识别,测试音频里也包含四川、天津、河南等方言样本,说明它对国内真实口音数据做过针对性适配。

背后的工程决策与两处修复

模型导出侧,FireRedASR 被拆成 encoder 与 decoder 两个 ONNX 文件,并提供了 int8 量化版本(示例代码直接引用encoder.int8.onnxdecoder.int8.onnx)。量化后模型体积更小、推理更快,在嵌入式设备与移动端上尤其有意义。

语言绑定沿用了项目的分层思路:核心逻辑用 C++ 实现,C API 作为统一出口,Go、C#、Pascal 等语言绑定都基于 C API 封装,JavaScript 则同时提供 node-addon 和 WebAssembly 两条路线,分别面向服务端 Node 应用和浏览器端推理。

🔧 这个版本还修了两个不起眼但值得注意的问题。一是 Go 绑定:此前底层 C 结构体创建失败时,Go 侧的实例创建仍会返回成功,存在潜在的内存访问风险,现在创建链路会正确反映失败状态。二是实时因子(RTF,即识别耗时与音频时长的比值,数值越小越快)的计算代码中存在拼写错误,修复后性能指标才是可信的。

不同技术栈的接入方式

模型文件统一从项目的 asr-models 发布包下载解压,各语言的调用入口如下(均以离线识别为例):

  • C++ / Python:C++ 参考 fire-red-asr-cxx-api.cc,Python 则通过OfflineRecognizer.from_fire_red_asr传入 encoder、decoder、tokens 三个文件即可,完整示例见 offline-fire-red-asr-decode-files.py
  • C / CXX API:fire-red-asr-c-api.c
  • Java / Kotlin(Android):NonStreamingDecodeFileFireRedAsr.java
  • C# / .NET:dotnet-examples/offline-decode-files
  • Swift(iOS / macOS):swift-api-examples/decode-file.swift
  • Dart / Flutter:dart-api-examples/non-streaming-asr
  • Go:go-api-examples/non-streaming-decode-files
  • Pascal / Lazarus:pascal-api-examples/non-streaming-asr
  • JavaScript:Node 侧见 nodejs-addon-examples,浏览器端走 wasm 目录下的 WebAssembly 构建

如果你需要 clone 仓库查看完整代码,地址是 https://gitcode.com/GitHub_Trending/sh/sherpa-onnx ,示例脚本里多数还附带了可直接运行的.sh包装。

升级路径

对已有项目来说,升级成本很低:拉取新版本、下载对应模型包,然后把识别器换成 FireRedASR 入口即可,其余音频加载与解码流程与现有 ASR 模型保持一致。FireRedASR 与 Whisper、SenseVoice 等模型在准确率与速度上的实际权衡,建议用你自己场景的数据跑一组对比再下结论。对于新项目,从 Python 示例起步、验证效果后再选择目标语言绑定,是阻力最小的路线。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询