次の方法で共有


音声変換

XSpeechSynthesizer API は、テキスト文字列をオーディオ ストリーミングに変換するためのスピーチ合成エンジン (音声) を初期化して構成するサポートを提供します。この機能はテキスト読み上げ (TTS) とも呼ばれています。 たとえば、音声の特性、発音、音量、高低、速さ、強調は、Speech Synthesis Markup Language (SSML) Version 1.0 を使用してカスタマイズされます。

注意

この API は、呼び出し元にユーザー バージョン 1.0 の SSML が必要です。

次の手順は API を使用する方法を示しています。

  1. XSpeechSynthesizerCreate を呼び出し、スピーチ シンセサイザーを作成します。 ハンドルが保持されていることを確認します。
  2. XSpeechSynthesizerSetCustomVoice または XSpeechSynthesizerSetDefaultVoice を呼び出し、目的の音声を選択することもできます。
  3. 音声に変換するテキストの小単位ごとに、次の手順を使用します。
    1. XSpeechSynthesizerCreateStreamFromText を呼び出し、新しいストリームを作成します。 この関数が完了する時点までに、テキストから .wav ファイルへの変換が完了します。 この変換は、実行に時間を要することがあるので、重要なスレッドが発生した場合は実行しないようにします。
    2. XSpeechSynthesizerGetStreamDataSize を呼び出し、オーディオ データを収めるために必要なバッファーのサイズを判断します。
    3. XSpeechSynthesizerGetStreamData を呼び出して、目的のストリームからオーディオ データ (.wav ファイル) を取得します。
    4. そのオーディオ データをオーディオ レンダラーに渡します。
    5. XSpeechSynthesizerCloseStreamHandle を呼び出し、ストリームのハンドルを閉じます。
  4. スピーチの合成を完了した後、SpeechSynthesizerCloseHandle を呼び出してハンドルを閉じます。

関連項目

XSpeechSynthesizer API リファレンス