1024 CSDN 程序员节-知存科技-基于存内计算芯片开发板验证语音识别

本文主要是介绍1024 CSDN 程序员节-知存科技-基于存内计算芯片开发板验证语音识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

在今年的 CSDN 程序员节上,我参与了这次知存科技举办的一个 AI Workshop 小活动——“基于存内计算芯片开发板验证语音识别”,并且有幸成为完成任务的学习者之一XD。上一次参与类似的活动是算能公司举办的“千校万里行”AIGC 大模型编译部署活动,感觉虽然只是简单的烧录现成代码,经历这几次活动后 AI 小白也能有一个小小的成就感。趁着这股新鲜感还没冷却,我打算写一篇博文来记录下这次活动的一些经历,也供后续参与的童鞋参考~

任务目标

AISHELL-WakeUp-1 数据集是中英文唤醒词语音数据库,命令词为“你好,米雅” “hi, mia” ,语音数据库中唤醒词语音 3936003 条,1561.12 小时,邀请 254 名发言人参与录制。录制过程在真实家居环境中,设置 7 个录音位,使用 6 个圆形 16 路 PDM 麦克风阵列录音板做远讲拾音(16kHz,16bit)、1 个高保真麦克风做近讲拾音(44.1kHz, 16bit)。此数据库可用于声纹识别、语音唤醒识别等研究使用。

本 demo 以该数据集为例,用不同网络结构展示模型训练及移植过程。

我们最终想要通过语音“你好,米雅”唤醒开发板。具体步骤如下:

  1. 训练得到模型,并转换为知存科技开发板相应格式模型。
  2. 工具链编译模型,得到模型权重表。
  3. 烧写模型权重。
  4. 烧写代码。
  5. 成功运行后,当我们对着开发板说出“你好,米雅”时,开发板就会通过串口发送“已唤醒”的信息。

开发板信息如下:

WTMDK2101-X3 是针对 WTM2101 AI SOC 设计的评估板,包含:

(1) WTM2101 核心板,即我们的存算芯片。

(2) 和 I/O 板:WTM2101 运行需要的电源、以及应用 I/O 接口等.

1697902980727

任务步骤

  1. 首先,本机上下载训练数据和训练代码并运行。这样我们就得到要烧录到知存开发板上的对应格式的模型。

1697903539984

​ 这一步结束后,我们可以得到以下模型+运行代码:

image-20231022000006828

  1. 将代码放入 docker 工具链环境中,编译运行,得到输出的模型权重表:

    image-20231022000134927

    image-20231022000148379

  2. 开发板连接好跳线帽、数据线如下图:

    image-20231022000351823

    image-20231022000432949

  3. 通过烧写工具 WitinProgramTool 将模型权重烧录到开发板上:

    image-20231022000517615

  4. 通过知存 IDE Witmem Studio,烧录提供好的工程代码。

    image-20231022000803161

    14169562a32b5d2f8e11d1bcc0cd9b5

  5. 打开串口调试助手(波特率115200,数据位8,停止位1,无校验位)。若成功运行,此时当我们对着开发板说出“你好,米雅”或 “Hi, Mia” 时,串口便会输出“已唤醒” 的提示信息。

    1697904883940

总结

对我个人而言,我接触 AI 非常少,只在前后端、嵌入式领域有过一些涉猎。因此,这次活动虽然在 AI 领域前辈来看可能是比较轻松的一个小任务,不过这份成就感让我很满足,我也大致能理解各个流程的作用。

从今年5月的 ST 峰会上大力推广的边缘AI,7月 RV 峰会上百家争鸣的 AI 应用,这两次算能和知存科技的 AI 硬件体验活动,我逐渐也能感觉到 AI (特别是当下的 AIGC)对嵌入式领域同样不容小觑的影响。现阶段自己的学习还停留在一些简单的控制,RTOS 这些。也许加深一些学习后,未来也可能在嵌入式深度学习领域有所学习~

3ef355ca5f80fb77b87451e4de36d87

这篇关于1024 CSDN 程序员节-知存科技-基于存内计算芯片开发板验证语音识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261972

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

Python中edge-tts实现便捷语音合成

《Python中edge-tts实现便捷语音合成》edge-tts是一个功能强大的Python库,支持多种语言和声音选项,本文主要介绍了Python中edge-tts实现便捷语音合成,具有一定的参考价... 目录安装与环境设置文本转语音查找音色更改语音参数生成音频与字幕总结edge-tts 是一个功能强大的

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3