Как установить RHVoice на Ubuntu Bionic

Posted by

Заметка (RHVoiceголосовой движок) по мотивам ранее написанной и практически используемой на Ubuntu Trusty, но сейчас оптимизированная для Ubuntu 18.04 Server amd64

Ведь работать данная заметка будет в паре с сервисом личной настройки своего «Умного Дома» на базе MajorDoMo. А как поставить MajorDoMo на Ubuntu 18.04 Server смотрите здесь (), я ведь использую только самолично настроенное, а не готовые сборки не пойми кого, чтобы не задавать на профильных ресурсах вопросы, у меня это не работает, почему?

ekzorchik@srv-bionic:~$ hg clone --insecure https://172.35.35.8/hg/dproject

ekzorchik@srv-bionic:~$ sudo ./dproject/default

ekzorchik@srv-bionic:~$ sudo apt-get install scons gcc git flite flite1-dev expat libunistring-dev libsox-dev libpulse-dev libao-dev build-essential libc6-dev g++-multilib -y

ekzorchik@srv-bionic:~$ sudo git clone https://github.com/Olga-Yakovleva/RHVoice /usr/src/rhvoice

Cloning into '/usr/src/rhvoice'...

remote: Enumerating objects: 9154, done.

remote: Total 9154 (delta 0), reused 0 (delta 0), pack-reused 9154

Receiving objects: 100% (9154/9154), 316.04 MiB | 2.69 MiB/s, done.

Resolving deltas: 100% (5302/5302), done.

Checking out files: 100% (1345/1345), done.

ekzorchik@srv-bionic:~$ cd /usr/src/rhvoice/

ekzorchik@srv-bionic:/usr/src/rhvoice$ sudo scons

ekzorchik@srv-bionic:/usr/src/rhvoice$ sudo scons X11=no

ekzorchik@srv-bionic:/usr/src/rhvoice$ sudo scons install

ekzorchik@srv-bionic:/usr/src/rhvoice$ sudo ldconfig

ekzorchik@srv-bionic:/usr/src/rhvoice$ cd ~

Итого:

  • Звуковые профили голоса: /usr/local/share/RHVoice/voices/
  • Конфигурационный файл: /usr/local/etc/RHVoice/RHVoice.conf
  • Файлы голосового движка: /usr/local/share/RHVoice/
  • Звуковые профили на иностранных языках: ekzorchik@srv-bionic:~$ ls /usr/local/share/RHVoice/languages/

English Esperanto Georgian Kyrgyz Russian Tatar Ukrainian

  • Звуковые профили кто произносит: ekzorchik@srv-bionic:~$ ls /usr/local/share/RHVoice/voices/

alan anatol azamat clb irina natia slt talgat

aleksandr anna bdl elena natalia nazgul spomenka

ekzorchik@srv-bionic:~$ sudo nano /usr/local/etc/RHVoice/RHVoice.conf

; Список голосовых профилей. Первым в профиле указывается основной

; голос (он будет читать числа и другой текст, для которого не удаётся

; автоматически определить язык). Далее следуют дополнительные

; голоса. Если в профиле заданы два голоса, чьи языки имеют общие

; буквы, то второй будет использоваться только в том случае, когда

; программа экранного доступа специально запросит использование

; данного языка.

voice_profiles=Aleksandr+Alan,Elena+CLB

Чтобы проверить работу офлайного голосового движка RHVoice я сперва разверну Ubuntu 18.04 Server внутри Virtualbox на основной системе Ubuntu 18.04 Desktop ноутбука Lenovo E555, т. к. у меня уже был успешный опыт работы аудио под Virtualbox, подробнее смотреть заметку:

ekzorchik@srv-bionic:~$ sudo apt-get install alsa alsa-tools lame -y

ekzorchik@srv-bionic:~$ sudo adduser ekzorchik audio

Adding user ekzorchik' to group audio' ...

Adding user ekzorchik to group audio

Done.

ekzorchik@srv-bionic:~$ aplay -l

aplay: device_list:270: no soundcards found...

ekzorchik@srv-bionic:~$ sudo aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: Intel [HDA Intel], device 0: STAC9221 A1 Analog [STAC9221 A1 Analog]

Subdevices: 1/1

Subdevice #0: subdevice #0

card 0: Intel [HDA Intel], device 1: STAC9221 A1 Digital [STAC9221 A1 Digital]

Subdevices: 1/1

Subdevice #0: subdevice #0

ekzorchik@srv-bionic:~$ lspci -v | grep Audio

00:05.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 01)

Subsystem: SigmaTel 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller

ekzorchik@srv-bionic:~$ sudo nano /etc/modules

snd_intel8x0

ekzorchik@srv-bionic:~$ sudo modprobe -r snd_intel8x0

ekzorchik@srv-bionic:~$ sudo modprobe snd_intel8x0

ekzorchik@srv-bionic:~$ sudo lsmod | grep snd_intel8x0

snd_intel8x0 40960 0

snd_ac97_codec 131072 1 snd_intel8x0

snd_pcm 98304 5 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_ac97_codec,snd_intel8x0

snd 81920 9 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_hda_codec_idt,snd_ac97_codec,snd_timer,snd_intel8x0,snd_hda_codec_generic,snd_pcm

ekzorchik@srv-bionic:~$ sudo reboot

ekzorchik@srv-bionic:~$ alsamixer

Теперь настал момент проверки работы аудиовоспроизведения под Virtualbox в текущей гостевой системе — Ubuntu 18.04 Server

ekzorchik@srv-bionic:~$ sudo apt-get install moc -y

Копирую с основной систему в гостевую аудио файл для проверки воспроизведения:

ekzorchik@navy:~$ scp /media/ekzorchik/own/02\ Midnight\ Rider.mp3 ekzorchik@172.33.33.25:/home/ekzorchik

ekzorchik@172.33.33.25's password:

02 Midnight Rider.mp3 100% 7442KB 26.0MB/s 00:00

Запускаю на гостевой системе проигрыватель и указываю на звуковой файл:

ekzorchik@srv-bionic:~$ mocp 02\ Midnight\ Rider.mp3
Running the server...
Trying JACK...
Trying ALSA...

ekzorchik@srv-bionic:~$ killall mocp

И аудио файл проигрывается из Ubuntu 18.04 Server amd64 основной системы Ubuntu 18.04 Desktop amd64 ноутбука Lenovo E555.

Так, а теперь проверяю, как будет работать офлайновый голосовой движок RHVoice установленный выше по заметке в текущую систему Ubuntu 18.04 Server amd64:

ekzorchik@srv-bionic:~$ echo "Алиса, включи освещение в доме?" | RHVoice-test -t 1 -p Elena

default Engine is default

Воспроизведения не последовало.

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

Оформил данную заметку как скрипт, загрузил его к себе в Mercurial репозитарий, затем установил из него на основную систему Ubuntu 18.04 Desktop ноутбука Lenovo E555 и пробую как работает RHVoice:

ekzorchik@navy:~$ echo day | RHVoice-test

default Engine is default

слово «day» воспроизвело.

А теперь с использование голосового профиля диктора:

ekzorchik@navy:~$ echo "Алиса, включи освещение в доме?" | RHVoice-test -t 1 -p Elena

default Engine is default

Вполне себе ничего, стоит поиграться с настройками не будет такого отличительного металлического произношения.

Итого получается работоспособная заметка по установке RHVoice на Ubuntu 18.04 Server/Destkop

На этом у меня все с уважением автор блога Олло Александр aka ekzorchik.