[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) к джозу, но у меня ничего не получилось.
Чтобы можно было переключиться на нетекущий голос, нужно было лезть в
панель управления...
Привет, Михаил!
Вы писали 27 сентября 2006 г., 13:11:04:
Мне кажется, что всё же лучше создавать отдельные записи в jfw.ini, икак у меня
сложилось мнение, то не имеет значение, какое synthname и sinthlongname, главное
указать драйвер SynthXDriver=sapi5X.
А потом в меню Джоз Речь, Глобальные настройки, выбрать нужного диктора.
А насчет скрипта со списком дикторов, если уж так нужно, можно пойти по пути
Сергея Картавцева, и написать скрипт который бы вызывал диалог Джоз с выбором
диктора.
Да, GetActiveSynthInfo
Но, её в Джоз 4.51 еще нету, она появилась в более поздних версиях.
С помощью предыдущей фукции можно получить драйвер синтезатора, то есть sapi5x.
SetVoicePerson
На первый взгляд, Джоз не имеет такой функции.
Но, с помощью объектов OLE автоматизации (Automation), или COM, не пробовал,
но уверен, что можно, но это надо уже разбираться в интерфейсах и объектах, а
это попахивает программированием.
Впринципе, Джоз скорее всего, таким же путём получает этот список.
Но, стоит ли овчинка вычинки.
Ну и еще путем чтения реестраа, там, они все равно прописаны, но через интерфейсы,
на мой взгляд корректнее.
Так же путём чтения jfw.ini можно выбрать САПИ5 синтезаторы.
Об этом, писал Туманян, и как решить эту проблему, там чтото в последовательности
установки.
Вроде бы надо между Катериной и SpeachCube, установить другой SAPI5 синтез, например
сакрамент.