Пример для System.Speech.Synthesis.TtsEngine?

Знаете ли вы какие-либо (простые) примеры в пространстве имен System.Speech.Synthesis.TtsEngine?

Я хотел бы использовать движок TTS, который позволяет мне контролировать высоту звука, скорость и громкость выходного голоса. Похоже, что пространство имен, упомянутое выше, позволяет мне это сделать, но я не смог найти ни одного примера. Я не до конца понял, нужно ли мне для того, чтобы делать то, что я хочу, переписать (возможно, огромный и сложный) весь код, который преобразует текст в речь, или я бы просто "зацепил" процесс и изменить некоторые переменные.

Более или менее жизнеспособным вариантом для меня будет MBROLA, так как я могу легко контролировать продолжительность и высоту звука каждой фонемы. Проблема в том, что MBROLA является механизмом фонемной речевой связи, и поэтому мне пришлось бы преобразовывать текст в фонемы, прежде чем использовать его в MBROLA (что может быть сложно! Например, "Я читал" и "Я читал", разные фонемы "читать" и "читать"!).

Любые предложения будут очень признательны!

Спасибо!

1 ответ

Мне интересно, почему вам нужно перейти на такой низкий уровень (System.Speech.Synthesis.TtsEngine предназначен для людей, которые пишут свой собственный механизм TTS), когда System.Speech.SpeechSynthesizer уже предоставляет все функции, которые вы описываете, и гораздо проще в использовании.

System.Speech.SpeechSynthesizer имеет свойства для управления скоростью, высотой звука и громкостью. Кроме того, метод SpeakSsml позволяет встраивать разметку SSML в разговорный текст для управления скоростью, высотой звука и громкостью без необходимости обработки речевых событий.

Другие вопросы по тегам