Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Visual Basic - Трюки и Хитрости, советы и ответы на вопросы


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

VB Хитрости - советы и ответы на вопросы
03 апреля 2001
Выпуск подготовил Никита Зимин.
 
Text-to-Speech

Одна из интересных возможностей Windows 2000 - это голосовой синтезатор, так называемай Text-to-Speech (TTS). Конечно же, читается только английский текст. Зачем? Да мало ли зачем... Например, для помощи людям с плохим зрением. Сам я использую его для обучения английскому - весьма помогает выработке правильного произношения.

Эта статья содержит (ну очень) краткое введение по использованию Microsoft Voice Text Object.

Прежде всего, подключите в ваш проект компонент VoiceText Type Library: выберите Project|References и поставьте галочку напротив этой библиотеки. Если ее нет в списке, выберите Browse и укажите на
%windir%\speech\vtxtauto.dll.

Объект VTxtAuto является глобальным и никаких дополнительных объектов создавать не обязательно. Работа начинается с регистрации приложения:
VTxtAuto.Register "", "My Application"

После регистрации сразу же можно читать текст:
VTxtAuto.Speak "Hello baby", vtxtsp_NORMAL

Чтение происходит асинхронно: программа не ожидает пока закончится произнесение фразы, а продолжает работать сразу после передачи ее в TTS. Остановить эту болтовню можно методом StopSpeaking.

Процесс Text-to-Speech проходит в несколько этапов:

  • анализ текста (учет сокращений, пунктуации, преобразование чисел в слова)
  • определение произношения
  • генерация списка фонем
  • синтез звука
Информация об интонации фразы (обычная, вопросительная) берется не из нее самой, а определяется последним параметром процедуры Speak.

И последнее. Как бы ни был хорош синтезатор, при разборе того что он там говорит, да еще с другого языка, недолго и головную боль заработать. Берегите свое здоровье...

См. также в MSDN:

  • "A High-Level Look at Text-to-Speech via the Microsoft Voice Text Object" by Robert Coleridge.
  • "Talk to Your Computer and Have It Answer Back with the Microsoft Speech API" by Mike Rozak

Для тех, у кого есть любые вопросы, имеюшие отношение к тематике Visual Basic, хочу порекомендовать место, где на них можно получить ответ. Причем в течении совершенно разумного и небольшего промежутка времени - от нескольких часов до нескольких дней. Место это - конференция RU.Visual.Basic, расположенная на сайте Visual Basic на русском. Для сомневающихся в эффективности такого метода получения ответов, информирую, что за декабрь месяц среднее ежедневное количество сообщений составлило 65 - общее за месяц - 2031.
Хочу поставить в известность всех подписчиков этого листа - лист создается в html, а потом автоматом на Ситикоте из него создается текстовый вариант. Так что, если вы, по ошибке, подписались на текстовую версию - рекомендую изменить этот параметр, так как за качество конвертации я не отвечаю, а создавать отдельную версию у меня не хватает времени. Сорри.
 

Борис Рудой,
Visual Basic на русском

 



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное