Blog (18)
Komentarze (1.5k)
Recenzje (1)

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

@marson1Pingwiny też mają głos czyli o syntezie mowy w linuksie14.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

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.