[Homeros] I: Будущее VoiceMan

Michael Pozhidaev msp на altlinux.ru
Пн Фев 27 13:31:33 MSK 2012


Приветствую всех!

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

Ниже речь пойдёт про две будущие версии Voiceman: 1.6 и 2.0. Главным
отличием 1.6 станет поддержка команд через интерфейс D-Bus. Поддержка
команд через традиционные сетевые интерфейсы сохраниться, поэтому
никаких проблем с совместимостью не будет. Архитектура, использованная в
voiceman-1.5 достаточно хорошо подходит для интеграции с D-Bus, код для
работы с D-Bus имеется, поэтому rc версии 1.6 можно ожидать в скором
будущем.

Версия 2.0 будет новым большим заходом для создания сервера нового
уровня. Ниже основные архитектурные изменения:

1. Появление сервиса PointVox, в задачи которого входит получение команд
через D-Bus на преобразование текста в звук с возвратом сигнала
вызвавшей стороне. Таким образом, сервис PointVox будет решать задачи
обслуживания и команд речи реального времени, и команд речи чтения
книг. Предполагается возможность вызова синтезаторов через командную
строку или через их so-библиотеки.

2. Voiceman-2.0 также получит возможность получения команд через
D-Bus, а обработка синтезаторов будет переложена на PointVox (сохранение
для простоты возможности старого вызова синтезаторов надо обдумать).

3. Поскольку функции нынешнего процесса executor частично берёт на себя
PointVox, то функции executor можно свести только к вызову плееров,
стало быть, с возможностью вызова через их API. Он теперь не совсем
executor, его переименуем в player. Процесс player по-прежнему останется
внешним бинарным файлом, это позволит иметь несколько его реализаций для
libalsa, pulseaudio и пр., а также сохраниться возможность выводить звук
через удалённую систему при помощи ssh.

4. VoiceMan получит понятие "очереди". Каждая очередь допускает
только одну команду воспроизведения в текущий момент. Фактически, сейчас
VoiceMan обслуживает только одну очередь. Будет некоторая очередь по
умолчанию для обслуживания интерактивной работы, но появится возможность
добавления новых очередей, скажем, для чтения книг через ту же копию
речевого сервера. Разумеется, каждая очередь будет работать со своим
отдельным запущенным плеером. 

5. Подразумевается, что при работе в D-Bus будут посылаться сигналы, об
окончании воспроизведения или достижении речевого индекса. Таким
образом, можно добиться синхронной посылки команд, опять же хорошо для
чтения книг.

6. Функции утилиты textlus оказались полностью поглощёнными новой
версией VoiceMan, поэтому её разработка аккуратно закрыта.

Если кто-нибудь найдёт технические причины не считать найденную
концепцию универсальной для всех современных требований к речевой
платформе, то этому человеку будет много респекта. Подход, вдобавок,
хорош тем, что при имеющимся коде voiceman и musitorius должен занять
разумное время на разработку. Новость на блоге и на моей домашней
странице появится в скором будущем. До того момента с пристрастием
изучил бы все недостатки, если их найдёт кто-нибудь из сообщества.

Всем спасибо!

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


Подробная информация о списке рассылки Homeros