
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),僅供參考