おすすめ

このドキュメントでは、Media Translation API に音声データを提供する方法について説明します。ここで説明するガイドラインは、効率と精度を向上させることと、サービスのレスポンス時間を最適にすることを目的としています。Media Translation API の使用は、サービスに送信されるデータがこのドキュメントで説明するパラメータ内にある場合に最適です。

最適な結果を得るためにおすすめすること 可能な限り避けること
16,000 Hz 以上のサンプリング レートで音声をキャプチャします。 それ以外の場合は、sample_rate_hertzを(リサンプリングではなく)オーディオソースのネイティブサンプルレートと一致するように設定します。 サンプリングレートが低いと、認識精度が低下する可能性があります。その結果、翻訳の精度も低下します。ただし、再サンプリングは避けます。たとえば、電話のネイティブ レートは一般に 8,000 Hz です。このレートでサービスに送信する必要があります。
音声の録音と転送にはロスレス コーデックを使用します。FLAC または LINEAR16 をおすすめします。 録音中や送信中にミュー法などの損失の大きいコーデックを使用すると、認識精度が低下することがあります。音声がすでに API でサポートされていないエンコードになっている場合、ロスレス FLAC または LINEAR16 にトランスコードします。アプリケーションでロッシー コーデックを使用して帯域幅を保持する必要がある場合は、AMR_WBOGG_OPUSコーデックを、この優先順位で使用することをおすすめします。
LINEAR16コーデックを使用して、ストリーミングレスポンスのレイテンシを改善します。 他のタイプのコーデックでも、デコードに追加のステップが必要になるため、ストリーミングレスポンスのレイテンシが増加することがあります。同じコーデックでは、サンプルレートが高いほどレイテンシが高くなる可能性があります。
特にバックグラウンドノイズが存在する場合は、マイクをできるだけスピーカーの近くに配置します。 認識エンジンサービスは、追加のノイズキャンセルなしでバックグラウンド音声とノイズを無視するように設計されています。ただし、特に損失の大きいコーデックが使用されている場合は、過度のバックグラウンドノイズとエコーが発生する可能性があります。
強化されたモデルを使用して、ノイズの多い背景音声で効果を高めます。 強化されていないモデルは、ノイズの多い音声には適していません。
言語コード「language-region」を使用してsource_language_codeを指定し、地域を指定せずに言語コードを使用してtarget_language_codeを指定します(zh-CN と zh-TW を除く)。 source_language_codeで「region」が指定されていない場合は、デフォルトのリージョンが選択され、実際の音声リージョンと一致せず精度が低下する可能性があります。翻訳はテキストなのでtarget_language_codeはリージョンを必要としませんが、zh-CN と zh-TW はテキストでは異なります。

単一の発話

短いクエリやコマンドの場合には、single_utterance を true に設定した StreamingTranslateSpeechConfig を使用します。これにより、短い発言の認識が改善され、レイテンシも最小になります。 長い無音または一時停止があると、サービスは自動的に翻訳を停止します。 single_utterance モードを使用すると、応答でEND_OF_SINGLE_UTTERANCEが speech_event_type として返されます。クライアントは、END_OF_SINGLE_UTTERANCEレスポンスを取得するとリクエストの送信を停止し、残りのレスポンスを受信し続けます。

フレームサイズ

ストリーミング認識では、マイクまたはその他の音源からキャプチャされたライブ音声を認識します。音声ストリームはフレームに分割され、連続した StreamingTranslateSpeechRequest メッセージで送信されます。任意のフレームサイズを使用できます。 フレームが大きいほど効率が向上しますが、レイテンシが増加します。レイテンシと効率性の適切なトレードオフとして、100 ミリ秒フレームサイズをおすすめします。

音声の前処理

高音質の適切な位置に置かれたマイクを使用して、可能な限り明瞭な音声を生成することをおすすめします。ただし、音声をサービスに送信する前にノイズ低減信号処理を適用すると、一般に認識精度が低下します。認識サービスは、ノイズの多い音声を処理するように設計されています。

最良の結果を得るために、次のことを行います。

  • 特に背景ノイズがある場合は、可能な限り話者の近くにマイクを置きます。
  • 音声のクリッピングを避けます。
  • 自動利得制御(AGC)の使用を避けます。
  • すべてのノイズ低減処理を無効にする必要があります。
  • いくつかのサンプル音声を聞きます。歪みや予想外のノイズがなく、明瞭に聞こえている必要があります。

リクエストの構成

Media Translation API へのリクエストで送信される音声データを正確に記述してください。リクエストのTranslateSpeechConfigで正しいsample_rate_hertzaudio_encodingsource_language_codetarget_language_codeを指定すると、リクエストに対して最も正確な音声文字変換と請求が行われるようになります。