Homeros/BinaryVoiceman

Материал из ALT Linux Wiki


VoiceMan — это речевой сервер для систем GNU/Linux, разработанный с целью централизованного вывода речи от приложений экранного доступа, используемых людьми с ограничениями по зрению (более подробную информацию см. на домашней странице продукта). На его основе подготовлен пакет с синтезаторами mbrola и ru_tts, предназначенный для установки в систему без применения пакетных менеджеров, таких как apt-get или aptitude. Пакет предназначен для обработки речевого вывода от программ-чтецов emacspeak и orca. Приложения emacspeak и orca в состав пакета не входят и должны устанавливаться отдельно при помощи стандартных средств дистрибутива или путём применения пакетов сторонних разработчиков.

ВНИМАНИЕ! В состав пакета входит синтезатор mbrola, который предназначен для использования только в некоммерческих целях. Ознакомтесь с файлом LICENSE.mbrola.txt для получения более подробных комментариев.

К текущему моменту проверена работа пакета на дистрибутиве Ubuntu 10.4. Возможность его запуска на прочих системах необходимо проверять отдельно. Просьба к пользователям вносить обновления на эту страницу во всех случаях удачного и неудачного запуска приложения в различных средах. Это может значительно сократить время экспериментов и последующих попыток. В системах ALT Linux доступен rpm-пакет в репозиториях, поэтому загружать архив, описываемый на этой странице, нет необходимости. По всем вопросам просьба обращаться в список рассылки Homeros.

Требования к системе

Бинарный пакет VoiceMan подготовлен с учётом снижения чувствительности приложения к среде пользователя. В настоящий момент используются команды и библиотеки, входящие практически в любой дистрибутив GNU/Linux.

Ниже приводим перечень существующих зависимостей:

  • команда aplay — используется для вывода аудио-потока и является частью подсистемы звука ALSA (Advanced Linux Sound Architecture);
  • команда iconv — используется для преобразования кодировки текста;
  • библиотека libstdc++ — это стандартная библиотека функций для приложений на языке C++;
  • библиотека libao, отвечающая за воспроизведение "звуковых иконок" постоянной частоты;
  • библиотека libgdbm, используемая для ускорения поиска в словарях.

Проверить наличие команд aplay и iconv можно при помощи командной строки. Попытка вызова этих команд не должна приводить к появлению сообщений об ошибке. Информацию о доступности библиотек лучше получать в менеджере пакетов соответствующего дистрибутива.

Загрузка пакета

В настоящий момент доступна версия пакета для дистрибутива Ubuntu 10.4. Воспользуйтесь ссылкой ниже для загрузки.

Установка

В командах, приведённых ниже, необходимо заменить строку voiceman.tar.gz на имя файла, загруженного Вами. Для установки требуется выполнить следующие команды:

# tar zxf voiceman.tar.gz
# cp -r voiceman /opt/voiceman

Обратите внимание, что последняя команда должна выполняться обязательно с правами пользователя root.

После установки проверить работоспособность пакета можно при помощи команды /opt/voiceman/bin/test. При вызове эта команда должна приводить к воспроизведению фрагмента речи.

Настройка автоматического запуска

Запуск сервера в фоновом режиме может быть осуществлён путём вызова команды /opt/voiceman/bin/daemon. Тем не менее, запущенный сервер будет продолжать работать только до первой перезагрузки компьютера. Если необходимо автоматически запускать речевой вывод при каждом старте операционной системы, то команду /opt/voiceman/bin/daemon нужно поместить в файл /etc/rc.local или /etc/rc.d/rc.local. Для получения более подробной информации о назначении этих файлов обращайтесь к документации Вашего дистрибутива.

Настройка работы экранного чтеца orca

Для организации взаимодействия экранного чтеца orca с запущенным сервером VoiceMan необходимо произвести начальную настройку orca с любым синтезатором в Вашей системе, затем поместить файл /opt/voiceman/etc/orca-customizations.py в директорию ~/.orca. Напомним, что по соглашениям UNIX символ "~" обозначает Вашу домашнюю директорию. После этого экранный чтец orca должен быть перезапущен.