Использование Speech Dispatcher совместно с RHVoice и Festival

Дата публикации:08.08.2019
Twitter Facebook Vkontakte

Это небольшая инструкция по установке и настройке двух популярных синтезаторов речи RHVoice и Festival для совместной работы с речевым сервером Speech Dispatcher, используемом во многих дистрибутивах, в том числе Ubuntu и Linux Mint.

Использование RHVoice

Это пример установки синтезатора речи RHVoice в дистрибутиве Linux Mint (подходит и для Ubuntu). RHVoice — это многоязычный синтезатор речи с поддержкой русского, английского, украинского, эсперанто и других языков. Чтобы использовать совместно речевой сервер Speech Dispatcher и голоса RHVoice необходимо собрать синтезатор из исходников, установить его в системе и отредактировать конфигурационные файлы.

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

mkdir build
cd build

Теперь следует установить пакеты, необходимые для сборки синтезатора:

sudo apt update
sudo apt-get -q install git scons g++ libglibmm-2.4-dev libpulse-dev pkg-config

Затем нужно загрузить исходники из официального репозитария на github:

git clone https://github.com/Olga-Yakovleva/RHVoice.git

В процессе загрузки автоматически будет создан каталог RHVoice, где и будут размещены загруженный файлы. Необходимо перейти в этот каталог и запустить процесс сборки:

cd RHVoice
scons

Начнётся процесс сборки, который займёт некоторое время. После его успешного завершения следует выполнить установку собранного синтезатора:

sudo scons install
sudo ldconfig
sudo cp -a /usr/local/bin/sd_rhvoice /usr/lib/speech-dispatcher-modules

Чтобы сконфигурировать речевой сервер Speech Dispatcher для работы совместно с RHVoice, необходимо создать (если отсутствует) и отредактировать конфигурационный файл соответствующего модуля, для этого можно использовать текстовый редактор nano или gedit:

sudo nano /etc/speech-dispatcher/modules/rhvoice.conf

В итоге, содержимое этого файла должно быть следующим:

RHVoiceDataPath "/usr/local/share/RHVoice"
RHVoiceConfigPath "/usr/local/etc/RHVoice/"
RHVoicePunctuationMode 
#RHVoicePunctuationList "@+_"
RHVoiceDefaultVoice "Aleksandr"
RHVoiceDefaultVariant "Pseudo-English"
Debug 

Чтобы завершить работу в редакторе namo, следует нажать комбинацию Ctrl + X и подтвердить сохранение изменённого файла, нажав букву Y, а затем — дважды клавишу Enter.

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

sudo nano /etc/speech-dispatcher/speechd.conf

В этом файле необходимо найти блок команд добавления модулей синтезаторов. Команды начинаются с ключевого слова AddModule (команда может быть закомментирована, то есть иметь в начале строки символ решётки (#)). Перед первой командой AddModule следует добавить строку:

AddModule "rhvoice" "sd_rhvoice" "rhvoice.conf"

Остаётся лишь перезапустить сервер Speech Dispatcher, чтобы сделанные изменения вступили в силу:

sudo systemctl restart speech-dispatcherd.service 

Использование festival

Чтобы использовать речевой сервер Speech Dispatcher совместно с синтезаторами Festival, необходимо установить некоторые пакеты и внести изменения в конфигурационные файлы речевого сервера.

Установка пакетов выглядит следующим образом:

sudo apt update
sudo apt-get install festival speech-dispatcher speech-dispatcher-festival python-speechd

Чтобы сконфигурировать речевой сервер, можно отредактировать файл speechd.conf в каталоге /etc/speech-dispatcher/, то есть открыть файл в текстовом редакторе:

sudo gedit /etc/speech-dispatcher/speechd.conf

И раскомментировать (или добавить, если отсутствует) строку:

AddModule "festival"     "sd_festival"  "festival.conf"

Вышеозначенная строка не является обязательной в современных версиях Speech Dispatcher, поскольку речевой сервер при старте автоматически пытается подключить все синтезаторы, для которых установлены модули.

Если необходимо, чтобы Festival был синтезатором по умолчанию, то следует добавить строку:

DefaultModule festival

Помимо этого, можно отредактировать файл festival.conf в каталоге /etc/speech-dispatcher/modules/ и изменить или раскомментировать следующие строки(если параметры по умолчанию устраивают, то ничего менять в этом файле не следует):

# Address where the Festival server runs (you have to 

# have a Festival server running, please see documentation).


FestivalServerHost  "localhost" 

FestivalServerPort   1314

Теперь необходимо запустить сервер Festival, для чего следует в окне терминала набрать:

festival --server

Для тестирования можно использовать команду:

spd-conf --test-festival
spd-conf -d

Необходимо перезапустить речевой сервер Speech Dispatcher, чтобы сделанные изменения вступили в силу:

sudo systemctl restart speech-dispatcherd.service 


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