Пример для System.Speech.Synthesis.TtsEngine? - PullRequest
1 голос
/ 24 марта 2010

Вам известны какие-нибудь (простые) примеры в пространстве имен System.Speech.Synthesis.TtsEngine?

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

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

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

Спасибо!

1 Ответ

2 голосов
/ 30 мая 2010

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

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

...