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. 🙂

text-to-speech

 

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).

cinnamon-kratice

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

VN:F [1.9.22_1171]
Rating: 4.4/5 (10 votes cast)
Upogonite text-to-speech na Linuxu, 4.4 out of 5 based on 10 ratings

11 Komentara

Dodaj svoj

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!

Odgovori

Ova web-stranica koristi Akismet za zaštitu protiv spama. Saznajte kako se obrađuju podaci komentara.