数据包和状态转换
数据包列表
WebSocket 语音识别协议中客户端 ⇔ 服务器之间交换的数据包如下所示。
| 数据包名称 | 相关状态 | 说明 |
|---|---|---|
| s 命令数据包 | 语音供给状态 | 语音 数据发送开始命令 |
| s 命令响应数据包 | 语音供给状态 | 语音数据发送开始命令响应 |
| p 命令数据包 | 语音供给状态 | 语音数据发送命令 |
| p 命令响应数据包 | 语音供给状态 | 语音数据发送命令响应 |
| e 命令数据包 | 语音供给状态 | 语音数据发送停止命令 |
| e 命令响应数据包 | 语音供给状态 | 语音数据发送停止命令响应 |
| S 事件数据包 | 语音段检测状态 | 语音段开始检测通知 |
| E 事件数据包 | 语音段检测状态 | 语音段结束检测通知 |
| C 事件数据包 | 语音识别状态 | 识别处理开始通知 |
| U 事件数据包 | - | 识别处理中通知 |
| A/R 事件数据包 | 语音识别状态 | 识别处理结果通知 |
| G 事件数据包 | - | 服务器内部动作结果通知 |
状态转换列表
WebSocket 语音识别协议中存在的状态转换如下所示。
- 语音供给状态转换
- 语音段检测状态转换
- 语音识别状态转换
1. 语音供给状态转换
表示从客户端向服务器提供语音数据的状态如下所示。
语音供给状态转换表
| 数据包名称 | 0 Initialized [初始状态] | 1 starting | 2 started | 3 providing | 4 ending |
|---|---|---|---|---|---|
| s 命令数据包 | 供给开始 → 1 | (ERROR) | (ERROR) | (ERROR) | (ERROR) |
| s 命令响应数据包 (处理成功时) | - | (OK) → 2 | - | - | - |
| s 命令响应数据包 (处理失败时) | - | (ERROR) → 0 | - | - | - |
| p 命令数据包 | (ERROR) | (ERROR) | 供给中 → 3 | 供给中 → 3 | (ERROR) |
| p 命令响应数据包 (处理成功时) | - | - | - | (OK) → 3 | - |
| p 命令响应数据包 (处理失败时) | - | - | - | (ERROR) → 0 | - |
| e 命令数据包 | (ERROR) | (ERROR) | 供给停止 → 4 | 供给停止 → 4 | (ERROR) |
| e 命令响应数据包 (处理成功时) | - | - | - | - | (OK) → 0 |
| e 命令响应数据包 (处理失败时) | - | - | - | - | (ERROR) → 0 |
语音供给状态转换图

2. 语音段检测状态转换
表示语音段检测状况的状态如下所示。
语音段检测状态转换表
| 数据包名称 | 6 not-detecting [初始状态] | 7 detecting |
|---|---|---|
| S 事件数 据包 | → 7 | - |
| E 事件数据包 | - | → 6 |
语音段检测状态转换图
3. 语音识别状态转换
表示语音识别处理状况的状态如下所示。
语音识别状态转换表
| 数据包名称 | 8 not-recognizing [初始状态] | 9 recognizing |
|---|---|---|
| C 事件数据包 | → 9 | - |
| A/R 事件数据包 | - | → 8 |
语音识别状态转换图