Вначале было слово. Затем слово научились записывать и воспроизводить, копировать и оцифровывать, и ,наконец, синтезировать. Технология воспроизведения речи «text-to-speech» («текст в речь», чтение синтезированным голосом) реализована на различных платформах. [i] Никто не собирается Кубу открывать и все же : [/i] Голосовых движков (синтезаторов речи) и программ для воспроизведения текста разработано множество: Подробнее см., например, здесь: http://www.sovserver.ru/dc/program/16174/2007/01/30/golosovie_dviszki/ Существует речевой движок и от Microsoft, который многие программисты использует в своих разработках. Голос у него может показаться глухим и невнятным, но все же почему бы Вам не применять его в разработках ?!... Direct Speech Synthesis - это один из компонентов, входящих в состав MS SAPI 4 [5]. Этот компонент предназначен для непосредственного синтеза речи по тексту и позволяет не только озвучивать текст, но и управлять параметрами синтеза речи. Данный продукт можно использовать в любом языке, который поддерживает OLE автоматизацию (в 1С). Если Вы используете MS Windows 2000,Vista, то компоненты SAPI входят в состав ОС и, скорее всего, уже установлены на ПК, поэтому делать ничего не надо. Для ОС MS Windows 9x и XP Вам придется загрузить пользовательский дистрибутив SAPI 4 [5]: Файлы поддержки русского языка (мужской и женский голоса), (2,9 Мб)., http://activex.microsoft.com/activex/controls/agent2/lhttsrur.exe Файлы поддержки английского языка (мужской и женский голоса), (2,6 Мб), http://activex.microsoft.com/activex/controls/agent2/lhttseng.exe Также для ОС Windows 9X необходима служба использования голосов, (850 Кб), http://activex.microsoft.com/activex/controls/sapi/spchapi.exe Документация по SDK содержится в файле sapi.chm, который можно найти в директории \Program Files\Microsoft Speech SDK \Docs\Help SAPI 4 [5] SDK (68 Мб). или здесь http://www.microsoft.com/speech/SDK/51/sapi.chm [i] Поищите эти файлы на дисках, чтобы напрасно не качать из Интернета. Часто голосовые движки помещают на диски для программистов. Компоненты SDK также Вам могут пригодятся для прослушивания текста книг, документов и пр. [/i] Для тестов можно использовать простенькие программы преобразования текста в аудио: Govorilka CP (47 Кб). RUSSpeaker2.1 (208Кб) http://www.vector-ski.ru/vecs/govorilka/govorilka_cp.htm http://russpeaker.narod.ru/setup.zip В модулях 1С используем процедуры синтеза речи:
Перем Голос,Звук,УстSAPI;
Процедура ИнитSAPI()
Попытка
Голос=СоздатьОбъект(\"ActiveVoice.ActiveVoice.1\"); //при необходимости
УстSAPI=Голос.CountEngines; //кол-во установленных голосовых движков
//Для Сч=1 По УстSAPI Цикл
//Сообщить(\"Имя синтезатора:\"+Голос.ProductName(Сч)+\" \"+Голос.Speaker(Сч));
//КонецЦикла;
Звук=СоздатьОбъект(\"Sapi.SpVoice\");
Исключение
УстSAPI=0;
Предупреждение(\"Не установлены компоненты SpeechAPI!\",3);
КонецПопытки;
КонецПроцедуры
Процедура Сказать(Фраза,Зн=0) // Так рождается звук.
Если УстSAPI>0 Тогда
Звук.Speak(Фраза,Зн);
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
ИнитSAPI();
Сообщить(\"Текущий голос:\"+Голос.Speaker(Голос.CurrentMode));
Текст=\"Hello, world !\";
// Пример 1. Воспроизведение текста голосом
Сказать(Текст);
//Голос.Speak(Текст);//можно и так!
// Пример 2. Воспроизведение текста голосом с использованием XML тэгов
Сказать(
//\"<spell>\"+
\"<rate speed=\"+Симв(34)+\"-15\" +Симв(34)+\">\"+//Скорость чтения
\"<volume level=\"+Симв(34)+\"95\"+Симв(34)+\">\"+//Громкость чтения
\"</voice>\"+
Текст,8);
// Пример 3. Воспроизведение музыки или аудиозаписи из WAV файла
Сказать(\"D:\Music\Hello.WAV\",12);
// Пример 4. Недокументированная возможность
// Проигрывает WAV файл из Интернета (если установлено соединение)
Сказать(\"http://www.news.ru/news.wav\",12);
// Пример 5. Читает содержимое текстового документа, используя программу Govorilka_CP
// ключ Е указывает номер используемого голосового движка<=УстSAPI-1
ЗапуститьПриложение(\"D:\Programs\Govorilka\Govorilka_cp.exe\"+
\" -I -H5 –E1 -F D:\ReadMe.txt \");
//ЗапуститьПриложение(\"D:\Programs\Govorilka\Govorilka_cp.exe\"+
//\" -I –E0 \"+\" Сегодня \"+Формат(ТекущаяДата(),\"DDMMMMYYYY\")+\"года\");
КонецПроцедуры
Метод Speak объекта SPVoice предоставляет довольно большие возможности путём внедрения в текст специальных тэгов XML (см. раздел под название “XML TTS Tutorial”): Воспроизведение текста находящегося в файле. Асинхронный режим проигрывания звука, который позволяет функции вернуть управление немедленно, во время воспроизведения. Тэги позволяют также настроить тональность звучания, скорость воспроизведения и многое другое. После установки компонентов SAPI 4 [5] Вы можете столкнуться с ситуацией, когда приведенный выше программный код не будет работать. Если при запуске появляется сообщение об ошибке, то это означает, что в системном реестре в соответствующем разделе не сопоставлены строковое имя компонента, называемое ProgId (в нашем случае это "ActiveVoice.ActiveVoice.1") и уникальный идентификатор компонента CLSID, по которому операционная система находит нужную информацию для загрузки компонента. В таком случае необходимо дополнить реестр информацией вручную. Для Windows XP нужно создать текстовый файл "activevoice.reg" следующего содержания: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\ActiveVoice.ActiveVoice.1] @="Direct Speech Synthesis" [HKEY_CLASSES_ROOT\ActiveVoice.ActiveVoice.1\Clsid] @="{EEE78591-FE22-11D0-8BEF-0060081841DE}" Затем в Проводнике Windows (WC, FAR) запустить этот файл на выполнение (нажать клавишу Enter) и согласиться с внесением изменений в реестр. На этом подготовка SAPI к работе завершена.