Bądź: Wyszukaj na stronie z użyciem Google
reklama:

wtorek, 23 listopada 2010

Festival, czyli syntezator mowy czytający po polsku

Autor: , 18:58, wtorek, 23 listopada 2010


Otwieranie buzi staje się zbędne, gdy pod ręką mamy Festival. Fot: chrisschuepp
Festival to syntezator znany mowy dostępny dla Linuksa. Można go znaleźć w repozytorium, a instalacja sprowadza się do wydania jednego prostego polecenia.

Autorem tekstu jest NetBit. Korekta AN.

Festival zainstalujemy - jak nietrudno się domyślić - poleceniem:

sudo apt-get install festival
Można by było na tym zamknąć wpis gdyby nie fakt, że program zainstalowany w ten sposób nie działa zbyt dobrze w naszym języku (domyślnie obsługuje oczywiście angielski). Zbyt dobrze to mało powiedziane, ale można to zmienić. Poniżej postaram się pokazać, jak to zrobić krok po kroku.

Po wgraniu programu Festiwal musimy pobrać plik z paczką zawierającą polski język. Instalacja jest "ręczna" opisana wewnątrz pliku, który można pobrać poniżej. Autorzy się jednak nie postarali, więc prześledzimy kroki instalacji jeszcze raz:

wget http://dl.dropbox.com/u/2552069/blog/festival_polish_voice.tgz
po ściągnięciu rozpakowujemy plik:

tar -xvzf festival_polish_voice.tgz
następnie tworzymy katalog:

sudo mkdir -p /usr/share/festival/lib/voices/polish/
i przerzucamy do niego rozpakowaną zawartość:

sudo mv cstr_pl_em_diphone /usr/share/festival/voices/polish/
Pozostaje nam konfiguracja, aby móc używać rodzimego języka. Edytujemy więc plik:

sudo gedit /usr/share/festival/languages.scm
i dopisujemy zgodnie z zastaną składnią:

(define (language_polish)
"(language_polish)
Set up language parameters for Polish."

(set! male1 voice_cstr_pl_em_diphone)

(male1)
(Parameter.set 'Language 'polish)
)
odnajdujemy w tym samym pliku następnie sekcję sekcji select_language i dodajemy tam:
((equal? language 'polish)
(language_polish))

Kolejnym krokiem jest nadanie odpowiednich praw:

sudo chmod -R 755 /usr/share/festival/voices/polish/
i powinno już działać. Jak korzystać z programu?
W konsoli możemy wpisać:

festival --language polish
przywita nas znak zachęty w postaci:

>
Gdzie możemy zacząć wpisywać tekst do czytania w postaci:

> (SayText " czesc co tam slychac")
Dużo wygodniejszą jednak formą używania programu jest postać:

echo "czesc co słychac ?" | festival --tts --language polish
gdzie polskie litery będą w postaci:
ą = o~
ć = c~
ę = e~
ł = l/
ń = n~
ó = u
ś = s~
ź = z~
ż = z*

lub w postaci:

echo "działają polskie literki" | iconv -f UTF-8 -t ISO_8859-2 | festival --tts --language polish
gdzie konwersja polskich liter nastąpi automatycznie.
blog comments powered by Disqus

Prześlij komentarz


Popularne posty

Etykiety