pコマンドパケットとpコマンド応答パケットは、対の概念ですが、pコマンド応答パケットが返却されるのは、サーバ側でエラーが発生したときのみです。エラー発生を意味するpコマンド応答パケットが返って来ない限り、クライアントは、必要に応じてpコマンドパケットによる音声データの送信を続けることができます。
音声データを送信します。
タイプ BINARY
p<audio_data>
<audio_data>は、セッション開始時の s コマンドで指定した音声フォーマットの音声データです。この音声データの先頭に、0x70( ‘p’ のアスキーコード)を付け、バイナリフレームで送信します。
音声認識サーバは、受信した音声データを順次処理し、発話開始・終了を検知して、発話区間ごとの認識途中結果や認識確定結果をリアルタイムに返します。音声認識サーバは、クライアントから送られたeコマンドパケットを受信するか、サーバ側で設定されているセッションタイムアウトが発生するまで、受信した音声データの認識処理を継続し、結果を返し続けます。
pコマンドに対する応答としてサーバからクライアントに送信されます。
タイプ TEXT
送信が成功したことを意味する応答は特にありません。
p <error_message>
サーバ側でpコマンドの受信処理に失敗すると、p の後ろに半角スペースを挟んで、エラーメッセージが返ります。
エラーメッセージ | 内容 |
“p can’t feed audio data to recognizer server” | 音声認識サーバが音を受け取る状態ではないのに音声データが送信されました。 ※ 「非音声区間による強制切断時間:50秒 」が発生した場合は、このエラーが通知されます。 |
“p session timeout occurred” | セッションタイムアウトが発生しました。 |
“p session timeout occurred (can’t stop feeding audio data to recognizer server)” | セッションタイムアウトが発生した為、音声データ受付けることができませんでした。 |