Речевой сервер VoiceMan
- Tarball: voiceman-1.5.2.tar.gz
- Git: https://github.com/luwrain/voiceman.git
- Версия: 1.5.2 (стабильная), опубликована 30 марта 2016 г.
- Лицензия: GNU Public License v. 3
VoiceMan --- речевой сервер, написанный на C++, для обработки речевого вывода в системах GNU/Linux. Создан для использования совместно с утилитами Emacspeak и Yasr. В настоящий момент является одним из ключевых компонентов в дистрибутиве Homeros. К созданию VoiceMan привела необходимость иметь речевой сервер, который был бы способен переключать синтезатор речи в зависимости от языка текста. Совместная работа с экранным чтецом Orca невозможна, потому что Orca имеет поддержку только речевого сервера speech-dispatcher (устранение этого недостатка не планируется, поскольку экранным чтецом Orca не пользуюсь).
В отличие от speech-dispatcher, VoiceMan не обслуживает вывод звука. Вызов синтезаторов и утилит воспроизведения выполняется путём выполнения внешних команд shell. Это делает VoiceMan очень гибким и универсальным.
В настоящий момент планов активного развития VoiceMan нет, потому что концепция речевых серверов в последнее время вызывает много сомнений в необходимости своего существования. Тем не менее, VoiceMan будет ещё очень долго поддерживаться в работоспособном состоянии с исправлением ошибок.
Перечень функции Voiceman:
- полная поддержка UNICODE;
- согласование вывода нескольких приложений для исключения наложения речи (все клиенты считаются равноправными);
- предварительный разбор и обработка полученного текста, включая разбиение данных на фрагменты по языку текста, обработку чисел в соответствии с выбранным режимом, выполнение подстановок, обработку сокращений и пр.;
- поддержка двух языков: русского и английского;
- обработка параметров речи: скорости, высоты голоса, громкости;
- автоматический выбор подходящего синтезатора для чтения текста определённого языка;
- выбор голоса по команде клиента для выделения различных элементов текста новым произношением (новый голос может быть новым синтезатором или уже используемым синтезатором с другими параметрами);
- возможность "горячей" перезагрузки конфигурации сервера без потери существующих соединений;
- набор клиентов для общения с сервером включает в себя простейший клиент для использования в скриптах shell, клиент для обработки протокола Emacspeak и API для программ на языках C/C++;
- поддержка двух типов сокетов TCP/IP и UNIX domain socket.