1

名前空間 System.Speech.Synthesis.TtsEngine の (単純な) 例を知っていますか?

出力音声のピッチ、レート、ボリュームを制御できる TTS エンジンを使用したいと考えています。上記の名前空間でそれができるように見えますが、例が 1 つも見つかりませんでした。私がやりたいことをするために、テキストを音声に変換する (おそらく巨大で複雑な) コード全体を書き直さなければならないのか、それともプロセスに「フック」していくつかの変数を変更します。

各音素の長さとピッチを簡単に制御できるので、多かれ少なかれ実行可能なオプションは MBROLA です。問題は、MBROLA は音素を音声に変換するエンジンであるため、MBROLA で使用する前にテキストを音素に変換する必要があることです (これは難しい場合があります! たとえば、「I read」と「Ive read」、異なる音素「読む」と「読む」のために!)。

どんな提案でも大歓迎です!

ありがとう!

4

1 に答える 1

2

System.Speech.SpeechSynthesizer があなたが説明するすべての機能を既に公開しているのに、なぜそのような低レベルに行く必要があるのか​​ 疑問に思っています(System.Speech.Synthesis.TtsEngine は独自の TTS エンジンを作成している人を対象としています)。はるかに使いやすいです。

System.Speech.SpeechSynthesizer には、速度、ピッチ、および音量を制御するためのプロパティがあります。また、SpeakSsmlメソッドを使用すると、SSML マークアップを音声テキストに埋め込んで、音声イベントを処理することなく速度、ピッチ、および音量を制御できます。

于 2010-05-30T16:30:36.743 に答える