|
| 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 | +- 监控系统资源使用情况 |
0 commit comments