Установка голосового движка RHVoice на ARMBian (16.04) … и решение проблем сборки
Всем привет сегодня ведём рассказ о сборке и настройке голосового движка RHVoice на микрокомпьютере OrangePI PC с операционкой ARMBian (16.04).
Этот движок имеет кучу плюсов начиная от того, что он бесплатный, довольно шустрый, кросс-платформенный (Linux / Windows)
Используется почти всеми разработчиками умных домов (хотя некоторые все еще любят festival)
Ну и конечно с приятным голосом.
Начинаем установку (все команды без sudo т.к. делалось все под root`ом если вам это принципиально, то в начале всех команд поставить sudo)
Подготовим пакеты для сборки
apt-get install git scons libglibmm-2.4-dev libpulse-dev pkg-config build-essential
Забираем исходники движка
git clone https://github.com/Olga-Yakovleva/RHVoice.git
Начинаем шаманство с бубном
cd RHVoice scons scons install ldconfig
Если всё хорошо…
пробный запуск
Женский голос
echo "Голосовая модель загружена женский голос" | RHVoice-client -s Anna+slt | aplay
Мужской голос
echo "Голосовая модель загружена мужской голос" | RHVoice-client -s Aleksandr+Alan | aplay
Возможные ошибки (подобные я видел в постах в интернете, решил, что стоит тут о них упомянуть)
root@mypipc:/# RHVoice-client RHVoice-client: command not found
Из установленных бинарников только
ls /usr/local/bin/RH* /usr/local/bin/RHVoice-make-hts-labels /usr/local/bin/RHVoice-test /usr/local/bin/RHVoice-transcribe-sentences
Спросите Вы, а где же RHVoice-client?
И будете правы он не собрался…
Если разбираться в конструкции сборки, то основная проблема в glibmm-2.4 т.к. он участвует в образовании схемы сборки который добавляет в сборку компонент «service», а он то и отключен.
Открываем RHVoice/SConstruct находим строку 216
# has_giomm=conf.CheckPKG("giomm-2.4")
Убираем коммент и делаем пересборку
Для начала удалим, что поставилось прежде
scons --clean install
Затем повторяем шаг
scons scons install ldconfig
Проверим всё ли получилось
ls /usr/local/bin/RH* /usr/local/bin/RHVoice-client /usr/local/bin/RHVoice-make-hts-labels /usr/local/bin/RHVoice-service /usr/local/bin/RHVoice-test /usr/local/bin/RHVoice-transcribe-sentences
Теперь вы можете проверить тест голосовых моделей представленных выше.
echo "Голосовая модель загружена мужской голос" | RHVoice-client -s Aleksandr+Alan | aplay
Можно сразу отправить в файл
echo "Голосовая модель загружена мужской голос" | RHVoice-client -s Aleksandr+Alan > /tmp/test.wav
Можно сразу сделать его более компьютерным с приятным эхом и уменьшением пауз между словами, для этого нам поможет (sox)
apt-get install sox echo "Голосовая модель загружена женский голос" | RHVoice-client -s Anna+slt > /tmp/test.wav; sox /tmp/test.wav /tmp/out.wav silence 1 0.1 1% -1 0.1 1% chorus 0.7 0.9 22.0 0.4 0.25 2.0 -s; aplay /tmp/out.wav
Можно еще поиграться с файлом конфигурации RHVoice, в котором можно настроить скорость воспроизведения интонации и т.д.
Проблема с запуском удаленной команды через SSH
Dbus error: 'Cannot autolaunch D-Bus without X11 $DISPLAY'
Решение!
export DISPLAY=:0; eval dbus-launch; export $(dbus-launch)
Если это передавать в начале запуска движка, то всё будет нормально!
Надеюсь эта статья была полезна.