2010-02-28 2 views
2

Любой доступный текстовый движок Silverlight теперь доступен? Я ищу очень простой механизм преобразования текста в речь, который должен считывать числа.серебристый текст в речь?

Я не хочу полагаться на какой-либо веб-сервис. В худшем случае я записываю некоторые голоса для чисел и сшиваю их вместе.

Любые указатели приветствуются. Мое приложение не должно работать на MAC или Linux.

ответ

1

Возможно, вам понадобится создать свой собственный для подлинно перекрестного совместимого приложения.

Silverlight 3: используйте активный X для вызова SDK Microsoft Speech. (не рекомендуется вообще)

Silverlight 4: Используйте COM-интеграцию для вызова Microsoft Speech SDK.

Они будут работать только с ОС Windows.

+0

Я считаю, что COM интеграция будет работать только на SL4 OOB. Однако я думаю, что неплохо было бы использовать Silverlight, чтобы заставить IE вызывать элемент управления ActiveX для выполнения речи. – Gabe

2

Существует еще один вариант, который не включает взаимодействие ActiveX или Silverlight 4 COM. Просто приложение Silverlight отправляет текст в службу WCF, которая преобразует текст в поток WAV, а затем декодирует поток, возвращаемый службой, и помещает его в MediaStreamSource для воспроизведения в Silverlight. Я написал сообщение в блоге, и он содержит пример кода.

http://www.brianlagunas.com/index.php/2010/03/07/text-to-speech-in-silverlight-using-wcf

0

Конечно, со всеми этими предложениями, основной недостаток заключается в самой рендеринга речи - каждый из этих образцов приводит к неприятным щелчком в начале речи, я имею в виду это это сбор мусора в потоке.

Было бы неплохо иметь что-то перекрестную платформу, которая может создать реалистичную речь. Я не задерживаю дыхание.

2

Преобразование текста в речь с использованием речи SDK состоит из нескольких простых шагов. Следующий код показывает важные фрагменты в выполнении текста в речь.

динамический текстToSpeech = AutomationFactory.CreateObject ("Sapi.SpVoice"); textToSpeech.Volume = book.Volume; textToSpeech.Rate = book.SpeekSpeed; textToSpeech.Voice = book.speeker; текстToSpeech.Speak (книга.Content);

SpVoice - это класс, который используется для преобразования текста в речь. Метод talk принимает строку, которая должна быть произнесена.

Пример кода: http://funducodes.blogspot.com/p/silver-light.html

+0

Amazing. Спасибо за исходный код! – ashes999