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

完了

音声テキスト変換 API と同様に、Azure Speech サービスには、音声合成用の他の REST API が用意されています。

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

REST API の詳細については、テキスト読み上げ REST API に関するドキュメントをご参照ください。 実際には、ほとんどの対話型音声対応アプリケーションでは、(プログラミング) 言語固有の SDK を使用して Azure Speech サービスを使用します。

Azure Speech SDK の使用

音声認識と同様に、実際には、ほとんどの対話型音声対応アプリケーションは Azure Speech SDK を使用して構築されます。

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

SpeechConfig と AudioConfig から SpeechSynthesizer オブジェクトを作成し、その SpeakTextAsync メソッドを使用して Speech API を呼び出す方法を示す図。

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

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