トラブルシューティング
一般的な質問
Q. 音声認識精度が思うように出ないのですがどうしたらいいですか?
以下のポイントをチェックしてください。結果の取り扱いのクライアントエラーも参照してください。改善しない場合はお問合せください。
-
音声データのチャネル数を確認
ステレオ録音の場合、1チャネル目の音声しか認識しません。両チャネルの音声を認識させたい場合は分離した音声ファイルごとに送信してください。
-
音声データのサンプリングレートを確認
通話音声の場合は主に8kHzで録音されることになり、それ以外で広く使われている音声は16kHz以上になります。 会話_汎用エンジンについてはそれぞれのサンプリングレートに対応していますが、接続先のエンジンが異なるため、リクエスト時に正しいサンプリングレートを記述する必要があります。 ※サンプリングレートの指定が間違っていると、ほぼ認識されません(認識結果が空になります)。
-
音声フォーマット指定のエンディアンを確認
ヘッダなしの音声データ(RAWデータ)を送信する場合は、サンプリングレートに加えて、エンディアンを指定する必要があります。リトルエンディアンのデータはlsb、ビッグエンディアンのデータはmsbをつけます(
lsb8K
、msb16K
など)。※lsbやmsbの指定が間違って逆になっていると、ほぼ認識されません(認識結果が空になります)。
-
認識 対象の音声が録音されているかを確認
周りの環境や、録音を行うマイクデバイスなどに影響を受けるので、発話者の音声がしっかりと聞き取れるレベルで録音されているかを聴いて確認してください。TIPS の音声データ関連も参考にしてください。
-
API に送信する音声のバイナリデータに余計なデータが混入していないか確認
API に音声データを送信する際に、バイナリデータに余計なデータを混入させてしまって異常な音声になり、音声認識がうまくいかなくなるというケースがあります。音声認識リクエストやエンジンの選定などが適切で、録音環境などにも問題がないにも関わらず認識精度が悪いような場合、このようなプログラムになってしまっていないか確認してください。たとえば、API に送信した音声をクライアント側で録音し、音声が正常であるかを確認すると良いです。
-
発話内容が利用するエンジンと合致しているかを確認
専門用語が頻繁に話されるような音声は認識精度が下がります。 医療、金融、保険業界向けの領域特化エンジンをご用意しています。発話内容が合致しそうな場合はそちらをお試しください。詳細は音声認識エンジンを参照してください。 社内のみで使用される独自の用語や略称などを認識させたい場合は、単語登録機能をご活用ください。
Q. 動画ファイル、HLSなどのストリーミング形式の動画・音声の音声認識はできませんか?
ストリーミング配信の動画や音声を音声認識するためのAPIやサンプルプログラムは提供していません。 非対応のデータフォーマットの場合、対応している音声フォーマットに変換していただく必要があります。
音声フォーマットを変換するソフトウェアには、フリーソフトウェアのFFmpegなどがあります。 ただし、動画・音声フォーマットによっては、フォーマット自体にライセンスで使用法の制限やロイヤリティの発生有無などがある場合があります。 お客様の責任でご確認、ご利用いただきますようお願いします。
動画や音声を再生しながら音声認識を行いたい場合は、JavaScriptのサンプルプログラムのgetUserMedia()
をgetDisplayMedia()
に変更することでマイクの入力音のかわりにブラウザやシステムの音を認識することができますので、こちらもご検討ください。
(例) wrp.js