修改大模型开发板的小聆ai头像为可莉
本文介绍了在聆思CSK6大模型开发板上将默认的小聆AI头像替换为可莉动画的详细步骤。主要内容包括:1)使用LVGL官网工具将GIF动画转换为C语言数组格式;2)修改SDK中的xiaoling_listening_s.c等三个文件,替换动画数据;3)注意事项包括保持36×36像素大小和8KB以内数据量;4)编译固件并使用cskburndesktop工具烧录的完整流程。文章提供了相关开发板文档和可莉固
修改大模型开发板的小聆ai头像为可莉
前言:
本篇文章主要介绍基于聆思 CSK6 大模型开发板的语音交互多模态实例进行二次开发,实现在语音唤醒后在屏幕展示 GIF 动画表情。
- 通过 LGVL 官网的工具将 GIF 转换为适合嵌入式系统使用的格式
- 基于 SDK 源代码进行修改
- 开发板编译与烧录
准备工作
在开始实操之前,我们部署开发环境以及 SDK 工程拉取到本地目录,可以参考聆思文档中心
SDK 下载完成后,通过 VScode 打开 LLM_pic 示例模板(D:\LISTENAI\duomotai_ap\apps\LLM_pic)根据自己的 SDK 保存路径打开打开duomotai_ap\apps\LLM_pic\src\app_ui\aweui\assets\xiaoling_listening_s.c、xiaoling_standby_s.c、xiaoling_thinking_s.c
这里原示例中是语音唤醒之后加载语音唤醒“小聆”之后出现的小机器人 动画,如果我们想要它加载其他 GIF 动画,例如可莉,只需要将你想要替换的 GIF 动画的格式在 LVGL 官网转换为 C 语言数组,然后将这部分替换即可。(这里的使用的 GIF 分辨率为 36×36),像素大小最好不超过40*40,字节大小不超过8KB。
如果像素过大或者字节量过大,可以使用工具进行压缩:免费在线 GIF 动图压缩工具 - docsmall
GIF 文件转 C 语言数组格式
打开 LVGL 官网(Image Converter — LVGL),
(我这里是翻译了网址,若网页为英文版,按照顺序点击即可)点击低电压保护器 v8,选择你想要转换的 GIF,选择颜色格式。这里 demo 中支持的 GIF 颜色格式为 CF_RAW_CHROMA
GIF.C 文件(C 数组格式)导入到示例模板
转变之后打开下载的 c 文件,复制全部代码粘贴到 duomotai_ap\apps\LLM_pic\src\app_ui\aweui\assets\路径下的三个.c后缀的代码文件xiaoling_listening_s.c、xiaoling_standby_s.c、xiaoling_thinking_s.c中,粘贴之后需要检查以下三个地方:
这里我们示例模板中的 GIF 储存名称为 xiaoling_listening_s.c、xiaoling_standby_s.c、xiaoling_thinking_s.c ,所以要将代码中名称的部分与 GIF.C 文件名称统一。可以直接复制替换对应位置即可
<xiaoling_listening_s.c>#ifndef LV_ATTRIBUTE_IMG_XIAOLING_LISTENING_S
#define LV_ATTRIBUTE_IMG_XIAOLING_LISTENING_S
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_XIAOLING_LISTENING_S uint8_t xiaoling_listening_map[]
const lv_img_dsc_t xiaoling_listening_s = {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 36,//像素
.header.h = 36,//像素
.data_size = 8008,//数据字节大小(根据图片调整)
.data = xiaoling_listening_map,
};
<xiaoling_thinking_s.c>#ifndef LV_ATTRIBUTE_IMG_XIAOLING_THINKING_S
#define LV_ATTRIBUTE_IMG_XIAOLING_THINKING_S
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_XIAOLING_THINKING_S uint8_t xiaoling_thinking_s_map[]
const lv_img_dsc_t xiaoling_thinking_s = {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 36,//像素
.header.h = 36,//像素
.data_size = 8008,//数据字节大小(根据图片调整)
.data = xiaoling_thinking_s_map,
};
<xiaoling_standby_s.c>
#ifndef LV_ATTRIBUTE_IMG_XIAOLING_STANDBY_S
#define LV_ATTRIBUTE_IMG_XIAOLING_STANDBY_S
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_XIAOLING_STANDBY_S uint8_t xiaoling_standby_map[]
const lv_img_dsc_t xiaoling_standby_s = {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 36,//像素
.header.h = 36,//像素
.data_size = 8008,//数据字节大小(根据图片调整)
.data = xiaoling_standby_map,
};
将下图位置的代码替换
三个文件都如上图处理,替换后的文件
编译与烧录
本文使用的聆思CSK6大模型开发板,详细信息可参考线上文档[套件简介 | 聆思文档中心]
1、打开windows powershell/cmd
2、在SDK\duomotai_ap路径下输入,开始编译固件
lisa zep build -b csk6_duomotai_devkit apps\LLM_pic -p
3、固件编译成功之后,回到 SDK 根目录(duomotai_ap)下,执行以下指令进行编译打包:
lisa zep build -b csk6_duomotai_devkit apps\LLM_pic -p编译完成后,使用 Type-C 数据线连接开发套件的 DAP_USB接口,按照以下方式对固件进行烧录:
cskburn desktop是一款聆思推出的桌面烧录工具,在下载并安装 cskburn桌面烧录工具 | 聆思文档中心后,双击
图标运行软件:
1.点击串口下拉框,选择连接开发套件后识别到的串口编号;
2.将编译输出的.bin文件拖拽进烧录区域;
3.点击开始烧录,等待烧录完成。
第五步:复位运行
烧录完成后,程序将自动运行,你也可以通过按压开发板上的复位按键进行复位运行,可唤醒体验替换后的应答语。
相关资料
可莉体验固件下载:https://docs2.listenai.com/z/229.zip
使用的开发板信息:https://docs2.listenai.com/x/nTn9kMMCU
更多个性配置方法可以参考官方开发文档:https://docs2.listenai.com/x/S_TEd8h7C
更多推荐
所有评论(0)