Blog (18)
Komentarze (1.5k)
Recenzje (1)
@marson1Pingwiny też mają głos czyli o syntezie mowy w linuksie

Pingwiny też mają głos czyli o syntezie mowy w linuksie

14.07.2011 22:51

Witam ponownie

Znowu wstęp – którego zapewne i tak nikt nie przeczyta

Na początku chciałem podziękować za ciepłe przyjęcie mojego pierwszego wpisu, za słowa uznania i za komentarze. Przepraszam też za błędy poprzednie i za pewne niestety te, które się wkradną i do tego wpisu, taka jest już specyfika pracy tylko na bazie tego co słyszymy – w końcu herbata i cherbata zostaną przeczytane tak samo ;) No ale do rzeczy, w tym wpisie podpowiem jak uruchomić polską synteze mowy w Linuksie, która może nie jest tak kompleksowa jak w systemie od małomiękkiego ale do przeczytania newsów na DP - i oczywiście blogów geeków mądrzejszych ode mnie wystarczy ;) –

Znów będę ględził czyli kilka spraw zanim przejdziemy do praktyki.

Po pierwsze należy sobie uświadomić, że synteza mowy w Linuksie to nie to samo co w Windows, nie czarujmy się na obecnym etapie osoba zupełnie niewidoma nie poradzi sobie z Linuksem. Są co prawda niby projekty typu Vinux, które niby mają udźwiękowić system ale niestety to mit. Dlaczego? – Bo to co mamy dziś dostępne to wybrane środowiska graficzne czyt. Gnome i wybrane programy (te, które zostały napisane w środowisku gtk), wiadomo też, że idea Linuksa była inna, tzn. chodziło o to by mieć wybór rozwiązań: KDE, Gnome, Xfce, tu jesteśmy ograniczeni tylko do wycinka programów. Jednak jeśli ktoś potrzebuje po prostu ułatwić sobie życie z Linuksem i wystarczy mu np. możliwość odczytania schowka systemowego czy w miarę udźwiękowione jedno środowisko graficzne zapraszam do dalszej lektury ponieważ to właśnie chcę opisać. Aha i jeszcze jedno – wszystko co tutaj opisuję robiłem na ubuntu 10.04 i działało bez problemu.

Pingwin chce kobietki – instalacja polskiego głosu Milena w linuksie.

Podobnie jak w Windows w systemie Linux do tego by pingwin przemówił potrzebne są nam co najmniej dwie rzeczy, screen reader orca, który w ubuntu już jest (podejrzewam, że jest on też w każdej dystrybucji z gnome, bo orca to właśnie składowa gnome) Oraz głos syntezatora mowy, najpierw opiszę instalację natywnego głosu dla Linuksa jakim jest Milena a potem instalację głosów ivona przy pomocy projektu open-sapi – więcej informacji o nim tutaj, .

Do biegu, gotowi, start – instalujemy Milenę. 1. Najpierw musimy zainstalować zależności niezbędne do działania Mileny, w tym celu w oknie terminala wydajemy polecenie [code] sudo apt‑get install enca[/code]

2. pobieramy z oficjalnej strony Mileny (http://milena.polip.com/) najnowszą jej wersje, w tym celu otwieramy terminal i wydajemy polecenie

 wget http://tts.polip.com/files/milena-0.2.46.2.tar.gz

3. teraz wypadałoby rozpakować pobrane archiwum, robimy to standartowo poleceniem: [code] tar –zxvf milena-0.2.46.2.tar.gz[/code] oraz przechodzimy do rozpakowanego archiwum za pomocą [code] cd milena-0.2.46.2[/code]

4. Instalacji samej Mileny dokonujemy poleceniem [code] sudo ./ubuntu_install_milena.sh[/code]

Po wykonaniu tego polecenia mamy w systemie działający głos, przydałaby się jednak jakaś aplikacja, która chociaż w nikłym stopniu umożliwi odczytywanie tekstu z ekranu i tu będziemy potrzebować programiku milena_gtk, pobierzmy go zatem poleceniem [code] wget http://tts.polip.com/files/milena_gtk-0.2.tar.gz [/code] . Podobnie jak poprzednio z Mileną ten plik też należy rozpakować poleceniem tar –zxvf milena_gtk-0.2.tar.gz. Do poprawnego działania milena_gtk wymagana jest jeszcze biblioteka pyton_xlib, instalujemy ją za pomocą polecenia

 sudo apt-get install python-xlib

Po zainstalowaniu brakującej biblioteki możemy przejść do katalogu z milena_gtk wpisując [code] cd  milena_gtk[/code] a następnie uruchomić program wpisując [code] ./Milena_gtk.py[/code] , proponuję jednak przenieść program milena_gtk do jakiegoś katalogu wymienionego w $PATCH np. do /bin tak abyśmy nie musieli każdorazowo przechodzić do katalogu z milena_gtk. W tym celu będąc w katalogu z milena_gtk wydajemy polecenie [code] sudo mv *.* /bin[/code] , teraz pozostaje nam już tylko skonfigurować Milena_gtk do własnych potrzeb i możemy cieszyć się gadającym schowkiem i integracją z pidginem.

Głosy ivona i projekt open-sapi czyli jeśli Milenka jest „be”.

Poniżej pokrótce postaram się opisać proces uruchomienia głosów ivona w linuksie za pomocą tandemu wine + open-sapi, zatem zaczynamy.

Co będzie nam potrzebne?

- Oczywiście ivona, ja pracuję z głosem Jacek i Jennifer w ivonie w wersji 2 ale nie widzę powodów, dla których inne wersje miałyby nie działać, przynajmniej te 22 KHZ – 16 KHZ zapewne nie dadzą się aktywować ze względu na inny ID komputera pod wine

- program wine, osobiście preferuję wersję rozwojową kompilowaną ze źródeł ale sądzę, że wersja z repo też powinna dać radę - binaria opisywanej wyżej Mileny, jeśli czytałeś(aś) wpis od początku to już je masz - program osapi_gtk będący odpowiednikiem Milena_gtk – o nim za chwilę - źródła projektu open-sapi pobrane za pomocą SVN.

Zaczynamy

1,Po pierwsze instalujemy wine. 2. musimy mieć możliwość pobierania zasobów z serwerów SVN, w tym celu poleceniem [code] sudo apt‑get install svn‑subversion[/code] instalujemy niezbędne pakiety. 3. teraz pobieramy źródełka projektu opensapi za pomocą polecenia [code] svn checkout http://open-sapi.googlecode.com/svn/trunk/open-sapi [/code] . Jest tego ładnych kilka MB więc proponuje napić się czegoś zimnego w ten nieznośny upał w międzyczasie. 4. gdy proces się zakończy, stwórz sobie jakiś katalog np. w katalogu domowym gdzie będziesz wszystko trzymać. Ponieważ jak już pewnie zauważyliście mam nieco old‑school’owy styl pracy to i tym razem zrobimy to w konsoli, piszemy więc mkdir [code]~/osapi [/code] i przechodzimy do nowo utworzonego katalogu [code] cd ~/osapi [/code] . 5. Następnie musimy pobrać plik wineinit.exe i uruchomić go via wine robimy to za pomocą dwóch poleceń

 
wget http://open-sapi.googlecode.com/files/wineinit.exe

oraz [code] wine wineinit.exe[/code] .

6. teraz instalujemy ivonkę tak jak to się normalnie robi z aplikacjami via wine tj.

 wine /sciezka/do/instalki/ ivona2_installer_pak_jacek.exe

. I tu drobna uwaga, nie instalujmy ivona minireader ani ivona reader bo i tak nie będą działać a w skrajnych wypadkach wywalą nam się ixy, zainstalujmy zatem jedynie posiadane głosy i ivona control center. Po instalacji aktywujemy zainstalowane głosy naszymi kluczami i jedziemy dalej.7. kolejną czynnością jaką musimy wykonać jest instalacja bibliotek SAPI pod wine, w tym celu wykonujemy następujące polecenia:

 
wget http://open-sapi.googlecode.com/files/winetricks.sh
chmod 770 winetricks.sh
./winetricks.sh sapi51

. Następnym krokiem jest dogranie jednego pliku .dll do instalacji wine niezbędnego do działania opensapi, w tym celu wydajemy polecenia:


wget http://open-sapi.googlecode.com/files/msvcp60.dll
 cp -f msvcp60.dll $HOME/.wine/drive_c/windows/system32/

Pozostaje nam uruchomić serwer open sapi w tym celu wykonujemy polecenie

 wine ~/open-sapi/tools/tcl/bin/tclsh85.exe ~/open-sapi/src/unstable/osapi-srv.tcl 2> /dev/null

Powinniśmy usłyszeć ivonę mówiącą Ready, jeśli nie to otwieramy drugi terminal i wydajemy polecenie [code]~/open-sapi/src/unstable/osapi-cli.tcl -p ? [/code]

Wtedy w oknie z odpalonym serwerem zobaczymy zainstalowane głosy ponumerowane cyframi od 0 w górę, zatem jeśli np. mamy zainstalowanego Jacka i ma on numer 1 to piszemy

    ~/open-sapi/src/unstable/osapi-cli.tcl -p 1 -t To jest test Jacka @@ 

– mała uwaga, dwie @ na końcu polecenia muszą pozostać ale nie są czytane.

Niech gnome przemówi – podstawowe udźwiękowienie środowiska pracy.

Gdy głosy są już zainstalowane a powyższy test pokazał, że działa wszystko jak należy pozostaje nam jeszcze podłączyć jakąś nakładkę graficzną by korzystanie z takich głosów miało sens. W tym celu ze strony syntezatora Milena pobieramy programik osapi_gtk za pomocą polecenia [code] wget http://tts.polip.com/files/osapi_0.1.1.tar.gz[/code] po ściągnięciu oczywiście rozpakowywujemy poleceniem [code] tar –zxvf osapi_0.1.1.tar.gz[/code] i teraz tak:

- po przejściu do katalogu z rozpakowanym osapi wydajemy polecenie [code] cp rbutil-testing-server.tcl ~/open-sapi/ rockbox/client-server[/code] , Podobnie jak w przypadku Milena_gtk polecam skopiować pliki sapi_gtk .py, sapi_say.py oraz osapi_tray1.png np. do /bin by można było uruchamiać skryp osapi z dowolnego miejsca. Następnie rozpakowujemy plik opensapi-0.1.1.tar.gz i przechodzimy do nowo utworzonego katalogu, po czym wydajemy polecenie sudo python setup.py install. Na koniec pozostało nam odpalenie serwera open-sapi tak jak to opisałem wyżej oraz programiku osapi_gtk.py i cieszyć się działającym odczytywaniem schowka, godziny oraz integracji z pidginem i tu mała uwaga. Nie wiem czemu ale u mnie pierwsze odpalenie osapi_gtk nie wydobywa głosu ivony, muszę zamknąć osapi_gtk i ponownie je uruchomić i dopiero działa, a oznaką, że działa będzie wypowiedziane słowo Cześć przez głos SAPI.

Kilka słów na koniec i już Was nie męczę

Po pierwsze chciałem pogratulować wytrwałości tym co dotrwali do końca tego wpisu, mam nadzieję, że komuś się on przyda. Po za tym chciałbym napisać jasno i dobitnie, że:

1. Ani ja ani tym bardziej firma ivona software nie może być odpowiedzialna za nie działanie albo nie prawidłowe działanie ivony uruchomionej pod Linuksem ani też firma ivona software nie będzie udzielać wsparcia technicznego dla ivony w takiej konfiguracji, chociaż została powiadomiona o powstaniu tego wpisu i nie ma żadnych przeciwwskazań licencyjnych do używania ivony pod Linuksem.

2. wszystkie opisane polecenia pisałem z pamięci więc mogłem coś pominąć lub przekręcić, jeśli coś nie będzie działać piszcie, postaram się pomóc

3. Nie jestem autorem żadnego z opisywanych skryptów czy programów, ja jedynie zebrałem wszystko w jednym miejscu, wszelkie podziękowania za oprogramowanie należą się jego twórcom w tym szczególnie twórcy Mileny za… jakże by inaczej Milenę ;) i za nakładkę osapi_gtk, oraz oczywiście twórcy samego opensapi, bez którego ten tekst zakończyłby się na opisie Mileny

P.S Gdyby ktoś był ciekaw.... Wpis zacząłem pisać tak ok 12 w południe a skończyłem teraz tj. ok 20:50 więc jeśli są jakieś błędy to już ze zmęczenia

Wybrane dla Ciebie
Komentarze (31)