# Demo4Echo
**Repository Path**: codecooko/Demo4Echo
## Basic Information
- **Project Name**: Demo4Echo
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-07-05
- **Last Updated**: 2025-07-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Demos for Echo
这个仓库存放着Echo开发板的各种例程, 包括LVGL, AI对话机器人, 机器视觉等独立的demo。
[`AI桌面助手机器人Echo`](./DeskBot_demo/README.md)就是把他们融合起来做成的, LVGL作为UI界面, 这些高级demo作为子APP~
0. AI桌面机器人 Echo-Mate
### 📒 Overview
详见DeskBot_demo文件夹,这个文件夹包含了LVGL和其他demo的内容, 相当于是多个分离demo的融合,组成了Echo-Mate桌面AI助手, 详细如何编译和使用见[DsekBot_demo](./DeskBot_demo/README.md).
### 📑 AI桌面机器人整体框架:
实现的功能如下:
软件框架如下:
项目的文件目录如下:
```
DeskBot_demo/
├── bin/ # 可执行文件
├── build/ # build缓存
├── common/ # 通用层
│ ├── sys_manager/ # 开发板硬件对应的管理
│ └── xxx_manager/ # xxx对应的管理
├── conf/ # 系统设置
├── gui_app/ # UI层的软件
│ ├── common/ # UI层扩展lib
│ ├── font/ # UI字体
│ ├── images/ # UI图片
│ ├── pages/ # UI层主要pages
│ └── ui.c/h #
├── lvgl/ # lvgl核心组件
├── utils # 其他
├── lv_conf.h # lvgl设置
└── main.c
```
对于用C++写的AIChat, 转换为了C接口, 以方便在LVGL项目的UI层中访问, 细节详见[AIChat_demo](./AIChat_demo/)
1. AI语音助手
### 📒 Overview
这个AI语音助手, 可以完美部署到轻量级的Linux开发板上~本项目的AI语音助手的大致结构框图如下, 分为Client端和Server端,Client端运行在开发板上,Server可以在电脑上跑,然后开发板通过wifi等连接上即可。
[FSMN-VAD](https://www.modelscope.cn/models/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/summary): 阿里达摩院语音端点检测模型,用于检测语音活跃端点
[SenceVoice](https://github.com/FunAudioLLM/SenseVoice): 阿里的音频处理模型,用于语音转文字(ASR),情感识别(SER)等
[CosyVoice](https://github.com/FunAudioLLM/CosyVoice): 语音生成大模型,用于文字转语音生成(TTS)
[FastText](https://fasttext.cc/): Facebook于2016年开源的一个词向量计算和文本分类工具,这里用于获取说话人的指令进行一个多分类任务
### 📁 运行流程:
本项目的服务器Sever端,可以在没有GPU的笔记本电脑运行,除了通义千问和CosyVoice这两个生成式模型是调用阿里的API,其他的都是运行在本地的,当然如果有较强算力的同学,可以直接将这些模型都部署到本地服务器~
**注意:** 如果需要自定义指令识别,可以重新改一下fastText的数据集,然后再训练得到自己的模型即可拿去用了,详见Sever端的文件夹中的内容。
AI语音助手的运行流程和状态机大致如下图所示:
### 📑 Websockets协议定义:
Client端和Server端通过Webscokets进行通信,通过JSON进行交互,语音传输格式为opus.
具体内容详见[Client](./AIChat_demo/Client/README.md)和[Server](./AIChat_demo/Server/README.md)的README.
2. yolov5
使用了yolov5s预训练模型,详见文件夹中的源代码进行学习,可以看yolov5 demo 的 [readme](./yolov5_demo/README.md)
3. rkmpi_demos
这个是luckfox写的关于rkmpi的相关demo, 有VI RTSP等使用的例程,可以参考luckfox的文档进行学习 [readme](./rkmpi_demos/README_CN.md)