Skip to content

Commit 24ba9b0

Browse files
committed
Merge branch 'feat/add_brtc_app' into 'master'
Feat/add brtc app See merge request adf/esp-adf-internal!1431
2 parents d48369f + 915fb26 commit 24ba9b0

33 files changed

+4472
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,5 @@ coverage.info
5656
coverage_report/
5757

5858
.vscode
59+
60+
**/.cache/
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# BRTC 项目
2+
3+
## 1. BRTC 简介
4+
5+
[BRTC (Baidu Real-Time Communication)](https://cloud.baidu.com/?from=console) 是基于ESP32平台的百度实时音视频通信解决方案,支持音频和视觉的处理能力。
6+
7+
### 主要功能
8+
- **实时语音对话**: 支持连续语音交互,低延迟响应
9+
- **语音识别和合成**: 集成ASR(语音识别)和TTS(语音合成)功能
10+
- **网络音乐播放**: 支持在线音乐播放和音频流处理
11+
- **视频对讲**: 支持实时视频通话功能
12+
- **视觉理解**: 集成图像识别和视觉分析能力
13+
- **音频处理**: 3A算法(自动增益、回声消除、噪声抑制)
14+
15+
## 2. 支持的示例应用
16+
17+
### `Voice Assistant App` (语音助手应用)
18+
19+
**位置**: `solutions/voice_assistant_app/`
20+
21+
**功能特性**:
22+
- **智能语音对话**: 基于百度大模型的自然语言交互
23+
- **多工作模式**:
24+
- 普通模式: 直接语音对话,无需唤醒词
25+
- 唤醒模式: 支持"Hi 乐鑫"等唤醒词
26+
- **网络音乐播放**: 支持在线音乐播放和音频流处理
27+
- **音频混音功能**: 支持多路音频同时播放
28+
- **实时音视频**: 支持音视频同步传输
29+
30+
**技术特点**:
31+
- 基于ESP-GMF音频框架
32+
- 集成3A音频处理算法
33+
- 支持WebRTC实时通信
34+
- 低延迟音频处理
35+
36+
**适用场景**:
37+
- 智能音箱开发
38+
- 语音交互设备
39+
- 智能家居控制
40+
- 音视频通话设备
41+
42+
## 3. 前期准备
43+
44+
### 硬件要求
45+
- **推荐开发板**: ESP32-S3-Korvo-2
46+
47+
### 软件环境
48+
- **ESP-IDF**: release/v5.4 及以上版本
49+
- **依赖框架**: ESP-GMF音频处理框架
50+
- **开发工具**: ESP-IDF开发环境
51+
- **服务账号**: 百度智能云服务账号
52+
53+
### 百度云环境搭建
54+
55+
```mermaid
56+
flowchart TD
57+
A[开始] --> B[申请互动大模型应用ID]
58+
B --> C[申请AK、SK密钥]
59+
C --> D[申请并绑定Licence Key]
60+
D --> E[搭建本地服务器]
61+
E --> F[完成环境搭建]
62+
```
63+
64+
**1. 申请互动大模型应用ID**
65+
- 访问 [百度智能云互动大模型控制台](https://console.bce.baidu.com/rtc/#/rtc/interaction)
66+
- 创建互动大模型应用,获取应用ID
67+
68+
**2. 申请AK、SK密钥**
69+
- 访问 [百度智能云访问控制台](https://console.bce.baidu.com/iam/#/iam/accesslist)
70+
- 创建访问密钥,获取 Access Key (AK) 和 Secret Key (SK)
71+
72+
**3. 申请并绑定Licence Key**
73+
- 访问 [百度RTC资源管理](https://console.bce.baidu.com/rtc/?_=1756295965745#/rtc/resource)
74+
- 申请 Licence Key
75+
- 将 Licence Key 绑定到步骤1中创建的互动大模型应用
76+
77+
**4. 搭建本地服务器**
78+
- 参考[服务搭建文档](components/brtc/BRTC实时交互智能体接入指引文档V1.4.pdf)
79+
- 需要搭建一个本地服务器用于处理设备与百度云服务之间的通信
80+
- 服务器负责转发音频数据和AI响应
81+
- 获取的服务器URL示例: `http://192.168.3.73:8936/api/v1/aiagent`
82+
83+
## 4. 快速开始
84+
85+
## 进入相关的 solution 中, 如 `voice_assistant_app`
86+
87+
### 配置项目
88+
```bash
89+
# 进入项目目录
90+
cd solutions/voice_assistant_app
91+
92+
# 配置ESP-IDF环境
93+
idf.py set-target esp32s3
94+
95+
# 配置项目参数
96+
idf.py menuconfig
97+
```
98+
99+
在menuconfig中配置:
100+
- **WiFi连接信息**: SSID和密码
101+
- **百度RTC配置**: App ID、User ID、Workflows、Licence Key、Instance ID 和 Server URL
102+
103+
### 编译和烧录
104+
```bash
105+
# 编译项目
106+
idf.py build
107+
108+
# 烧录到设备
109+
idf.py -p PORT flash monitor
110+
```
111+
112+
### 使用说明
113+
- 设备启动后可直接进行语音对话
114+
- 支持唤醒词模式: "Hi 乐鑫"
115+
- 可通过语音指令播放网络音乐
116+
- 支持音视频通话功能
117+
118+
## 5. 故障排查
119+
120+
### 常见问题
121+
- **自问自答现象**: 调整音频增益参数,优化3A算法配置
122+
- **连接失败**: 检查WiFi连接和百度RTC配置信息
123+
- **音频质量问题**: 检查硬件连接和音频采样率设置
124+
- **视频功能异常**: 确认摄像头硬件和驱动配置
125+
126+
### 调试建议
127+
- 使用串口监控查看详细日志
128+
- 检查网络连接状态
129+
- 验证音频设备工作状态
130+
- 监控系统资源使用情况
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
idf_component_register(
3+
INCLUDE_DIRS "include" "./"
4+
SRC_DIRS "./"
5+
REQUIRES esp_capture esp_video_codec esp_board_manager
6+
)

0 commit comments

Comments
 (0)