首页 > 其他分享 >【聆思CSK6语音大模型AI开发套件试用】增加对语音控制电梯功能的显示

【聆思CSK6语音大模型AI开发套件试用】增加对语音控制电梯功能的显示

时间:2024-03-14 21:00:31浏览次数:31  
标签:layer set AI demo 聆思 label lv ui 语音

目录

任务简介

上一篇博文中,我们介绍了在聆思CSK6语音大模型AI开发套件的开发板实现对云平台返回的结果进行处理,我们已经通过日志文件看到了数据的正确接收和解析。今天对程序的用户界面进行优化,这样可以通过屏幕看到电梯的显示。

图形界面功能的实现

界面显示部分运行在一个独立的线程中,这部分代码是基于LVGL库实现的。

图形界面相关的代码在src\app_ui\demo_ui目录下。其中ui.c是核心代码。

添加LVGL控件

我们先定义一个全局变量:

lv_obj_t *ui_demo_layer_label = NULL;

然后在ui_demo_screen_init函数中添加如下代码:

        ui_demo_layer_label = lv_label_create(ui_demo_screen);
        lv_obj_set_width( ui_demo_layer_label, LV_SIZE_CONTENT);  /// 1
        lv_obj_set_height( ui_demo_layer_label, LV_SIZE_CONTENT);   /// 1
        lv_obj_set_x( ui_demo_layer_label, 10 );
        lv_obj_set_y( ui_demo_layer_label, 100 );
        lv_obj_set_align( ui_demo_layer_label, LV_ALIGN_TOP_LEFT );
        lv_label_set_text(ui_demo_layer_label, "Current Layer: 1");
        lv_obj_set_style_text_color(ui_demo_layer_label, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT );
        lv_obj_set_style_text_opa(ui_demo_layer_label, 255, LV_PART_MAIN| LV_STATE_DEFAULT);

添加显示楼层的函数

在ui.c中我们增加了ui_set_layer函数,该函数将解析到的电梯楼层数显示在layer_label上。

void ui_set_layer(int32_t id)
{
    char layer_text[50];
    snprintf(layer_text, sizeof(layer_text), "Current Layer: %d", id);
	k_mutex_lock(&lvgl_ui_mutex, K_FOREVER);
    lv_label_set_text(ui_demo_layer_label, layer_text);
	k_mutex_unlock(&lvgl_ui_mutex);
}

我们在consumer_thread线程中调用ui_set_layer函数即可完成显示更新。

系统字体的使用

在官方的例子中,所有的中文显示都是使用LVGL的字体生成工具转换生成得到的。保存在src\app_ui\demo_ui\fonts\screen_word.c中。不过该文件中并没有我们显示电梯层数所需要的文字。
我们采用一个简单的办法,就是利用系统字体输出"Current Layer字样"。要使用系统字体,需要修改prj.conf文件中修改如下:

CONFIG_LV_FONT_MONTSERRAT_32=y

完整代码下载

完整的代码参见:https://download.csdn.net/download/bit_mike/88959552

演示效果

下面是程序运行的演示效果图。
演示效果
下面是完整的演示视频。

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="YpYeawXA-1710419756282" src="https://live.csdn.net/v/embed/370785"></iframe>

【聆思CSK6语音大模型AI开发套件试用】语音控制电梯

标签:layer,set,AI,demo,聆思,label,lv,ui,语音
From: https://blog.csdn.net/bit_mike/article/details/136719961

相关文章

  • Langchain-Chatchat开源库使用的随笔记(一)
    转自:https://zhuanlan.zhihu.com/p/6760612691Chatchat项目结构整个结构是server 启动API,然后项目内自行调用API。API详情可见:http://xxx:7861/docs ,整个代码架构还是蛮适合深入学习 在这里插入图片描述 2Chatchat一些代码学习2.112个分块函数统一使用截止2023......
  • Langchain-ChatGLM源码解读(一)-文档数据上传
    一、简介Langchain-ChatGLM 相信大家都不陌生,近几周计划出一个源码解读,先解锁langchain的一些基础用法。文档问答过程大概分为以下5部分,在Langchain中都有体现。上传解析文档文档向量化、存储文档召回query向量化文档问答今天主要讲langchain在上传解析文档时是怎么实......
  • Langchain-ChatGLM源码解读(二)-文档embedding以及构建faiss过程
    一、简介Langchain-ChatGLM 相信大家都不陌生,近几周计划出一个源码解读,先解锁langchain的一些基础用法。文档问答过程大概分为以下5部分,在Langchain中都有体现。上传解析文档文档向量化、存储文档召回query向量化文档问答今天主要讲langchain在文档embedding以及构建fa......
  • 2024年AI辅助研发:科技创新的引擎
    CSND-个人主页:17_Kevin-CSDN博客收录专栏:《人工智能》技术进展进入2024年,人工智能(AI)在科技界和工业界的焦点地位更加巩固,其在辅助研发领域的技术进步尤为显著。深度学习技术的突飞猛进使得数据分析更为高效,比如在新药研发中,通过深度神经网络对化合物的生物活性进行预......
  • CF1927G. Paint Charges
    Problem-1927G-Codeforces做这道题的时候自己把\(dp\)式子卡的太死了,导致怎么想都想不出来,但正解的\(dp\)设的是很宽松的设\(dp_{i,j,k}\)表示考虑前\(i\)个数,所有中第一个没被染色的是\(j\),在\(i\)后面第一个没被染到的是\(k\)转移就判断第\(i\)个数......
  • 谁将主导未来AI市场?Claude3、Gemini、Sora与GPT-4的技术比拼
    【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认......
  • 美众议院通过强制要求 TikTok 剥离的法案; 首个 AI 软件工程师上线丨 RTE 开发者日报
       开发者朋友们大家好: 这里是**「RTE开发者日报」**,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • (码农福利) 介绍几个不用魔法 就能免费使用的AI工具
    因为AI的飞速发展IT行业已经可以说非常的卷了作为程序员如果不具备AI使用的能力很快就会被淘汰但在社区内无法直接谈论魔法大部分程序员可能也不具备魔法今天说一个不需要魔法好用的AI工具我们打开官网https://chandler.bet/#/overView点击GetChromeEx......
  • 《Distributed_Storage_Codes_With_Repair-by-Transfer_and_Nonachievability_of_Inte
    论文5个部分,本篇主要是针对3-14日组会中,懂和不懂的地方进行记录。论文部分:①RAID(待补充)②DC(datacollector)数据收集器+重建节点所有的这些系统,最基本的是要保证“DC”功能,也就是数据收集;在这个基础上,再保证,假如某节点出问题,能否修复;再研究,怎么修复代价最小,代价又分很多,有修......
  • 教程|腾讯云高性能应用服务(HAI)搭建多音色控制的TTS引擎
    在这篇文章中,我们将介绍如何使用腾讯云的高性能应用服务(HAI)来搭建一个具有多音色控制的文本转语音(TTS)引擎,具体操作步骤如下:登录高性能应用服务HAI控制台点击新建选择AI框架,选择算力方案、输入实例名称、选择数量后立即购买开启学术加速功能完成创建,查看运行状态......