Przejdź do treści

Milena polski syntezator mowy dla systemu Linux

Menu

Prościej się nie da czyli instrukcja instalacji dla użytkowników Ubuntu

UWAGA!

Z uwagi na zmiany zarówno w samym Wine, jak i w Ivonie poniższy artykuł ma wartość wyłącznie historyczną.

Niestety...

Przede wszystkim należy dodać właściwe repozytoria:

sudo add-apt-repository ppa:ethanak/milena
sudo apt-get update

Teraz należy zainstalować wszystko, co jest konieczne do działania głosów Ivony. Ponieważ instalacja dla obcojęzycznych głosów SAPI została omówiona w innym miejscu, tutaj przedstawię tylko sposób instalacji polskich głosów Ivona/SAPI5 oraz programów z tych głosów korzystających.

Przede wszystkim należy zainstalować serwer głosów oraz podstawową bibliotekę przeznaczoną do komunikacji z serwerem:

sudo apt-get install sapi4linux libivolektor1

Instalacja potrwa dłuższą chwilę, ponieważ wiele komponentów sapi4linux ściągane jest z Internetu (m.in. windowsowa wersja Pythona).

Po udanej instalacji możemy stworzyć pierwszą działającą instancję serwera głosów. Należy pamiętać, że serwer uruchamiamy jako normalny użytkownik (nigdy jako root), zakładam tutaj również, że użytkownik będzie "opiekunem" serwera (czyli w przypadku kilku uzytkowników korzystających z serwera zawsze będzie on uruchamiany z prawami opiekuna).

Polecenie tworzenia instancji jest bardzo proste:

install_sapi_server

Polecenie to utworzy w katalogu domowym katalog .winesapi (który będzie od teraz właściwym katalogiem dla serwera), zainstaluje potrzebne komponenty oraz uruchomi serwer. Ponieważ w tej chwili nie mamy jeszcze żadnego polskiego głosu Ivony, możemy sprawdzić działanie serwera poleceniem:

echo voices | nc 0 8765

Polecenie to oznacza, że serwer w odpowiedzi powinien wyświetlić listę obsługiwanych głosów. Jeśli otrzymamy wynik taki (lub podobny):

297:VoiceList:0:Microsoft Mary:Female:409;9:Microsoft:Adult
297:VoiceList:1:Microsoft Mike:Male:409;9:Microsoft:Adult
297:VoiceList:2:Microsoft Sam:Male:409;9:Microsoft:Adult
293:EndOfList:

oznacza to, że wszystko jest w porządku i można przejść do dalszych czynności, czyli instalacji głosów Ivony.

Instalacja może przebiegać różnie, w zależności od wielu czynników. Najprostszy sposób (praktycznie bezobsługowy) dotyczy głosów Ivona 2 w wersji demo. W tym celu tworzymy sobie jakiś katalog w swoim katalogu domowym (nie w katalogu serwera!) - przyjmijmy, że będzie to katalog "ivona". Do tego katalogu ściągniemy z serwisu Ivony właściwe pliki. Załóżmy, że interesuje nas na razie pojedynczy głos Ewa.

mkdir ~/ivona
cd ~/ivona
ivona_download ewa

Polecenie "ivona_download" stara się ściągnąć z serwerów Ivony instalator, uruchamia go i ściąga głosy podane w linii poleceń. Głosów może być więcej niż jeden, pamiętać jednak należy, że serwery Ivony prędkością nie grzeszą, a i sam instalator nie zawsze działa tak jak powinien - czasem trzeba powtórzyć polecenie.

Gdy już właściwy głos zostanie ściągnięty, należy poinformować instalator że ma go użyć oraz jeszcze raz zainicjalizować serwer:

sudo ln -sf `pwd`/ewa.dat /usr/lib/sapi4linux/ivona_voices/
install_sapi_server -f

Parametr -f przy poleceniu install_sapi_server oznacza, że ma on usunąć poprzednią instalację i stworzyć nową.

Innym sposobem jest zainstalowanie głosów Ivony tak, jak się to robi w Windows. Pamiętać należy, że instalacja musi być przeprowadzona w katalogu .winesapi, oraz że wyświetlanie pozostawia wiele do życzenia...

Nie chcemy również, aby w menu systemowym pojawiały się jakiekolwiek nowe wpisy.

export WINEPREFIX=$HOME/.winesapi
export WINEDEBUG=-all
export WINEDLLOVERRIDES=winemenubuilder.exe=d
wine explorer /desktop=ividn,800x600 ./ivona_installer.exe

(Uwaga, nazwa programu "ivona_installer" jest przykładowa, użyj rzeczywistej nazwy programu!)

W ten sposób możemy dokonać instalacji i aktywacji głosów Ivony.

Przy ręcznej instalacji należy jeszcze skorygować nieprawidłową wersję bibliotek SAPI oraz uruchomić ponownie serwer:

cd /usr/lib/sapi4linux
sh ./install_sapi.sh
~/bin/sapi_server.sh

Niezależnie od tego w jaki sposób instalowaliśmy głosy, serwer powinien już działać. Możemy ponownie wydać polecenie kontrolne:

echo voices | nc 0 8765

Jeśli otrzymamy wynik taki (lub podobny):

297:VoiceList:0:IVONA 2 Ewa:Female:415:IVONA Software Sp. z o. o.:Adult
297:VoiceList:1:Microsoft Mary:Female:409;9:Microsoft:Adult
297:VoiceList:2:Microsoft Mike:Male:409;9:Microsoft:Adult
297:VoiceList:3:Microsoft Sam:Male:409;9:Microsoft:Adult
293:EndOfList:

oznacza to, że wszystko jest w porządku i głos jest widziany przez serwer. Możemy więc poinformować bibliotekę ivolektora z jakich głosów będziemy korzystać poleceniem:

ivolconfig

Powinna wyświetlić się informacja podobna do poniższej:

[Ewa]
mode = opensapi.rockbox
patch = ethanak
port = 8765
host = 127.0.0.1
voice = "IVONA 2 Ewa"
silmpx = 10.0

i taka sama informacja zostanie wpisana do pliku konfiguracyjnego ~/.ivolektor.cfg.

Teraz możemy już przetestować nasz głos:

ivolektor -v Ewa "Cześć kolego"

Powinniśmy usłyszeć głos lektora.

Przy następnym uruchomieniu komputera uzytkownicy zarejestrowanych głosów Ivony uruchamiają serwer poleceniem:

~/bin/sapi_server.sh

Uzytkownicy wersji demo niestety muszą zainstalować ponownie serwer po każdym uruchomieniu komputera (ściślej - po reboocie wine) poleceniem:

install_sapi_server -f

Dotyczy to również sytuacji, kiedy mamy "mieszane" głosy (tzn. chociaż jeden jest nierejestrowany).

Jeśli mamy pojedynczy głos w wersji demo i chcemy go zarejestrować, wystarczy skopiować treść maila otrzymanego od Ivona Software (a ściślej fragment zawierający klucz) do pliku /usr/lib/sapi4linux/serial.txt - przy reinstalacji serwera głos będzie automatycznie aktywowany.


Jeśli mamy już działający serwer SAPI, musimy go w jakiś sposób wykorzystać. Aktualnie przygotowane są trzy aplikacje korzystające z głosów Ivony. Są to Milena ABC (Audiobook Creator), SubAloud (odtwarzacz filmów czytający napisy) oraz moduł do speech-dispatchera, z którego mogą korzystać inne aplikacje (np. screenreadery).

Instalacja Mileny ABC jest trywialna i sprowadza się jedynie do wydania polecenia:

sudo apt-get install milena-abc

Program automatycznie rozpoznaje, czy zainstalowane są głosy Ivony i w zależności od tego pokazuje lub ukrywa część interfejsu odpowiedzialnego za Ivonę.

Program SubAloud jest przeznaczony do pracy z różnymi syntezatorami, więc należy zainstalować również właściwy moduł syntezy:

sudo apt-get install subaloud subaloud-milena

Ponieważ SubAloud jest programem konsolowym który nie wszystkim odpowiada, można spróbować ściagnąć i uruchomić eksperymentalny interfejs użytkownika:

sudo apt-get install enca python-gi gir1.2-gtk-3.0

Po instalacji zależności ściągamy najnowszy plik subaloud-gtk.milena.*.tar.gz, rozpakowujemy go w katalogu domowym, przechodzimy do tego katalogu i wydajemy polecenie:

bash ./install_me.sh

W menu systemowym powinien pokazać się program SubAloud w sekcji Media (lub Video, zależy od używanego środowiska). Będzie on również dostępny jako alternatywny program do odtwarzania video.

Program zawiera w sobie klienta napiprojekt, toteż nie jest potrzebna instalacja qnapi (czy innych podobnych programów).

Trzecim programem (a właściwie pośrednikiem) jest speech-dispatcher-milvona. Instalacja znów sprowadza się do wydania prostego polecenia:

sudo apt-get install speech-dispatcher-milvona

Instalator sam modyfikuje systemowy plik konfiguracyjny speech-dispatchera. Jeśli speech-dispatcher jest uruchomiony, należy wymusić jego zatrzymanie np. poprzez

killall /usr/bin/speech-dispatcher

Jedną z prostych aplikacji wykorzystującą speech-dispatchera (a więc również pośrednio Ivonę) może być SpeechDesktop. Po jego pobraniu należy rozpakować gdzieś w katalogu domowym i skonfigurować zgodnie z plikiem README w tym katalogu.