Espeak: lietuviško teksto skaitymas
„Espeak“ yra viena iš balso sintezavimo (angl. TTS, Text To Speech) programų, kurios užrašytą tekstą perskaito balsu. Lietuvių kalbai jau yra sukurta panašių balso sintezavimo sistemų, pvz., www.text-talk.com, „Aistis“, „SakramentLith“. Tačiau jos turi bent vieną iš trūkumų: arba joms reikia interneto ryšio, arba yra mokamos, arba nėra skirtos Linux aplinkai, o „Espeak“ yra atviro kodo projektas, jos veikimui nereikia interneto ryšio. Espeak palaiko daugybę kalbų, tarp jų ir latvių, lenkų, rusų, anglų. Tik lietuvių kalbos palaikymo dar nėra oficialiose Espeak versijose, tačiau jis jau rengiamas, Lietuvių kalbos palaikymas Espeak sistemoje įtrauktas nuo 1.47.01 versijos, kviečiame išbandyti ir prisijungti prie tobulinimo.
Norėdami išmėginti espeak su lietuvių kalbos palaikymu, įsidiekite espeak arba espeak-ng. Natūralesnį balsą girdėsite, jei naudosite mbrola balsus lt1 ir lt2 (tai „diegti tuoj pat“ nuorodos). Diegiant pastaruosius du, automatiškai įdiegs mbrola paketą (bet tik jei esate įsidėję PackMan saugyklą).
Įdiegę eSpeak, lietuvišką balsą išgirsite įvykdę komandinėje eilutėje vieną iš šių komandų:
espeak -v lt “Jūsų tekstas. LT”
espeak -v mb/mb-lt1 “Jūsų tekstas. M brola LT 1”
espeak -v mb/mb-lt2 “Jūsų tekstas. M brola LT 2”
Espeak galima naudoti kartu su, pvz., KDE Jovie (kad veiktų pastaroji, turi būti įjungta PulseAudio sistema; apie jos išjungimą buvo rašyta čia).
Norėdami patobulinti tarimą, sukurkite savo namų kataloge aplanką espeak-data ir nukopijuokite į jį visą /usr/share/espeak-data turinį. Tai padaryti galite įvykdę komandą:
cp -r /usr/share/espeak-data/ ~/
Po to redaguokite espeak-data/dictsource aplanke esančius failus: lt_rules (tarimo taisyklės), lt_list (įvardžių, sutrumpinimų, skaičių ir t.t tarimas) ir lt_listx (žodžių sąrašas su nurodymu, kurį skiemenį kirčiuoti); taip pat galite keisti espeak-data/phsource aplanke esantį ph_lithuanian (garsų žymėjimo aprašymai) ir espeak-data/phsource/mbrola aplanke lt1 ir lt2 (abu aprašo espeak garsų žymėjimo sąsajas su mbrola; mbrola lietuviškų failų aprašas pateiktas čia).
lt_rules taisyklės aprašomos pagal tokią struktūrą: [ženklai prieš )] raidė(s) [( ženklai po] raidės tarimas. Pavyzdžiui:
d (_ t // [d] žodžio gale tariami dusliai: kad – kat
_) ie (šm jie // „ie“ žodžio pradžioje prieš „šm“ tariama [jie]: iešmas [jiešmas]
i (A ; // A didžioji raidė reiškia bet kokį balsį,
// kabliataškis (;) – minkštumo ženklą.
k (CL06 k; // C didžioji raidė reiškia bet kokį priebalsį,
// L su dviem skaitmenimis nurodo tam tikrą raidžių derinių grupę,
// kuri aprašoma to failo viršuje
@) ė (jL12_ ee= // lygu (=) nurodo, kad raidė yra kirčiuota,
// eta (@) – prieš raidę yra bent vienas skiemuo:
// priesaga -ėjas: siuvėjas
lt_list ir lt_listx taisyklės pavyzdys:
manęs $2 // kirčiuojamas antras skiemuo
Visuose šiuose failuose // reiškia komentarus. Mažosios raidės tarime atitinka atitinkamas fonemas, išskyrus ee (taip žymima ė). Didžiosios raidės A, E, I, O, U atitinka trumpus balsius. Didžiosios S, Z atitinka Š ir Ž. Dvitaškis (:) po balsio nurodo, kad jis yra ilgasis. Kabutė (’) nurodo kirčio vietą. Toks žymėjimas panašus į lietuviškuose mbrola balsuose naudojamą (jų aprašas čia), bet skiriasi tuo kad mbrola žymėjime kabutė (’) reiškia minkštumo ženklą, ilgieji balsiai žymimi dviem raidėmis, pvz., aA (ã žodyje rãtas), ii (i ilgoji žodyje mylia), eA (ẽ žodyje kẽlias).
Pakeitimų testavimą labai palengvina espeakedit programa; pirmą kartą su ja dirbant su teks pasirinkti lietuvišką balsą einant per meniu Voice > Select voice (bandykite lt, arba iš mb-lt1 iš mb aplanko); atlikus bet kokius pakeitimus minėtuose lt_rules, lt_list, lt_listx, ph_lithuanian failuose, teks po to eiti per meniu Compile ir nuosekliai perkompiliuoti phoneme data, dictionary “lt” .
Naudingą informaciją apie redagavimą rasite espeak dokumentacijoje, ubuntu.lt svetainėje.
Savo patobulinimus galite kelti į ubuntu.lt svetainę tam, kad jie atsirastų https://github.com/mondhs/espeak