Книга «Путь к nanoCAD»
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > Говорилка для Автолиспа

Говорилка для Автолиспа

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 23.11.2010, 20:26 #1
Говорилка для Автолиспа
Supermax
 
Руководитель фирмы
 
Москва
Регистрация: 28.03.2007
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™

Supermax вне форума Вставить имя

Заходим на сайт http://www.vector-ski.ru/vecs/govorilka/ и скачиваем бесплатную программу Говорилка. Не для ком. строки, а всю Govorilka222.zip в ней есть и Govorilka_cp. Также надо скачать речевой движок lhttsrur.zip

А вот и функция:
Код:
[Выделить все]
(defun dwgru-vocal-report (listattr / svr)
  (setq svr (vlax-get-or-create-object "WScript.Shell"))
  (setq svr1 (vlax-invoke-method svr "Exec" (strcat "C:\\Program Files\\Говорилка\\CP\\Govorilka_cp.exe " listattr)))
  (vl-catch-all-apply '(lambda () (vlax-release-object svr)))
 ); конец defun 

;| Примеры:
(DWGRU-VOCAL-REPORT "-P40 -E \"Adult Female #1, American English (TruVoice)\" \"Привет мужики! Ну и как вам эта говорилка?\"")
(DWGRU-VOCAL-REPORT "\"Блоков 3456\"")
(DWGRU-VOCAL-REPORT "\"Привет мужики! Ну и как вам эта говорилка?\"")
|;
Теперь все макросы могут говорить. Проверено. Возникнут трудности - спрашивайте.
Просмотров: 10428
 
Непрочитано 23.11.2010, 21:26
#2
Елпанов Евгений

BIM
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,437
Отправить сообщение для Елпанов Евгений с помощью MSN Отправить сообщение для Елпанов Евгений с помощью Skype™


можно чуток проще..
Код:
[Выделить все]
(DEFUN c:SAPI ()
 (setq sapi (vlax-create-object "Sapi.SpVoice"))
 (vlax-invoke sapi "Speak" "Would you like to play Global Thermo Nuclear War ?" 0)
 (vlax-release-object sapi)
)
написал Patrick_35 еще в начале 2007 года...
__________________
Скоро умные проги некому писать будет, все будут ответ в интернете искать...
Елпанов Евгений вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 23.11.2010, 22:21
#3
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


А где взять "Sapi.SpVoice" и заговорит ли он по русски?
Supermax вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 23.11.2010, 23:43
#4
Елпанов Евгений

BIM
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,437
Отправить сообщение для Елпанов Евгений с помощью MSN Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
А где взять "Sapi.SpVoice" и заговорит ли он по русски?
Они есть в стандартной поставке всех версий окошек, начиная с ХР.
Голосового движка на русском, в ХР вроде нет, но можно скачать рекомендуемые в говорилке. Вообще то, говорилка использует тот же API и запускает "Sapi.SpVoice"
__________________
Скоро умные проги некому писать будет, все будут ответ в интернете искать...
Елпанов Евгений вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 24.11.2010, 10:12
#5
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Не понятно как прикрутить русскоязычный движок.
Sapi.SpVoice гворить хочет только по английски. А вот говорилка говорит по русски и женским голосом.
Supermax вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.11.2010, 10:33
#6
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Попробовал запустить #2, выдает это
Цитата:
; ошибка: no function definition: VLAX-CREATE-OBJECT
Autocad 2008 локализованный, XP sp3, 32 разряда.
Извиняюсь за встревание.

Еще раз извините, добавил это (vl-load-com), заработало.
Vildar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.11.2010, 20:25
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,425
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Не понятно как прикрутить русскоязычный движок.
Sapi.SpVoice гворить хочет только по английски.
Можно и по русски. Был бы язык доступен
1. Нужен SAPI 5.1 (пoиск в гугле по слову SAPI51.msi ) Скачать и установить.
2. Нужен голос (русский). Обзор существующих можно почитать здесь
В пoиск вбиваем Acapela-Elan-TTS-SpeechCube-5.1-RUS-Nicolai_MmE255_.msi Качаем и устанавливаем.
3. Теперь лисп.
Загружаем 2 функции и команду
Код:
[Выделить все]
(defun @Voice&TextInput(voice text / SpeekContent)
(setq SpeekContent (strcat "<VOICE REQUIRED='NAME=" voice "'>" text "</VOICE>"))
)
(defun @VoiceList(Sapi / i VoiceLst Voices)
(setq Voices (vlax-invoke Sapi 'GetVoices))
(setq i 0 VoiceLst '())
(repeat (vla-get-count Voices)
(setq VoiceLst (append VoiceLst 
(list (vlax-invoke (vla-item Voices i) 'GetDescription))))
(setq i (1+ i))
)
VoiceLst
)
(defun C:GETVOICE ()
(vl-load-com)
(setq Sapi (vlax-create-object "Sapi.SpVoice"))
(setq voices (@VoiceList Sapi))
(vlax-release-object Sapi)
(princ voices)(princ)
  )
Вызываем команду и смотрим список существующих голосов
Цитата:
Команда: getvoice
(LH Michael ELAN TTS Russian (Nicolai 16Khz) LH Michelle Microsoft Sam)
Если видим выделенное красным, то двигаемся дальше
Собственно двигаться и не нужно. Пример использования
Код:
[Выделить все]
(vl-load-com)
(setq Sapi (vlax-create-object "Sapi.SpVoice"))
(vlax-invoke Sapi "Speak" (@Voice&TextInput "ELAN TTS Russian (Nicolai 16Khz)"
"Всем привет. Если вы слышите этот текст, значит все прошло успешно") 0)
  (vlax-release-object Sapi)
Добавил файлик не помню откуда скачанный. Функции взяты из него.
Вложения
Тип файла: lsp SpeakCfg.lsp (6.1 Кб, 282 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.11.2010, 20:30
#8
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,520
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Все это конечно прекрасно, но пока этот гад не скажет, лисп работать не будет... Так что слово давать ему не стоит!
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.11.2010, 20:38
#9
Profan

Чужой
 
Регистрация: 25.12.2005
Москва
Сообщений: 13,467


Ни к чему все это.
Profan вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.11.2010, 10:26
#10
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


(gomer), Мой вариант, с говорилкой тем и хорош, что запустив голос можно сразу продолжать работу в макросе. Можно остановить говорилку, если прошел переход на следующий уровень работы макроса.
А вот через СОМ, запущенный из собственного процесса, пока бла-бла-бла не закончится - макрос работать дальше не будет.
Supermax вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 28.01.2011, 19:25
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,520
Отправить сообщение для gomer с помощью ICQ Отправить сообщение для gomer с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
Мой вариант, с говорилкой тем и хорош, что запустив голос можно сразу продолжать работу в макросе.
И как это будет звучать??? Уктукстууу...
gomer вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Библиотека функций > Говорилка для Автолиспа

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать чертеж Решето с помощью Автолиспа BBLainer LISP 6 23.04.2010 15:23
Нужен список команд АвтоЛиспа BARS_1985 LISP 6 23.10.2007 07:02
Тема вопросы по Autolisp favorite LISP 5 13.04.2006 09:55

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы