音声変換
XSpeechSynthesizer API は、テキスト文字列をオーディオ ストリーミングに変換するためのスピーチ合成エンジン (音声) を初期化して構成するサポートを提供します。この機能はテキスト読み上げ (TTS) とも呼ばれています。 たとえば、音声の特性、発音、音量、高低、速さ、強調は、Speech Synthesis Markup Language (SSML) Version 1.0 を使用してカスタマイズされます。
注意
この API は、呼び出し元にユーザー バージョン 1.0 の SSML が必要です。
次の手順は API を使用する方法を示しています。
- XSpeechSynthesizerCreate を呼び出し、スピーチ シンセサイザーを作成します。 ハンドルが保持されていることを確認します。
- XSpeechSynthesizerSetCustomVoice または XSpeechSynthesizerSetDefaultVoice を呼び出し、目的の音声を選択することもできます。
- 音声に変換するテキストの小単位ごとに、次の手順を使用します。
- XSpeechSynthesizerCreateStreamFromText を呼び出し、新しいストリームを作成します。 この関数が完了する時点までに、テキストから .wav ファイルへの変換が完了します。 この変換は、実行に時間を要することがあるので、重要なスレッドが発生した場合は実行しないようにします。
- XSpeechSynthesizerGetStreamDataSize を呼び出し、オーディオ データを収めるために必要なバッファーのサイズを判断します。
- XSpeechSynthesizerGetStreamData を呼び出して、目的のストリームからオーディオ データ (.wav ファイル) を取得します。
- そのオーディオ データをオーディオ レンダラーに渡します。
- XSpeechSynthesizerCloseStreamHandle を呼び出し、ストリームのハンドルを閉じます。
- スピーチの合成を完了した後、SpeechSynthesizerCloseHandle を呼び出してハンドルを閉じます。