[Homeros] Q: Windows 8.x

Nikita nikita-mailings на rambler.ru
Пн Мар 30 20:18:54 MSK 2015


Здравствуйте, Michael Pozhidaev.

> Никита, Вы можете дать какой-нибудь начальный материал, чтобы
> посмотреть, что это за механизм?

Хороший вопрос. Я сейчас тоже над ним задумался, после того, как ляпнул. :-)
Наверное надо взять исходники NVDA:
http://community.nvda-project.org/wiki/AccessingAndRunningSourceCode
Там есть так называемые драйверы вывода, ну на их басурманском языке типа 
output drivers. Один для речи, и один для Брайля.
Нас должен интересовать SynthDriver. Он вырастает из базового класса 
synthDriverHandler.SynthDriver
Посмотрев на него, можно понять, как NVDA общается с речевыми драйверами и 
что от них ожидает.
Сами синтезаторы сейчас, как правило, пакуются в специальном формате в 
единый файл дополнения, который представляет собой просто zip-архив с 
драйвером и библиотеками синтезатора внутри. Описание формата запаковки 
можно посмотреть здесь:
http://www.nvaccess.org/files/nvda/documentation/developerGuide.html#toc26
То есть дистрибьюция синтезаторов идёт именно в форме таких .nvda-addon 
файлов.
В качестве примера синтезатора можно взять RHVoice:
http://dl.bintray.com/olga-yakovleva/RHVoice/RHVoice-0.5.nvda-addon
Это основной драйвер RHVoice. Голоса у Ольги лежат отдельно и 
доустанавливаются дополнительными пакетами:
https://github.com/Olga-Yakovleva/RHVoice/wiki/Downloads
Как это всё вставлять в Luwrain, честно говоря, сам не знаю.
Можно, конечно, взять Python-машину, аккуратно выдернуть из NVDA 
synthDriverHandler.SynthDriver, подпереть его костылями, чтобы работал 
самодостаточно, запустить на машине только его, сделать свой менеджер 
пакетов дополнений и всё это прикрутить к сборке Luwrain под Windows, хотя, 
в принципе, раз уж всё равно тянем Python-машину, то можно и не только 
Windows. Однако этот рецепт как-то страшно звучит, но транслировать 
Python-драйвер в Java-код, по-моему, ещё страшнее.
Впрочем, я здесь точно не главный специалист по коду NVDA, так что возможно 
кто-то из присутствующих подскажет что-то более адекватное.
Успехов. Никита.
P.S. Волкову я ночью написал, хотя по его времени это было уже ранее утро. 
:-) 



Подробная информация о списке рассылки Homeros