テキスト読み上げ API を使用する

完了

その Speech to text API と同様に、Azure AI 音声サービスには、音声合成用の他の REST API が用意されています。

  • テキスト読み上げ API。音声認識を実行する主要な方法です。
  • Batch synthesis API。大量のテキストをオーディオに変換するバッチ操作をサポートするように設計されています。たとえば、ソース テキストからオーディオブックを生成することができます。

これらの REST API について詳しくは、Text to Speech REST API に関するドキュメントをご確認ください。 実際には、インタラクティブな音声対応アプリケーションのほとんどは、(プログラミング) 言語固有の SDK を介して Azure AI 音声サービスを使用します。

Azure AI 音声 SDK の使用

音声認識と同様に、実際には、ほとんどのインタラクティブな音声対応アプリケーションは Azure AI 音声 SDK を使用して構築します。

音声合成を実装するパターンは、音声認識のパターンに似ています。

A diagram showing how a SpeechSynthesizer object is created from a SpeechConfig and AudioConfig, and its SpeakTextAsync method is used to call the Speech API.

  1. SpeechConfig オブジェクトを使用して、Azure AI 音声リソースへの接続に必要な情報をカプセル化します。 具体的には、その "場所" と "キー" です。
  2. 必要に応じて、AudioConfig を使用して、合成する音声の出力デバイスを定義します。 既定では、これは既定のシステム スピーカーですが、オーディオ ファイルを指定するか、この値を明示的に null 値に設定して、直接返されるオーディオ ストリーム オブジェクトを処理することもできます。
  3. SpeechConfigAudioConfig を使用して、SpeechSynthesizer オブジェクトを作成します。 このオブジェクトは、テキスト読み上げ API のプロキシ クライアントです。
  4. SpeechSynthesizer オブジェクトのメソッドを使用して、基になる API 関数を呼び出します。 たとえば、SpeakTextAsync() メソッドは、Azure AI 音声サービスを使用してテキストを音声に変換します。
  5. Azure AI 音声サービスからの応答を処理します。 SpeakTextAsync メソッドの場合、結果は次のプロパティを含む SpeechSynthesisResult オブジェクトになります。
    • AudioData
    • プロパティ
    • 理由
    • ResultId

音声が正常に合成されると、Reason プロパティが SynthesizingAudioCompleted 列挙型に設定され、AudioData プロパティにオーディオ ストリームが格納されます (AudioConfig によっては、自動的にスピーカーまたはファイルに送信されている場合もあります)。