WebSocket 音声認識プロトコルでクライアント⇔サーバ間でやりとりされるパケットは、以下の通りです。
パケット名 | 関連する状態 | 説明 |
s コマンドパケット | 音声供給状態 | 音声データ送信開始コマンド |
s コマンド応答パケット | 音声供給状態 | 音声データ送信開始コマンド応答 |
p コマンドパケット | 音声供給状態 | 音声データ送信コマンド |
p コマンド応答パケット | 音声供給状態 | 音声データ送信コマンド応答 |
e コマンドパケット | 音声供給状態 | 音声データ送信停止コマンド |
e コマンド応答パケット | 音声供給状態 | 音声データ送信停止コマンド応答 |
S イベントパケット | 発話区間検出状態 | 発話区間開始検出通知 |
E イベントパケット | 発話区間検出状態 | 発話区間終了検出通知 |
C イベントパケット | 音声認識状態 | 認識処理開始通知 |
U イベントパケット | – | 認識処理中通知 |
A/R イベントパケット | 音声認識状態 | 認識処理結果通知 |
G イベントパケット | – | サーバ内でのアクション結果通知 |
WebSocket 音声認識プロトコルに存在する状態遷移は、以下の通りです。
・音声供給状態遷移
・発話区間検出状態遷移
・音声認識状態遷移
クライアントからサーバへの音声データの供給状況を表す状態は、以下のようになります。
パケット名 | 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 |
発話区間の検出状況を表す状態は、以下のようになります。
パケット名 | 6 not-detecting [初期状態] | 7 detecting |
S イベントパケット | → 7 | - |
E イベントパケット | - | → 6 |
音声認識処理の状況を表す状態は、以下のようになります。
パケット名 |
8
not-recognizing
[初期状態] | 9 recognizing |
C イベントパケット | → 9 | - |
A/R イベントパケット | - | → 8 |