Опубликованы наработки речевого сервера Speech Switch для Linux с повышенной переносимостью модулей синтезаторов речи

Дата:03.12.2020
Источник:orca-list
Twitter Facebook Vkontakte

Биллом Коксом, создателем известной по использованию во многих синтезаторах речи библиотеки sonic для управления скоростью воспроизведения звука, было заявлено о начале разработки речевого сервера для операционных систем Linux. Новый проект называется Speech Switch и планировался альтернативой являющемуся стандартом де-факто речевому серверу Speech Dispatcher. В качестве основного мотива создания Speech Switch было названо желание сделать системы Linux более дружественными к коммерческим синтезаторам речи, таким как Voxin.

В анонсе Speech Switch его разработчик следующим образом объяснил желание создать альтернативу устоявшемуся стандартному решению:

«Я хотел бы поблагодарить авторов Voxin и Orca за их усилия на протяжении многих лет. Я сильно полагаюсь на оба этих инструмента, чтобы оставаться продуктивным на работе.

В понедельник Voxin у меня снова сломался после того, как на мой корпоративный ноутбук было загружено обновление Linux. Это не вина авторов Voxin! Они делают эту работу как благотворительный проект, зная, что незрячие и слабовидящие люди во всём мире полагаются на их усилия. Проблема заключается в архитектуре Speech Dispatcher, которая враждебна коммерческим TTS-движкам. Я решу её с помощью Speech Switch.

В будущем любой пользователь Linux, незрячий или зрячий, сможет легко установить Voxin и, вероятно, несколько других коммерческих TTS-движков. Вы сможете купить лицензию синтезатора речи один раз и использовать один и тот же двоичный установщик в любом дистрибутиве Linux в течение долгих лет. Обновления установленной Linux-системы больше не будут ломать соединение с вашим любимым TTS-движком, пока ваш дистрибутив проверяет, что Orca работает с eSpeak как часть процесса их выпуска. Это моё обещание в отношении Speech Switch.»

Билл Кокс также сообщил о намеренье в ближайшее время написать начальную версию интерпретатора Speech Switch для SSIP, который является командным языком, используемым Speech Dispatcher. В результате было заявлено, что к 1 января 2021 года все желающие смогут заменить /usr/bin/speech-dispatcher символической ссылкой на /usr/bin/speechswitch, что позволит использовать Speech Switch с приложениями, которые в настоящее время полностью ориентированы на Speech Dispatcher. Кроме того, он пригласил всех желающих внести свой вклад в написание модулей для других синтезаторов, а также клиентской библиотеки на Python, чтобы в будущем обеспечить прямое подключение Orca к Speech Switch, так как подмена Speech Dispatcher через символическую ссылку предполагалась лишь временным решением.

Высказанная критика и инициатива, способствующая фрагментации существующей инфраструктуры синтеза речи на Linux, вызвала недовольство со стороны основного разработчика речевого сервера Speech Dispatcher Самуэля Тибо:

«"Это чистый FUD. Всё наоборот !! Модульный подход позволяет интегрировать их (коммерческие синтезаторы речи), вставляя двоичный файл в нужное место.

Проблемы, которые возникли с модулем voxin, были связаны с отсутствием общения и ошибками из-за отсутствия тестирования. Создание ещё одного проекта речевого сервера не поможет в этом отношении и только внесёт путаницу в стек специальных возможностей.

Это также разделит усилия по обслуживанию: Speech Dispatcher содержит таблицы символов, драйверы для различных синтезаторов речи и т. д. Будете ли вы тратить время на поддержку всего этого?

Не понимаю, зачем создавать ещё один проект. Почему бы просто не внести свой вклад в существующий?

Я на самом деле не понимаю и могу воспринимать это только как пощёчину, и это не может помочь мне найти мотивацию продолжать вносить свой вклад в стек специальных возможностей (brlapi, брайлевский драйвер Orca, ошибки в Xorg, ошибки в Wayland и т. д.).

В самом деле, не можем ли мы просто работать вместе, вместо того, чтобы снова и снова разветвляться, внося ещё больше путаницы? Добавьте код в Speech Dispatcher, и он будет работать. Вы реально это пробовали?»

В результате случайно возникшего конфликта Билл Кокс всё же согласился прежде всего рассмотреть возможность объединить общие усилия по оптимизации модулей поддержки синтезаторов речи в рамках Speech Dispatcher:

«Совместная работа - это справедливое замечание. Я бы предпочёл это. Самуэль, я очень ценю ваш вклад на протяжении многих лет! Если вы остановитесь, это будет ужасной потерей для Linux. Прошу прощения за то, что обидел вас.

Проблема с Speech Dispatcher. Я думаю, что это поправимо. В частности, модулям необходимо не только генерировать речевые семплы, но и передавать их в звуковую систему. Это значительно усложняет их и делает эти двоичные файлы специфичными не только для дистрибутива, но и для его версии. Все известные мне синтезаторы речи для Linux могут не только воспроизводить речевые семплы, но и возвращать их.»

Тем не менее, исходный код Speech Switch уже опубликован в репозитории на GitHub и содержит модули поддержки синтезаторов речи Voxin, eSpeak и PicoTTS. Они написаны на C с задействованием исключительно libc, поэтому в скомпилированном виде должны без проблем переноситься между дистрибутивами подобно приложениям на Windows, что открыто провозглашено разработчиком в качестве образца для подражания. В независимости от исхода противостояния идей Speech Switch и Speech Dispatcher опубликованный код может оказаться полезным для проектов, нуждающихся в прямой интеграции с синтезом речи на Linux с повышенной переносимостью между дистрибутивами. Он лицензирован на условиях Apache 2.0 (за исключением модуля поддержки IBM TTS, лицензированного под LGPL 2.1), поэтому может быть использован и для разработки проприетарных продуктов.


Метки


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2021