152 lines
4.6 KiB
Markdown
152 lines
4.6 KiB
Markdown
|
|
# 语音交互模式说明
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 项目概述
|
|||
|
|
|
|||
|
|
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 链接并说明来意,作者工作日晚上处理)
|