OnDevice のトラブルシューティングとよくある質問

認識言語を変更する

選択した言語の言語パックでサーバーを再起動します。

ログ

Speech-to-Text バイナリには次の 4 つのロギングモードがあります。

  • debug: バイナリのデバッグに役立つ詳細ログ。たとえば、サーバー レスポンスはこのモードでログに記録されます。
  • prod: 推奨される本番環境の設定。ログには、バイナリ / ビルド バージョン、セッション開始、セッション終了、警告、エラーに関する情報が記録されます。
  • warning: ログには警告またはエラーのみが記録されます。
  • error: ログにはエラーのみが記録されます。

ロギングは --min_log_level フラグで制御できます。すべてのログは stdout に書き込まれます。

問題が発生した場合は、デバッグ ロギングを使用して Speech-to-Text サーバーを実行します。

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?}\
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --api_key=${API_KEY?}

起動時にバイナリは次の情報をログに記録します。

  • build ID: バイナリをビルドに関連付ける ID。
  • Language Pack ID: サーバーによって読み込まれた言語パックの ID。

文字変換時に、サーバーは request ID で指定されたクライアントをログに記録します。セッションが終了すると、サーバーはセッション ステータスを記録します。

誤使用に起因する問題のトラブルシューティングの場合はロギングで十分です。このモードではサーバーの動作も確認できます。たとえば、サーバーは音声内のものを認識しない限り、レスポンスを送信しません。音声が無音状態であったり、不明瞭であれば、レスポンスは送信されません。

セッション ステータス

セッションが成功すると、OK ステータスで終了します。

... Closing StreamingRecognize ($request_id) with status OK

失敗したセッションは OK 以外のステータスで終了します。たとえば、最初のリクエストの後に新しい構成リクエストを送信した場合などです。

... Closing StreamingRecognize ($request_id) with status INVALID_ARGUMENT: Malordered data received. Expected audio but received config. Send exactly one config, followed by audio data.

記録

ASR サーバーは、Google のデバッグをサポートするために、インタラクションの記録をサポートしています。

サンプル使用量

記録を保存するディレクトリを作成します。

mkdir $PWD/recordings

--recordings フラグを使用してサーバーを起動します。

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?} \
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --recordings=$PWD/recordings --api_key=${API_KEY?}

クライアントを起動します。

./speech_to_text_client --server_ip=${STT_IP?} --port=${STT_PORT?} \
  --audio=samples/*.wav

次のような形式のファイルが生成されます。

$PWD/recordings/{filename}_{timestamp}_requests.riegeli (1)
$PWD/recordings/{filename}_{timestamp}_responses.riegeli (2)

{filename} は、記録する .wav ファイルの名前です。speech_to_text_clientfilename を {request_id} として使用します。上の最初の例は、StreamingRecognizeRequest のシーケンスを含む Riegeli ファイル、2 番目の例は、StreamingRecognizeResponse のシーケンスを含む Riegeli ファイルです。

ファイル形式

この記録は、サーバーに送信されたリクエストとレスポンスを含む riegeli ファイルです。リクエストとレスポンスは、サーバーとの間で送受信されるため、ディスクにストリーミングされます。

追加サポート

コードの変更など、サポートが必要な問題のトラブルシューティングを行う場合は、次のものを提供してください(該当する場合)。

問題の説明