Eesti keele tekst-kõne süntees



·       Tutvustus

·       Kompilatiiv- ehk ahelsüntees (Mbrola)

·       Formantsüntees (eSpeak)

·       Korpuspõhine kõnesüntees

·       Kõnesünteesiliidesed

·       Demod

·       Rakendused

·       Installeerimis- ja kasutusjuhendid


Tutvustus


Tekst-kõne süntees on inimlugemise analoogiks. Vaadeldes lugemist füsioloogia tasandil, näeme, et tegu on väga keeruka protsessiga. Joonisel on esitatud teksti häälega ettelugemise lihtsustatud skeem ja kujutatud inimese füsioloogilised organid, mis on kaasatud lugemisprotsessi.

Arvutil imiteeritav tekst-kõne süsteem on lihtsustatud mudel füsioloogilisest lugemisprotsessist. Tekst-kõne süsteem eeldab oma sisendis teksti, mis on eelnevalt juba arvutisse viidud. Tähemärkide optiline tuvastussüsteem või ekraanilugeja jääb tavaliselt tekst-kõne süsteemi käsitlusest välja. Süsteem ei sisalda ka tagasisideahelat, mis väljundi analüüsi põhjal võimaldaks automaatselt kõne valjust ja häälekõrgust kohandada vastavalt keskkonna tingimustele.

Nii nagu inimlugemine, sisaldab tekst-kõne süntesaator loomuliku keele töötlusmoodulit, mis teisendab sisendteksti hääldustekstiks koos soovitud intonatsiooni ja kõnerütmiga. Digitaalne signaalitöötlusmoodul teisendab sisendis oleva sümbolinformatsiooni loomuliku kõlaga kõneks.

Kompilatiiv- ehk ahelsüntees (Mbrola)

Eesti keele tekst-kõne sünteesil teisendatakse eestikeelne kirjalik tekst suuliseks kõneks. Joonisel on toodud eestikeelse tekst-kõne süntesaatori plokkskeem, mis põhineb kompilatiiv- e ahelsünteesi filosoofial. Süsteem sisaldab teksti linvistilist töötlust, prosoodia generaatorit ning kõneüksuste ja kõneprosoodia andmebaase.

Kompilatiiv- ehk ahelsünteesil kasutame kõneüksustena difoone, millede akustilistes signaalides sisalduvad loomulikud üleminekud häälikult häälikule. Difoonid on kahest järjestikusest häälikust koosnevad segmendid (vokaal-konsonant, vokaaal-vokaal, konsonant-vokaal, vokaal-paus jne).

Difoonide kõnelainete

. . .

ja prosoodilise informatsiooni põhjal

moodustatakse väljundkõnesignaal.

Eesti keele tekst-kõne süntees on Eesti Keele Instituudi, Küberneetika Instituudi ja OÜ Filosoft ühisprojekt. Oleme liitunud ka rahvusvahelise sünteesiprojektiga MBROLA.

Formantsüntees (eSpeak)

Formantsüntesaator on kõne tekitamise allikas-filter mudel. Allikas modelleerib häälekurdude tööd, genereerides perioodilisi kõriimpulsse või kõri ahtusest (friktsioonist) tingitud müra. Filtriga modelleeritakse kõnetrakti resonantssagedusi ehk formante. Formantsünteesil kirjeldatakse häälikutevahelisi foneetilisi siirdeid reeglite jadana, mis formaalselt kirjeldavad häälikute mõju üksteisele. Allikat ja filtreid kirjeldatakse kuni 60 parameetri dünaamilise muutumisena, mis on esmajoones seotud formantide (ja antiformantide) sageduste ja ribalaiustega ning kõri lainekuju kirjeldusega. Formantsünteesi eeliseks on tema kompaktsus, tagasihoidlikud nõuded mälumahule ja arvutusvõimsustele. Seetõttu saab neid kasutada väiksemates mobiilsetes seadmetes ning formantsüntesaatoritele on loodud liideseid tööks eri platvormide ja süsteemide all.

Eestikeelne formantsüntees on realiseeritud avatud koodiga kõnesünteesi arendussüsteemis eSpeak. eSpeaki omadused-võimalused: sisaldab 43 keeles sünteeshääli, tekitab väljundina wav-faili, SSML märgenduskeele (osaline) tugi ja samuti HTML, kompaktsus (programm koos erinevate keelte andmetega 1.4 Mbaiti) ja saab kasutada eessüsteemina Mbrola difoonhäältele.

Eestikeelne formantsüntees on eSpeak süsteemis kasutatav:
- käsureaprogrammina (Linuxis ja Windowsis) teksti ettelugemiseks failist või standardsisendist (stdin);
- jagatud teekide versioonina (dll Windowsis);
- SAPI5 versioonina Windowsis, võimaldades kasutada eestikeelset kõnesünteesi ekraanilugejates ning teistes programmides, millel on SAPI 5 tugi;
- eSpeak on porditud ka teistesse platvormidesse (Solaris ja Mac OSX).


Korpuspõhine kõnesüntees

Eestikeelset korpuspõhist kõnesünteesi on arendatud riiklike programmide projektide "Eestikeelne korpuspõhine kõnesüntees" ja "Kõnesünteesiliidesed" raames. Kui difoonide andmebaasil põhineval sünteesil vastab igale võimalikule häälikult-häälikule üleminekule täpselt üks difoon, siis korpuspõhisel sünteesil on kogu kõnekorpus sünteesi akustiliseks baasiks.
Korpuspõhise sünteesi eelduseks on:
- foneetiliselt rikas tekstikorpus;
- kõnekorpuse salvestamine keelejuhtide esituses;
- häälikusüsteemi fikseerimine ja tunnuste valik;
- kõnekorpuse märgendamine ja segmenteerimine.

Üksuste valikul põhinev süntees (Festival)
Kasutame Festival arendussüsteemi ja sünteesimootorit. Teksti lingvistiline töötlus sisaldab täht-häälik teisendust, mittesõnade interpretaatorit ja sõnade morfoloogilist analüüsi. Sobivate kõneüksuste valik on korpussünteesi kõige tähtsam osa. Eelistatakse võimalikult pikki kõnestringe ning optimeeritakse kõneüksuste lingvistilisi ja füüsikalisi parameetreid erinevate sobivuskriteeriumide alusel. Üksuste valikul põhineva kõnesünteesi eeliseks on väljundkõne kõrge segmentaalne kvaliteet ja loomulik kõla. Puuduseks on eelkõige see, et sünteesil on vajalikud mahukad kõnekorpused ja sünteesiprotsessi parameetrid pole reaalajas juhitavad.

HTS-kõnesüntees
Peidetud Markovi mudelitel HMM põhineval statistilis-parameetrilisel kõnesünteesil treenitakse eelnevalt kõneproduktsiooni mudeleid kõnekorpustel. Ehkki süntesaatori väljundkõnelaine segmentaalne kvaliteet pole nii hea kui üksuste valikul põhineval sünteesil on HTS-sünteesil ka mitu eelist. Esiteks on sünteesitav väljundkõne ladus ja sorav. Teiseks on sünteesiprotsess reaaalajas juhitav, võimalik on muuta kõnetempot, häälekõrgust ja -tämbrit. Kolmandaks on sünteesimootor küllaltki kompaktne, peale treenimisprotsessi ei vaja sünteesimootor enam suuri kõnekorpusi.

Projektide raames loodud ressurssidest ja välja töötatud sünteesimoodulitest on praegu kättesaadavad:

1. Kõnekorpuse jaoks koostatud tekstikorpus (2400 lauset)
2. Kõnekorpused (54-320 minutit kõnet)
3. Suurtel kõnekorpustel põhinevad ja erinevatel meetoditel genereeritud sünteeshäälte näited



Kõnesünteesiliidesed

Kõnesünteesiliidesed (SAPI - Speech Application Programming Interface) võimaldavad juhtida eestikeelset kõnesünteesi, jälgida tekst-kõne teisendusprotsessi, arvestada edastatava dokumendi struktuuri ja muuta sünteeshääle parameetreid (hääletugevus, kõnetempo, häälekõrgus) erinevates häälrakendustes. Eesmärgiks on luua eri platvormidel kõnesünteesiliideste prototüübid, mis on mõeldud eestikeelse kõnesünteesi juhtimiseks erinevatel sünteesimootoritel (eSpeak, Clustergen, HTS, Mbrola), kattes võimalikult laialdaselt olemasolevaid operatsioonisüsteeme ja riistvara. Kaasajal on kõnesüntees muutumas virtuaalse reaalsuse üheks osaks, olles virtuaalne partner dialoogsüsteemis, uudiste, raamatute ja subtiitrite ettelugeja, keeleõpetaja, infovahendaja nägemispuudega inimestele jpm. Kõnesünteesiliideste prototüübid on eelduseks mitmesugustele häälrakendustele. Praegusel hetkel on eriti aktuaalsed järgmised rakendused: digiraamatute genereerimine, et uued raamatud oleksid kättesaadavad heliraamatuna samaaegselt ja subtiitrite ettelugemine digitelevisioonivõrgus. Kõnesünteesiliideseid saab otseselt rakendada pimedatele mõeldud ekraanilugejates ja audiosüsteemis ELTE (ühisprojekt Põhja-Eesti Pimedate Ühinguga ja Eesti Pimedate Raamatukoguga). Praegu on kasutatavad eSpeak sünteesimootori liidesed (vt Formantsüntees).



Demod

Kui tahate kuulata, kuidas eestikeelne sünteeskõne kõlab, siis proovige sünteesidemo aknas mõnd sõna või lauset. Difoonsüntesaatori on kuulatavad siin, samas on võimalik lasta endale ette lugeda eri sünteeshäältega uudiseid Eesti päevalehtedest.



Rakendused


1. Mobiilirakendus nutitelefonidele - värskete uudiste lugeja - kirjeldus ja installeerimine ning Android-rakenduste pood.

Nutirakenduse kuvatõmmised:



2. Eestikeelsete elektrooniliste teabetekstide ettelugemise süsteem nägemispuudega inimestele

Rakenduse kuvatõmmis:



Installeerimis- ja kasutusjuhendid

Kui teil on huvi kõnesüntesaatoreid oma arvutis proovida, siis järgige installeerimisjuhendeid. Nõuded arvuti riistvarale on minimaalsed, vaja on vaid helikaarti ja kõlareid või kõrvaklappe.


Difoonsüntesaator (Mbrola baasil)

Difoonsüntesaatori installimiseks Windowsi keskkonnas tuleb alla laadida ja käivitada kaks moodulit toodud järjekorras.

1. MBROLA signaalitöötlusprogramm (ver 3.5, maht 1.8 MB)
2. Eestikeelse kõnesünteesi tarkvara koos difoonide andmebaasiga ja reeglipõhise prosoodiamooduliga (ver 1.0, maht 9.6 MB) või statistilise prosoodiamooduliga (ver 2.0, maht 9.6 MB)

Õnnestunud installimise tulemusena tekib töölauale programm TKSyntees.

Selle käivitamisel ilmub ekraanile aken, kuhu on võimalik teksti tippida või kopeerida (nt Ctrl+C & Ctrl+V) ja lasta endale ette lugeda. Programm võimaldab muuta kõnetempot, kõne ilmekust (lause põhitooni), kõnevaljust, häälekõrgust ja -tämbrit. Sünteeskõnet saab salvestada ka mp3-formaadis faili "MP3-väljund". Kasutaja saab häälestada süntesaatorit oma maitse järgi ja valitud seadeid salvestada "Kasutaja seadete salvestus", mis jäävad kasutaja vaikeväärtusteks konkreetses arvutis. Pärast süntesaatori seadete katselist muutmist saab taastada nii "Kasutaja vaikeväärtusi" kui ka "Süsteemi algseadeid". Lisaks on võimalik modifitseerida "Kõneprosoodiat" (kõneühikute kestusi ja põhitooni sagedust) ning salvestada prosoodiaandmeid pho-faili ja väljundkõnet ennast wav-formaadis faili.

Eestikeelne difoonsüntesaator on integreeritav teistesse Windows-põhistesse rakendustesse kas SAPI 4 liidese abil (vastavat tarkvara saab alla laadida TTÜ KI Foneetika ja kõnetehnoloogia labori leheküljelt) või SAPI 5 liidese abil eSpeaki eessüsteemina kasutades (vt Formantsüntesaator eSpeaki baasil).

Eesti keele tekst-kõne sünteesi programmid on kasutatavad priivarana mitteärilistel ja mittesõjalistel eesmärkidel.

Kui teil on programmi TKSyntees installeerimise-kasutamisega probleeme või küsimusi sünteesi kohta, siis palun võtke ühendust .

NB! Kuna Mbrola sünteesimootorit pole viimastel aastatel enam edasi arendatud, võib mitmetuumaliste protsessorite korral TKSyntees aknast sünteeskõne kuulamisel esineda kõne "hakkimist" ja kaja.
Selliste nähtuste vältimiseks ja korraliku väljundkõne saamiseks on kaks võimalust:
1. Programmi TKSyntees ühilduvuse muutmine: parem klõps programmil, valida Properties ja siis Compatibility, teha linnuke kastis Run this program in compatibility mode for: ja valida ühilduvusloetelust Windows 95;
2. Sünteesitav kõnelõik tuleks esmalt salvestada faili wav- või mp3-formaadis ja seejärel maha mängida.


Formantsüntesaator (eSpeaki baasil)

Formantsüntesaatori installimiseks tuleb teha alljärgnevad toimingud toodud järjekorras (punktid 0 ja 4 on vajalikud vaid Mbrola häälte kaasamiseks):

0. Juhul, kui te soovite eSpeak süsteemis kuulata ka Mbrola-põhiseid hääli (on ka üks eestikeelne Mbrola-hääl), siis Windows keskkonnas installeerige kõigepealt MBROLA signaalitöötlusprogramm (ver 3.5, maht 1.8 MB). Linuxi ja teiste platvormide vastavad programmid on saadavad Mbrola koduleheküljelt.
1. Laadige alla teie operatsioonisüsteemile vastav eSpeak installeerimisfail.
2. Käivitage vastav installiprogramm (Windowsis setup_espeak.exe).
3. Kohe installi alguses palutakse teil valida installeeritavaid hääli (Select which voices to install)1. Mõelge läbi, millise keele kõnesüntesaatorid teid huvitavad ning kirjutage sünteeshäälte nimed valikuakna ridadele. Konkreetses keeles võib sünteeshääli olla mitu, eSpeak süsteemis on kaks eestikeelset sünteeshäält et ja mb-ee12.
4. mb-ee1 hääle jaoks tuleb lisaks alla laadida difoonide andmebaas ee1 ja salvestada see eSpeaki kataloogi .../eSpeak/espeak-data/mbrola. Teiste keelte difoonide andmebaase saab Mbrola koduleheküljelt

1 Keelte valikuvõimalused on kirjas keelte failis (eestikeelsed sünteeshääled on et ja mb-ee1). eSpeaki kasutamise käigus uusi hääli lisada ei saa, see nõuab uut installi.
2 Windowsis tekib valitud häälte õnnestunud installimise tulemusena juhtpaneeli (Control Panel) kõne omaduste (Speech Properties) tekst-kõne (Text to speech) alajaotusesse uusi eSpeak-hääli (eestikeelsed sünteeshääled eSpeak-ET ja eSpeak-MB-EE1), mida saab vajadusel kasutada SAPI 5 toega rakendusprogrammides.

Üksuste valikul süntesaator (Festival baasil)

Allalaaditav üksuste valikul põhinev Festival sünteeshääl

festvox_eki_et_riina_clunits.tar.gz (100,2MB)