硬汉嵌入式论坛

 找回密码
 立即注册
查看: 78|回复: 0
收起左侧

修改大模型开发板的小聆ai头像为可莉

[复制链接]

28

主题

3

回帖

87

积分

初级会员

积分
87
发表于 7 天前 | 显示全部楼层 |阅读模式

修改大模型开发板小聆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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-9-26 19:43 , Processed in 0.037784 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表