Текст в речь в Silverlight 4 - PullRequest
       13

Текст в речь в Silverlight 4

1 голос
/ 08 октября 2011

Я создаю приложение, которое преобразует текст в речь, используя silverlight 4.0. Два варианта, которые я нашел, могут быть использованы:

  1. Используйте TTS на стороне клиента, что требует запуска приложения OOB. Кроме того, поскольку он использует собственные компоненты Windows, его нельзя использовать на других платформах (MAC).
  2. Использовать преобразование TTS в конце WCF. Это снова требует размещения службы WCF в IIS с учетной записью локальной системы для пула приложений.

Есть ли другие варианты, в которых нам не нужно предоставлять повышенные разрешения?

Ответы [ 2 ]

1 голос
/ 10 октября 2011

В переводчике Bing есть TTS для нескольких языков.Может быть, можно просто использовать часть TTS без перевода.В этом блоге объясняется, как позвонить в службу и выполнить TTS из Silverlight: http://timheuer.com/blog/archive/2010/03/22/silverlight-translator-text-to-speech-api.aspx

0 голосов
/ 31 октября 2011

Еще одним хорошим решением является использование Google TTS - http://translate.google.com/translate_tts

Код будет выглядеть так:

string url = string.Format("http://translate.google.com/translate_tts?tl=en&q={0}", textToSay);
WebClient client = new WebClient();
return client.DownloadData(url);

Если используется silverlight, данные, которые выбираются из вышеуказанного кода (в байтовом массиве), могут быть установлены в качестве источника медиа-элемента с преобразованием в память, как показано ниже:

_audioPlayer.SetSource(new MemoryStream(textToSpeech));

Где textToSpeech - это байтовый массив, полученный из Google tts.

...