21.514 pregleda

Upogonite text-to-speech na Linuxu

11

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

  1. laufer84 napisao:

    Prava stvar za ubiti dosadu.Hvala rusty ;=)

  2. Vl@do napisao:

    Radi i na Archu 🙂
    Hvala rusty, hvala LzS 🙂

  3. Ivan napisao:

    Cool stvarčica 🙂 Jednostavno i zanimljivo 🙂

  4. Paulo napisao:

    najs. Možda bi poslužilo za lektire :O

  5. darkborn napisao:

    Zašto ne mogu objaviti komentar???

  6. darkborn napisao:

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

    • rusty napisao:

      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 🙂

  7. rusty napisao:

    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!

  8. darkborn napisao:

    You’re welcome 😉

Ostavi komentar

© 2017 Linux Za Sve. | Impressum | Sadržaj je licenciran pod CC-SA-3.0 ako nije drugačije naznačeno.
Proudly designed by Theme Junkie.