Upogonite text-to-speech na Linuxu
Prenosimo tekst s našeg foruma koji je napisao korisnik rusty. Vjerujemo da će i na naslovnici ova zanimljiva tema pronaći zainteresirane čitatelje. Uputstva su napisana za Linux Mint, ali su lako primjenjiva i na ostale distribucije Linuxa.
Koncept je jednostavan. U bilo kojem GUI programu (Firefox, Writer…) označite dio teksta, udarite kraticu “Ctrl+nešto” i računalo vam pročita tekst. Ako vas zanima kako, nastavite čitati. 🙂
Prvo je potrebno instalirati program za pretvaranje teksta u govor. U repozitoriju sigurno imate nekoliko text-to-speech programa, npr. festival ili espeak. Za espeak sam se odlučio jer podržava i hrvatski!
sudo apt-get install espeak
Provjerite radi li sve ovom naredbom:
espeak "hello world!"
Ako vas zanima kako zvuči na hrvatskom:
espeak -v croatian "Pozdrav svijete!"
Preostaje još iz konzole dohvatiti tekst selektiran unutar neke GUI aplikacije. Upravo to radi mali alat pod nazivom xsel. Instalirajte ga:
sudo apt-get install xsel
Sad imamo sve potrebne komponente. Napisat ćemo malu shell skriptu i registrirati tipkovničku kraticu (keyboard shortcut) koja će izvršavati tu skriptu.
Otvorite svoj najdraži uređivač teksta i utipkajte:
#!/bin/bash
xsel | espeak -v croatian
Svojoj skripti dajte neki smisleni naziv (npr. talk-hr.sh) i spremite ju negdje u svoj home direktorij. Ne zaboravite joj dodijeliti pravo izvršavanja:
chmod +x talk-hr.sh
Zadnji korak je određivanje kratice (shortcut) kojom će se skripta izvršiti. Ovaj korak uvelike ovisi o tome koje desktop okruženje koristite. Ja koristim Cinnamon i kratice mogu dodati u dijalogu za postavke tipkovnice (Preferences -> Keyboard -> Keyboard shortcuts).
To je sve! Ako želite podršku i za engleski jezik, najjednostavnije je kreirati još jednu skriptu “talk-en.sh” u kojoj ćete izostaviti “-v croatian” parametar i dodijeliti joj neku drugu tipkovničku kraticu.
Autor: rusty
Prava stvar za ubiti dosadu.Hvala rusty ;=)
Radi i na Archu 🙂
Hvala rusty, hvala LzS 🙂
Malo sam izgleda “out-of-date”. Vl@do znači ipak si se vratio Archu 😉
Cool stvarčica 🙂 Jednostavno i zanimljivo 🙂
najs. Možda bi poslužilo za lektire :O
Da je barem malo razumljivije.
Zašto ne mogu objaviti komentar???
Komentar koji sam poslao ali se ne vidi, možda je neka preventivna skripta zbog URLa pa ga skrvam:
Postoje i sučelja, odn. graphical user interface za eSpeak. Bilo ga je i u appsima za Ubuntu i Software Manageru za Mint (espeak-gui, npr).
Za vas koji niste robovi Cinnamona ima i ovo (GTK+ frontend):
www_muflone_com/gespeaker/english/
(“_” zamijenite sa “.” – ako ovo sad bude objavljeno onda imamo aktivnu paranoičnu skriptu… 😛 )
“Gespeaker supports two different speech engines: espeak, the default native and MBROLA, an extra engine that offers more realistic voices.”
Ako vas tema zanima, proguglajte i Cicero, Festival.
Negdje su na netu čak i upute kako ručno doraditi npr hrvatski modul 😉
Talking books su odlična star za prave lijenčine ™.
Hvala za info!
GUI je definitivno bolji za duže tekstove (ima i pauzu).
Baš se igram sa MBROLA glasovima i puno su razgovjetniji.
Izgleda da Espeek dobro surađuje sa MBROLA-om… mislim da ću morati napisati dodatak za tutorial 🙂
Pozdrav!
Ako vam osnovni Espeak glasovi nisu dovoljno razumljivi, evo mogućeg rješenja 🙂
Ukratko, proces pretvaranja teksta u govor ima više koraka, sinteza glasa je logično zadnji. Jedan od (boljih) sustava za sintezu je MBROLA.
Za instalaciju (na Linux Mint 17) upišite:
sudo apt-get install mbrola
Dodatne glasove instalirate zasebno. Za hrvatski upišite:
sudo apt-get install mbrola-cr1
Espeak podržava MBROLA sustav i dovoljno je samo navesti koji glas želite koristiti. U slučaju iz tutorijala to bi bilo:
espeak -v mb-cr1 “Pozdrav svijete!”
Ako je sve prošlo u redu, trebali bi čuti prirodniji glas.
Još jednom hvala darkborn!
You’re welcome 😉