xiaozhi/py-xiaozhi-main/documents/docs/guide/03_语音交互模式说明.md

152 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

2025-07-18 13:14:28 +08:00
# 语音交互模式说明
![Image](./images/系统界面.png)
## 项目概述
py-xiaozhi是一个智能语音交互助手支持多种操作模式和功能包括语音对话、物联网设备控制、视觉识别等功能。本文档主要介绍语音交互的基本使用方法。
## 语音交互模式
语音交互支持两种模式,您可以根据实际需求选择合适的交互方式:
### 1. 长按对话模式
- **操作方法**:按住说话按钮,松手发送
- **适用场景**:短句交流,精确控制对话开始和结束时间
- **优点**:避免误触发,控制精确
- **快捷键**Alt+Shift+V按住说话
### 2. 自动对话模式
- **操作方法**:点击开始对话,系统自动检测语音并发送
- **适用场景**:长句交流,无需手动控制
- **优点**:解放双手,自然交流
- **界面提示**:显示"聆听中"表示系统正在接收您的语音
- **快捷键**Alt+Shift+A开始自动对话
### 模式切换
- 在GUI界面右下角显示当前模式
- 点击按钮可以切换模式
- 通过Alt+Shift+M快捷键切换模式
- 可以通过配置文件设置默认模式
## 对话控制
### 打断功能
当系统正在语音回复时,您可以随时打断:
- **GUI模式**使用Alt+Shift+X或界面上的打断按钮
- **CLI模式**使用F3键
## 系统托盘
GUI模式下支持系统托盘功能
- **状态指示**:托盘图标颜色反映当前系统状态
- 绿色:已启动/待命状态
- 黄色:聆听中状态
- 蓝色:说话中状态
- 红色:错误状态
- 灰色:未连接状态
- **最小化**:关闭窗口时自动最小化到系统托盘
- **退出**:右键点击托盘图标选择"退出程序"完全退出应用
### 状态流转
语音交互系统有以下几种状态:
```
+----------------+
| |
v |
+------+ 唤醒词/按钮 +------------+ | +------------+
| IDLE | -----------> | CONNECTING | --+-> | LISTENING |
+------+ +------------+ +------------+
^ |
| | 语音识别完成
| +------------+ v
+--------- | SPEAKING | <-----------------+
完成播放 +------------+
```
- **IDLE**:空闲状态,等待唤醒词或按钮触发
- **CONNECTING**:正在连接服务器
- **LISTENING**:正在聆听用户语音
- **SPEAKING**:系统正在语音回复
## 快捷键一览
| 功能 | 快捷键 | 说明 |
|------|--------|------|
| 按住说话 | Alt+Shift+V | 按住进行录音,松开发送(仅手动模式) |
| 自动对话 | Alt+Shift+A | 开始自动对话(自动检测语音并发送) |
| 打断对话 | Alt+Shift+X | 打断当前AI正在进行的回复 |
| 切换模式 | Alt+Shift+M | 在手动对话/自动对话模式间切换 |
## 语音命令
系统支持多种语音命令,以下是常用命令示例:
### 基础交互
- "你好"/"你是谁" - 基础打招呼和身份询问
- "谢谢"/"再见" - 礼貌用语
### 物联网控制
- "打开/关闭客厅的灯" - 控制灯光
- "播放 菊花台 通过iot音乐播放器播放" - 开始播放音乐
### 视觉识别
- "打开摄像头" - 开启摄像头
- "识别画面" - 分析当前画面
- "识别到了什么" - ai播放识别的内容
- "关闭摄像头" - 关闭摄像头
## 运行模式
### GUI 模式运行(默认)
```bash
python main.py
```
### CLI模式运行
```bash
python main.py --mode cli
```
### 构建打包
使用PyInstaller打包为可执行文件
```bash
# 各平台通用命令
python scripts/build.py
```
## 平台兼容性说明
- **Windows**: 完全支持所有功能
- **macOS**:
- 系统托盘显示在顶部状态栏,而非任务栏
- 快捷键使用可能需要系统权限授权
- **Linux**:
- 系统托盘支持可能因桌面环境(GNOME/KDE/Xfce等)有所不同
- 部分发行版可能需要安装额外的系统托盘支持包
## 最佳实践
1. **清晰发音**:确保在安静环境中清晰发音
2. **适当停顿**:句子间适当停顿有助于系统识别
3. **使用唤醒词**:开启唤醒词功能,可以避免误触发
4. **查看反馈**:注意界面状态提示,了解系统当前状态
5. **简洁命令**:使用简洁明了的命令获得更好的识别效果
## 获取帮助
如果遇到问题:
1. 优先查看 docs/异常汇总.md 文档
2. 通过 GitHub Issues 提交问题
3. 通过 AI 助手寻求帮助
4. 联系作者(主页有微信)(请自备 Todesk 链接并说明来意,作者工作日晚上处理)