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

Screen reader JAWS for Windows Russian

[JFWRus] sapi5

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

Друзья, тут неоднократно задавались вопросы вроде того, как прикрутить
к jaws sapi5-синтезатор. В соответствии с моим личным опытом, самое
надёжное - это сделать в jfw.ini запись вроде:

synthXName=sapi5
SynthXLongName=синтезаторы sapi5
SynthXDriver=sapi5X

Тогда при включении этого синтезатора начинает говорить текущий голос
в панели управления|речь.

Мои наблюдения показали, что при активном sapi5 синтезаторе все
остальные присутствуют в виде списка персон в диалоге речевых настроек
главного меню jaws. В связи с этим у меня возникла идея попробовать
написать скрипт, который бы выводил список персон примерно также, как
выводится список синтезаторов по ins+ctrl+s. Ну и соответственно
позволял переключаться между отдельными голосами.

А теперь позвольте вопросы.

Существует ли функция, возвращающая имя текущего синтезатора?

(функция должна срабатывать лишь в том случае, если активен синтезатор
sapi5).

2. существует ли функция которая бы переключала jaws на указанный ей
голос, вроде SetSynth, но не для синтезаторов а для голосов.

3. Ну и наконец, можно ли как-то с помощью функций получить список
имеющихся голосов в sapi5 синтезаторе.

Я в своё время очень долго возился, пытаясь прикрутить speech cupe,
katerin'у, sakrament (Boris) к джозу, но у меня ничего не получилось.
Чтобы можно было переключиться на нетекущий голос, нужно было лезть в
панель управления...

Ответить   Михаил Духонин Wed, 27 Sep 2006 14:11:04 +0400 (#594832)

 

Ответы:

Привет, Михаил!

Вы писали 27 сентября 2006 г., 13:11:04:

Мне кажется, что всё же лучше создавать отдельные записи в jfw.ini, икак у меня
сложилось мнение, то не имеет значение, какое synthname и sinthlongname, главное
указать драйвер SynthXDriver=sapi5X.
А потом в меню Джоз Речь, Глобальные настройки, выбрать нужного диктора.

А насчет скрипта со списком дикторов, если уж так нужно, можно пойти по пути
Сергея Картавцева, и написать скрипт который бы вызывал диалог Джоз с выбором
диктора.

Да, GetActiveSynthInfo
Но, её в Джоз 4.51 еще нету, она появилась в более поздних версиях.

С помощью предыдущей фукции можно получить драйвер синтезатора, то есть sapi5x.

SetVoicePerson

На первый взгляд, Джоз не имеет такой функции.
Но, с помощью объектов OLE автоматизации (Automation), или COM, не пробовал,
но уверен, что можно, но это надо уже разбираться в интерфейсах и объектах, а
это попахивает программированием.
Впринципе, Джоз скорее всего, таким же путём получает этот список.
Но, стоит ли овчинка вычинки.

Ну и еще путем чтения реестраа, там, они все равно прописаны, но через интерфейсы,
на мой взгляд корректнее.
Так же путём чтения jfw.ini можно выбрать САПИ5 синтезаторы.

Об этом, писал Туманян, и как решить эту проблему, там чтото в последовательности
установки.
Вроде бы надо между Катериной и SpeachCube, установить другой SAPI5 синтез, например
сакрамент.

Ответить   Sun, 1 Oct 2006 08:29:35 +0300 (#596319)