A イベントパケット
認識処理が完了し、認識結果が受容されたときに、サーバからクライアントに送信されます。
形式
タイプ JSON
A <result>
<result>には、以下の JSON が格納されています。
| 説明 | |||
|---|---|---|---|
| results | 「発話区間の認識結果」の配列 ※配列形式ですが要素数は常に 1 個です。 | ||
| confidence | 信頼度(0 ~ 1 の値。 0:信頼度低, 1:信頼度高) | ||
| starttime | 発話開始時間 (音声データの先頭が 0) | ||
| endtime | 発話終了時間 (音声データの先頭が 0) | ||
| tags | 未使用(空配列) | ||
| rulename | 未使用(空文字) | ||
| text | 認識結果テキスト | ||
| tokens | 認識結果テキストの形態素の配列 | ||
| written | 形態素(単語)の表記 | ||
| confidence | 形態素の信頼度(認識結果の尤度) | ||
| starttime | 形態素の開始時間 (音声データの先頭が 0) | ||
| endtime | 形態素の終了時間(音声データの先頭が 0) | ||
| spoken | 形態素の読み *3 | ||
| utteranceid | 認識結果情報 ID *1 | ||
| text | 「発話区間の認識結果」の全てを結合した全体の認識結果テキスト。*2 | ||
| code | 結果を表す 1 文字のコード。レスポンスコードとメッセージを参照してください。*2 | ||
| message | エラー内容を表す文字列。レスポンスコードとメッセージを参照してください。*2 |
*1
認識結果情報 ID は、WebSocket 音声認識プロトコルの場合は、発話区間毎の認識結果情報に付与された ID となります。HTTP 音声認識プロトコルの場合は、1 セッションでアップロードされた(複数の発話区間を含む可能性のある)音声データ全体の認識結果情報に付与された ID となります。
*2
認識成功時は
body.code == "" かつ body.message == "" かつ body.text != ""
認識失敗時は
body.code != "" かつ body.message != "" かつ body.text == ""
となります。
*3
日本語エンジンの認識結果の spoken は平仮名です。 英語エンジ ンの認識結果の spoken は読みではありません(無視してください)。 中国語エンジンの認識結果の spoken はピンイン(pinyin)です。
JSON に含まれる code と message の一覧
| code | message | 説明 |
|---|---|---|
| “+” | “received unsupported audio format” | サポート対象外の音声データ形式の音声データを受信 |
| “-“ | “received illegal service authorization” | 不正なAPPKEY(サービス認証キー文字列)を受信 |
| “!” | “failed to connect to recognizer server” | 音声認識サーバ内での通信に失敗(音声認識サーバまたはロードバランサーサーバへの接続に失敗) |
| “>” | “failed to send audio data to recognizer server” | 音声認識サーバ内での通信に失敗(音声認識サーバへの音声データの送信に失敗) |
| “<“ | “failed to receive recognition result from recognizer server” | 音声認識サーバ内での通信に失敗(音声認識サーバからの認識結果の受信に失敗) |
| “#” | “received invalid recognition result from recognizer server” | 音声認識サーバ内での通信に失敗(音声認識サーバから受信した認識結果の形式が不正) |
| “$” | “timeout occurred while receiving audio data from client” | クライアントからの音声データ受信中に無通信タイムアウトが発生した |
| “%” | “received too large audio data from client” |