【具身智能】本地实时语音识别kaldi在正点原子RK3588上部署

纸上得来终觉浅,终知此事要躬行

费曼学习法:确定目标,以教代学,不断反馈和总结


1. 安装

官网上描述有3种安装方法:从预构建wheels下载安装、直接在目标板安装和通过交叉编译工具编译安装。

预构建wheels安装

首先登陆rk3588终端查看安装的python版

root@ATK-DLRK3588:/# python --version

Python 3.10.5

下载对应python版本的whl文件,由于我的arm 64位开发板对应的python版本为3.10,所以下载 sherpa_onnx-1.11.2-cp310-cp310-linux_aarch64.whl安装包。如果使用网页下载速度太慢,建议在链接上右击使用迅雷下载。

下载连接: https://k2-fsa.github.io/sherpa/onnx/rk-npu-cn.html

登录开发板,新建文件夹/userdata/caldi

cd /userdata

mkdir caldi

在adb所在文件夹,按住shift键右击,打开powershell窗口,输入如下命令复制文件到开发板的caldi目录。如果adb命令执行失败,将adb所在目录添加到环境变量的path变量里。

adb push sherpa_onnx-1.11.2-cp310-cp310-linux_aarch64.whl /userdata/caldi

进入到/userdata/caldi目录,进行安装

pip install sherpa_onnx-1.11.2-cp310-cp310-linux_aarch64.whl

警告先不用管

检查sherpa-onnx是否安装成功

2. 识别文件

在Ubuntu上下载识别文件

由于需要VPN,经常下载到一半失败,建议通过迅雷下载

解压压缩包

复制到开发板上

登录开发板,进入目录/userdata/caldi,使用如下命令进行语音文件转文本测试

sherpa-onnx \

--provider=rknn \

--encoder=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/encoder.rknn \

--decoder=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/decoder.rknn \

--joiner=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/joiner.rknn \

--tokens=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/tokens.txt \

./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/test_wavs/4.wav

显示如下代表成功

如果出现RKNN报错,需要重新安装librknnrt.so,经测试2.2.0版本是可以用的。

librknnrt.so 下载地址https://github.com/airockchip/rknn-toolkit2/blob/master/rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so

下载整个仓库会耗费大量时间,可以用GitHub directory downloader下载单独文件。

3. 实时语音识别

首先获取麦克风设备的名称,使用命令 arecord -l

复制代码

使用card 0,device 0,USB 摄像头上的麦克风

sherpa-onnx-alsa \

--provider=rknn \

--encoder=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/encoder.rknn \

--decoder=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/decoder.rknn \

--joiner=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/joiner.rknn \

--tokens=./sherpa-onnx-rk3588-streaming-zipformer-small-bilingual-zh-en-2023-02-16/tokens.txt \

plughw:0,0

输出如下,代表成功

参考链接:

实时语音识别Kaldi官网

111. 新一代Kaldi + RK NPU: 本地实时语音识别之rk3588_哔哩哔哩_bilibili

相关推荐
Mr数据杨2 分钟前
贷款违约预测实战案例 从 Kaggle 表格分类到金融风控建模
人工智能·数据分析·kaggle竞赛
学着改变2753 分钟前
2026电磁流量计选型全维度指南:励磁技术、衬里材质与工况适配深度解析
大数据·人工智能·科技·产品运营·能源·材质
AI的探索之旅3 分钟前
97 个 OpenCV 实例(十四):图像分割,GrabCut 抠图 + inpaint 去水印
人工智能·opencv·计算机视觉
Capricorn19885 分钟前
Ox Alpha 1M 上下文科研引用失真怎么排查?知芽 Notebook Skill 技术链路实操
人工智能·笔记·python·深度学习·知识图谱·论文笔记
火星上的鱼7 分钟前
2025年中国餐饮行业发展分析报告
大数据·人工智能
新知图书8 分钟前
14.2 多模态试驾预约Agent的系统架构
人工智能·深度学习·ai agent·智能体
2603_9663027511 分钟前
专业AI视频生成工具怎么选:主链路、单点与后期的分工逻辑
人工智能
jianqiang.xue12 分钟前
专栏简介:《嵌入式 AI 智能体设计实战》
人工智能·stm32·单片机·物联网·架构·esp32
宋哥转AI13 分钟前
深入理解 AI Agent · 多 Agent 编排 #03:Supervisor 与 Orchestrator——Dream-SaaS 双层编排架构拆解
java·人工智能·ai
逻辑君14 分钟前
ANNA 7.6 知识智能引擎白皮书
人工智能·机器学习