テキスト読み上げ API を使用する
音声テキスト変換 API と同様に、Azure Speech サービスには、音声合成用の他の REST API が用意されています。
- 音声合成を実行する主な方法であるテキスト読み上げ API。
- 大量のテキストをオーディオに変換するバッチ操作をサポートするように設計された Batch 合成 API。たとえば、ソース テキストからオーディオ ブックを生成します。
REST API の詳細については、テキスト読み上げ REST API に関するドキュメントをご参照ください。 実際には、ほとんどの対話型音声対応アプリケーションでは、(プログラミング) 言語固有の SDK を使用して Azure Speech サービスを使用します。
Azure Speech SDK の使用
音声認識と同様に、実際には、ほとんどの対話型音声対応アプリケーションは Azure Speech SDK を使用して構築されます。
音声合成を実装するパターンは、音声認識のパターンと似ています。
- SpeechConfig オブジェクトを使用して、Azure Speech リソースへの接続に必要な情報をカプセル化します。 具体的には、その 場所 と キー。
- 必要に応じて、 AudioConfig を使用して、合成する音声の出力デバイスを定義します。 既定では、これは既定のシステム スピーカーですが、オーディオ ファイルを指定することも、この値を null 値に明示的に設定することで、直接返されるオーディオ ストリーム オブジェクトを処理することもできます。
- SpeechConfig と AudioConfig を使用して SpeechSynthesizer オブジェクトを作成します。 このオブジェクトは、 Text to Speech API のプロキシ クライアントです。
- SpeechSynthesizer オブジェクトのメソッドを使用して、基になる API 関数を呼び出します。 たとえば、 SpeakTextAsync() メソッドは、Azure Speech サービスを使用してテキストを音声オーディオに変換します。
- Azure Speech サービスからの応答を処理します。
SpeakTextAsync メソッドの場合、結果は次のプロパティを含む SpeechSynthesisResult オブジェクトになります。
- AudioData
- プロパティ
- 理由
- ResultId
音声が正常に合成されると、 Reason プロパティは SynthesizingAudioCompleted 列挙体に設定され、 AudioData プロパティにはオーディオ ストリームが含まれます ( AudioConfig によっては、スピーカーまたはファイルに自動的に送信されている可能性があります)。