
RK3566 跑 sherpa-onnx 流式识别3 个坑1 条能跑通的命令【免费下载链接】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 流式语音识别到 RK3566 板子上结论很简单RKNN 运行时2.2.0能跑2.3.2段错误2.1.0报数据类型错误。3 个版本都测了一遍坑全在运行时上不在 sherpa-onnx 这边。下面先过一遍三个报错现场再给出能跑通的最小组合最后补上开跑前的清单和调优点。一、先讲坑RKNN 流式识别的三个报错现场 三个坑都不是 sherpa-onnx 的错RKNN 运行时的版本决定了它跑不跑得起来。RKNN 2.3.2跑流式识别直接段错误用2.3.2跑 zipformer 流式模型进程直接抛出段错误。上 GDB 复现断点落在 RKNN 运行时的内部函数里sherpa-onnx 的代码一行都没走到。这就是运行时库和模型对不上参数层面没有腾挪空间。所以怎么选2.3.2 直接放弃别在它身上花时间。RKNN 2.1.0zipformer 双语模型报 gather 数据类型错误换到2.1.0报错变成Meet unsupported input dtype for gather模型加载不下去。对照模型算子和运行时支持列表问题出在 Gather 算子上。这个版本对 Gather 的 dtype 支持不完善模型用到的类型它接不住一碰就报错。所以怎么选看到这个错先查 RKNN 版本别去动模型文件。离线二进制加载失败sherpa-onnx 的离线模型不吃 RKNN拿离线相关的二进制sherpa-onnx-vad-alsa-offline-asr指到 .rknn 文件上试直接加载失败。查加载逻辑离线识别读的是完整的 ONNX 模型文件RKNN 路径塞进去的是 .rknn格式从根上就不匹配。目前 RKNN 只支持流式识别模型离线那套还没适配。所以怎么选这条路线上只用流式识别离线二进制别碰。二、能稳定跑通的最小组合 ✅跑通的组合其实很简单RKNN2.2.0 流式 zipformer 中英双语模型 标准流式识别命令。项目选择RKNN 版本2.2.0实测唯一没翻车的版本模型类型流式识别zipformer 中英双语模型文件encoder.rknn / decoder.rknn / joiner.rknn外加 tokens.txt下面的命令可以直接拷到板子上把 .rknn 文件名和测试音频换成你实际的路径即可sherpa-onnx \ --providerrknn \ --encoderencoder.rknn \ --decoderdecoder.rknn \ --joinerjoiner.rknn \ --tokenstokens.txt \ test.wav命令能跑通说明版本、模型三件套没选错识别结果会以流式文本输出。三、开跑前还要备齐什么清单本身不难难的是版本选型选型定了剩下的只是把文件备到位。模型文件用 sherpa-onnx 提供的预训练 zipformer 中英双语流式识别模型转成 .rknn 格式给 RKNN 用。encoder、decoder、joiner 三部分之外别忘了 tokens.txt 词表。板端编译工具链在 RK3566 板子上直接编译 sherpa-onnx适配目标架构。这样能避开预编译产物和板端环境对不上的麻烦。测试音频准备一个 16k 采样的 wav比如 test.wav用来把整条链路验证一遍。.rknn 文件怎么导出的可以参照仓库里的 rknn 导出脚本目录。四、顺手把性能再抠一点 ⚡跑通之后还有三个调优点都不是必选项但每个都能省一点时间。NPU 核心绑定RK3566 不支持这条直接跳过它只对 RK3588 这类更强的平台适用。num_threads按板子 CPU 核数来调线程开多了反而多一层调度开销不提速。流式 chunk 大小chunk 大一点识别更稳但延迟上去了小一点响应快容易切断。取舍看业务对延迟的容忍度。五、写在最后目前 RKNN 只覆盖流式识别模型离线模型的路线还得走完整 ONNX。RKNN 后续版本适配能力还会继续跟进值得关注。等 2.3.2 之后的版本修稳了值得再测一轮。【免费下载链接】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),仅供参考