马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
修改大模型开发板的小聆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 文件转 C 语言数组格式(我这里是翻译了网址,若网页为英文版,按照顺序点击即可)点击低电压保护器 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, }; 将下图位置的代码替换 三个文件都如上图处理,替换后的文件 编译与烧录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接口,按照以下方式对固件进行烧录: 1.点击串口下拉框,选择连接开发套件后识别到的串口编号; 2.将编译输出的.bin文件拖拽进烧录区域; 3.点击开始烧录,等待烧录完成。 第五步:复位运行烧录完成后,程序将自动运行,你也可以通过按压开发板上的复位按键进行复位运行,可唤醒体验替换后的应答语。 相关资料
|