翻訳の合成
TranslationRecognizer は、音声入力の翻訳されたトランスクリプトを返します。基本的に、可聴音声をテキストに変換します。
また、翻訳を音声として合成して、音声から音声への翻訳ソリューションを作成することもできます。 これを実現するには 2 つの方法があります。
イベントベースの合成
1:1 の翻訳 (1 つのソース言語から 1 つのターゲット言語への翻訳) を実行する場合は、イベントベースの合成を使用して、翻訳をオーディオ ストリームとしてキャプチャできます。 そのためには、次の手順を実行する必要があります。
TranslationConfig で、翻訳された音声に必要な音声を指定します。 TranslationRecognizer オブジェクトの Synthesizing イベントのイベント ハンドラーを作成します。 イベント ハンドラーで、Result パラメーターの GetAudio() メソッドを使って、翻訳された音声のバイト ストリームを取得します。 イベント ハンドラーの実装に使われる具体的なコードは、お使いのプログラミング言語によって異なります。 Speech SDK のドキュメントの C# と Python の例を参照してください。
手動合成
手動合成は、イベントベースの合成に代わるアプローチであり、イベント ハンドラーを実装する必要がありません。 手動合成を使用して、1 つ以上のターゲット言語の音声翻訳を生成することができます。
翻訳の手動合成は、基本的には、次の 2 つの別々の操作の組み合わせにすぎません。
- TranslationRecognizer を使用して、音声入力を 1 つ以上のターゲット言語のテキストに翻訳します。
- SpeechSynthesizer を使用して各言語のオーディオ ストリームを合成して、翻訳操作の結果で Translations 辞書を繰り返し処理します。