【全志R329-NPU助力】Maix-Speech为嵌入式环境设计的离线语音库

maix-speech是专为嵌入式环境设计的离线语音库,设计目标包括:asr/tts/chat
作者的设计初衷是完成一个低至cortex-a7 1.0ghz 单核下可以实时运行的asr库。
目前市面上的离线语音库非常稀缺,即使有也对主控要求很高,maix-speech 针对语音识别算法进行了深度优化,在内存占用上达到了数量级上的领先,并且保持了优良的wer。
基本情况maix-speech刚发布了一个面向嵌入式设备的离线语音识别库,可以在低至coretx-a7 1.0ghz, 64mb系统内存的嵌入式设备上实时运行(rtf<1.0)
最低内存占用25mb,磁盘占用35mb(含语言模型);最优aishell wer约5.4%;支持流式识别,支持连续数字识别,关键词识别,连续大词表语音识别等
支持:x86_64, armv7, aarch64, riscv64 等多种硬件平台,支持 awnn, zhouyi aipu 加速。
感兴趣的可以跳转githuib来点个赞。
链接:https://github.com/sipeed/maix-speech
maix-speech 的优势多平台支持maix-speech 支持多种嵌入式平台
极低的内存要求和优良的正确率maix-speech的内存占用相对于市面上的其他语音识别框架有数量级上的领先优势,并且保持良好的wer水平。
maix-speech最低可以实时运行(rtf<1)于典型的 1.0ghz cortex-a7 内核的芯片上,并且最低仅占用25mb左右内存, 也就意味着它可以实时运行在典型的内封64mb内存的a7芯片上。
常见离线语音识别工具对比 
细节优化优化了openfst及wfst解码,使得整个解码图无需载入内存即可实时读取解码。
可选载入内存的lg.fst解码图,压缩为lg.sfst, 尺寸为原始fst的1/3左右,占用内存为kaldi载入相同fst的内存占用的 1/20左右(kaldi需要6.5倍左右内存载入fst文件)。
使用新的smbr等效的方式(无需修改loss)进行鉴别性训练,提升流式识别的准确率
效果展示在全志 r329 上的运行效果,视频中板卡为 maixsense
连续大词汇量语音识别(lvcsr) 
连续中文数字识别 (digit) 
关键词识别(kws) 
maix-speech 工程结构├── assets│ └── test_files # 提供的测试文件,方便上手测试├── components # 组件│ ├── asr_lib # 组件 asr_lib│ │ ├── cmakelists.txt # 组件配置文件│ │ ├── include # 头文件│ │ ├── kconfig # 组件 menuconfig 配置文件│ │ ├── lib # 各个平台的库文件│ │ └── src # 源文件│ └── utils # 工具类组件,包括了跑分、字体等├── kconfig # 最顶级的 menuconfig 配置文件├── license # 开源协议(证书)├── projects # 工程│ └── maix_asr # asr 工程│ ├── cmakelists.txt # 工程配置文件│ ├── main # 工程里面的主组件│ └── project.py # 构建脚本,方便输入命令├── readme.md # 项目首页英文文档├── readme_zh.md # 项目首页中文文档├── tools # 项目构建相关代码,一般不用看└── usage_zh.md # 使用方法构建代码项目支持多平台, 不同的平台使用的工具链和库可能有差异,注意区别。
pc环境的推荐系统为 ubuntu 18.04 以上,gcc 7.5 以上,cmake 3.20以上,失能conda虚拟环境。其他环境可能有部分软件需要额外设置,不建议新手使用。
其他嵌入式环境的交叉编译方式可能存在一些细节使用问题,商业用户可以联系support@sipeed.com 获取支持。
环境准备首先电脑安装工具链和库(ubuntu 为例)
sudo apt update
sudo apt install git python3 cmake
python 只是用在编译脚本上的,方便简单地输入编译命令, 如果你电脑里有任何一个版本的 python 都是可以的, 为确保不出问题最好是python3。如果实在不想装 python , 也可以手动使用 cmake 命令进行编译。
x86 (linux) 或 在跑在其它架构的系统里编译,比如在r329或树莓派的系统里使用gcc编译 安装工具链和库(ubuntu为例)。
sudo apt install build-essential libasound2-dev
交叉编译 下载工具链,并解压到指定文件夹 比如r329, 从 realease 下载 r329_toolchain.tar.gz, 并解压到一个路径,比如 /opt/r329_toolchain 比如 v83x, 在这里找到工具链下载链接并下载工具链,解压到一个文件夹,比如/opt/toolchain-sunxi-musl
克隆代码git clone https://github.com/sipeed/maix-speech
编译x86(linux)或在跑在其它架构的系统里编译,比如在r329或 树莓派 的系统里使用gcc编译
注意,conda 环境下工具链可能有问题,如果出现错误可以先尝试 退出conda环境使用原生环境编译。
cd projects/maix_asrpython project.py clean_conf # 清除工具链配置python project.py menuconfig # 配置选择芯片架构(arch),默认是 x86python project.py build#python project.py rebuild # 如果有新建文件需要使用 rebuild# python project.py build --verbose # 打印详细构建过程./build/maix_asr # 测试下运行可执行文件,可以执行即可python project.py clean # 清除构建内容python project.py distclean # 彻底清除构建内容, 包括 menuconfig 内容
基于MC9S08Lx设计的超低功耗MCU开发技术
在二氧化硅玻璃上快速制作大面积凹面微透镜结构
高通5G芯片多层级市场布局 旗舰特性下沉策略在中端市场发力
三极管系列明细列表
如何从高层次上了解苹果AR头显Vision Pro
【全志R329-NPU助力】Maix-Speech为嵌入式环境设计的离线语音库
基于双功能电能计量IC实现三相电表的应用设计
ch32v103应用教程 ch32v103c8t6兼容 ch32v103c8t6烧录器
除了越卖越贵 2017年智能手机市场还会有哪些新趋势?
iPhone8什么时候上市?苹果秋季或发布iPhone7S, iPhone8或年底才有!
双星系统原行星盘轨道平面严重倾斜
单片机控制摩托车点火器的设计与制作
医疗物联网飞速发展,医疗大数据迎来新机遇
电工仪表使用注意事项
dos是什么意思_dos命令是什么?
设备运营化 物联网的核心商业模式
美国NFS宣布将对阿雷西博天文台望远镜进行拆除
号外!号外!2017年春节红包怎么抢?支付宝新玩法出炉
哪种A/D转换器适合我的应用
iPVD的产品介绍