pコマンドパケットとpコマンド応答パケットは、対の概念ですが、pコマンド応答パケットが返却されるのは、サーバ側でエラーが発生したときのみです。エラー発生を意味するpコマンド応答パケットが返って来ない限り、クライアントは、必要に応じてpコマンドパケットによる音声データの送信を続けることができます。

pコマンドパケット

音声データを送信します。

形式

タイプ BINARY

p<audio_data>

<audio_data>は、セッション開始時の s コマンドで指定した音声フォーマットの音声データです。この音声データの先頭に、0x70( ‘p’ のアスキーコード)を付け、バイナリフレームで送信します。

音声認識サーバは、受信した音声データを順次処理し、発話開始・終了を検知して、発話区間ごとの認識途中結果や認識確定結果をリアルタイムに返します。音声認識サーバは、クライアントから送られたeコマンドパケットを受信するか、サーバ側で設定されているセッションタイムアウトが発生するまで、受信した音声データの認識処理を継続し、結果を返し続けます。

p コマンド応答パケット

pコマンドに対する応答としてサーバからクライアントに送信されます。

形式

タイプ TEXT

成功時の応答パケット

送信が成功したことを意味する応答は特にありません。

送信失敗時の応答パケット

p <error_message>

サーバ側でpコマンドの受信処理に失敗すると、p の後ろに半角スペースを挟んで、エラーメッセージが返ります。

処理失敗時例

エラーメッセージ 内容
“p can’t feed audio data to recognizer server”音声認識サーバが音を受け取る状態ではないのに音声データが送信されました。
“p session timeout occurred”セッションタイムアウトが発生しました。
“p session timeout occurred (can’t stop feeding audio data to recognizer server)”セッションタイムアウトが発生した為、音声データ受付けることができませんでした。