本篇文章主要介绍基于聆思 CSK6 大模型开发板的语音交互多模态实例进行二次开发,实现在语音唤醒后在屏幕展示 GIF 动画表情。
在开始实操之前,我们部署开发环境以及 SDK 工程拉取到本地目录,可以参考聆思文档中心
环境搭建 | 聆思文档中心与获取大模型套件 SDK | 聆思文档中心。
SDK 下载完成后,通过 VScode 打开 audio_recognition_online
示例模板(D:\LISTENAI\duomotai_ap\apps\audio_recognition_online
)根据自己的 SDK 保存路径打开
打开 src\app_ui\demo_ui\images\ui_img_anim_speak_gif_c
这里原示例中是语音唤醒之后加载语音唤醒“小聆”之后用来模拟声音的波浪型 gif 动画,如果我们想要它加载其他 GIF 动画,例如“会动的眼睛”,只需要将你想要替换的 GIF 动画的格式在 LVGL 官网转换为 C 语言数组,然后将这部分替换即可。(这里的使用的 GIF 分辨率为 96×36)
打开 LVGL 官网(Image Converter — LVGL),
(我这里是翻译了网址,若网页为英文版,按照顺序点击即可
)点击低电压保护器 v8
,选择你想要转换的 GIF,选择颜色格式
。这里 demo 中支持的 GIF 颜色格式为 CF_RAW_CHROMA
转变
之后打开下载的 c 文件,复制全部代码粘贴到 audio_recognition_online\src\app_ui\demo_ui\images\ui_img_anim_speak_gif_c
路径下,粘贴之后需要检查以下三个地方:
这里我们示例模板中的 GIF 储存名称为 ui_img_anim_speak_gif
,所以要将代码中名称的部分与 GIF.C 文件名称统一。可以直接复制替换对应位置即可
#ifndef LV_ATTRIBUTE_IMG_ANIM_SPEAK
#define LV_ATTRIBUTE_IMG_ANIM_SPEAK
#endif
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST
LV_ATTRIBUTE_IMG_ANIM_SPEAK uint8_t anim_speak_map[] = {
const lv_img_dsc_t ui_img_anim_speak_gif= {
.header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
.header.always_zero = 0,
.header.reserved = 0,
.header.w = 96,
.header.h = 36,
.data_size = 6028,
.data = anim_speak_map,
};
本文使用的聆思CSK6大模型开发板,详细信息可参考线上文档[https://docs2.listenai.com/x/nTn9kMMCU]
1、打开windows powershell/cmd
2、在LISTENAI\duomotai_ap
路径下输入,开始编译固件
lisa zep build -b csk6_duomotai_devkit apps\audio_recognition_online -p
3、固件编译成功之后,输入进行烧录
lisa zep exec cskburn -s \\.\COM串口号 -C 6 -b 1500000 0x000000 --verify-all .\build\zephyr\zephyr.bin