Sünteesimeetodite tutvustus ja allalaadimine

Sisukord

 

Üksuste valikul põhinev süntees (Festival)

KuulaKuula järgnevat teksti

Tegu on korpuspõhise kõnesünteesiga, mis vajab sünteesi akustiliseks baasiks kõnekorpust. 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.

Kasutatakse Festivali 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.

Proovi sünteesidemo aknas üksuste valikul põhinevaid sünteeshääli: eki_et_liisi_clunits, eki_et_riina_clunits ja eki_et_tonu_clunits

Üksuste valikul põhineva sünteeshääle allalaadimine

Unix-tüüpi opsüsteemiga arvutitele nt Linux, FreeBSD, OSX:

  1. Kõigepealt tuleb paigaldada Festival http://www.cstr.ed.ac.uk/projects/festival/
  2. Seejärel tuleb eestikeelne hääl festvox_eki_et_riina_clunits.tar.gz (100,2MB) lahti pakkida Festivali kataloogi (sõltuvalt opsüsteemist ja paigalduse viisist, kas kataloogi festival/lib/voices või kataloogi festival/voices).
  3. Lõpuks käivitage käsurealt Festival. Hääle valimiseks kirjutage terminali:
    festival
    (voice_eki_et_riina_clunits)
    (SayText "Tere, mina olen Riina.")

Üksuste valikul põhineva sünteeshääle allalaadimine Windows arvutitele:

Festivali sünteesisüsteemi kasutamiseks Windowsi platvormil tuleb alla laadida Festival_synt_haaled_WinBib.zip. Tihendatud kataloogis sisalduv programm festival.exe imiteerib Windows platvormil Festival sünteesi keskkonda ja tagab Windowsis üksuste valikul (unit-selection) ja peidetud Markovi mudelitel põhinevate sünteeshäälte käivitamise. Lisaks eestikeelsetele sünteeshäältele eki_et_riina_clunits, eki_et_luukas_hts ja eki_et_tonu_hts, sisaldub kataloogis ka inglise- ja hispaaniakeelseid sünteeshääli.

NB! Festival_synt_haaled_WinBib.zip tuleb lahti pakkida juurkataloogis C:, mille tulemusena tekib kataloog C:\festival\.

HTS-kõnesüntees

KuulaKuula järgnevat teksti

Peidetud Markovi mudelitel HMM põhineval statistilis-parameetrilisel kõnesünteesil treenitakse eelnevalt kõneproduktsiooni mudeleid kõnekorpustel.

HTS-kõnesünteesi skeem

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 reaalajas juhitav, võimalik on muuta kõnetempot, häälekõrgust ja -tämbrit. Kolmandaks on sünteesimootor kompaktne, sest peale treenimisprotsessi ei vaja sünteesimootor enam suuri kõnekorpusi.

Proovi sünteesidemo aknas HTS-sünteeshääli: riina, tõnu, liisi, luukas

Emotsionaalse kõnesünteesi  esimeste katsetuste näiteid HTS-sünteesil.

 

Lähtekoodid

 

HTS-kõnesüntees Windowsile

Praegune versioon (2015 detsember)

Windowsis (töötab Win7, Win8 ja edasiste peal) kastutatav HTS-hääl SAPI 5-le:

hts_v10_32bit.zip või hts_v10_64bit.zip vastavalt paigaldatud opsüsteemile.

Varasem versioon

Windowsis (töötab Win7, Win8 ja Vista peal) kastutatav HTS-hääl SAPI 5-le:

1. Pärast faili install_eki_sapi5_13111815.exe paigaldamist tuleb juhtpaneelis (Control panel) otsida üles „kõnesünteesi sätete muutmine“ (Change text to speech settings).

2. Avanenud aknas tuleb pealkirja alt „Voice selection“ muuta vaikimisi ingliskeelne hääl eestikeelseks, valides EKI Tõnu- Eesti. Sünteeshäält saab katsetada samas aknas, tippides või kopeerides oma teksti ingliskeelse näitelause asemele. NB! Varuge kannatust, esimese teksti sünteesimine võtab veidi kauem aega. Kõige mugavam on Sapi5 sünteeshääli kuulata-katsetada Microsofti standardrakenduse TTSApp.exe-ga.

 

NB! Kui paigaldamisel tekib tõrkeid, siis võib põhjuseks olla mõne vajaliku komponendi puudumine. Lae alla :

1. Microsoft .NET Framework 4 http://www.microsoft.com/en-us/download/details.aspx?id=17718
ja
2. Microsoft Visual C++ 2010 SP1 Redistributable Package, vastavalt operatsioonisüsteemile (win 7 64bit) http://www.microsoft.com/en-us/download/details.aspx?id=13523
või
(win 7 32bit) http://www.microsoft.com/en-us/download/details.aspx?id=8328

Sünteeshääle paigaldamine on vajalik ekraanilugeja või muude rakenduste tööks.

Windowsi platvormil on teiste HTS-sünteeshäälte kasutamine võimalik veel Festival.exe WindowsBinary käsurea programmi abil, mis imiteerib Windowsi platvormil Festival sünteesi keskkonda ja tagab peidetud Markovi mudelitel põhinevate sünteeshäälte käivitamise. Tuleb alla laadida Festival_synt_haaled_WinBin.zip ja lahti pakkida see juurkataloogis C:.

 

Festival-põhine HTS

Festival-põhine HTS kõnesüntesaator Unix-tüüpi opsüsteemiga arvutitele nt Linux, FreeBSD, OSX:

  1. Kõigepealt tuleb paigaldada Festival http://www.cstr.ed.ac.uk/projects/festival/
  2. Seejärel tuleb eestikeelne hääl eki_et_tonu_hts.tar.gz (2,3MB) lahti pakkida Festivali kataloogi (sõltuvalt opsüsteemist ja paigalduse viisist, kas kataloogi festival/lib/voices/hts või kataloogi festival/voices/hts).
  3. Lõpuks käivitage käsurealt Festival. Hääle valimiseks kirjutage terminali:

festival

(voice_eki_et_tonu_hts)

(SayText "Tere, mina olen Tõnu.")

 

Iseseisev Eva sünteeshäälega HTS kõnesüntesaator (32bit) Linuxile. Lae alla: hts_engine_et.tar.gz

 

Formantsüntees (eSpeak)

KuulaKuula järgnevat teksti

Formantsüntees erineb siinsetest teistest sünteesiliikidest selle poolest, et ei vaja sünteesimiseks kõnekorpust. 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 üle 40 keele sünteeshääle, tekitab väljundina wav-faili, olemas 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)

Proovi sünteesidemo aknas formantsünteesil saadud häält espeak.

Formantsüntesaatori allalaadimine

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

  1. 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
  2. Laadige alla teie operatsioonisüsteemile vastav eSpeak installeerimisfail.
  3. Käivitage vastav installiprogramm (Windowsis setup_espeak.exe).
  4. Kohe installi alguses palutakse teil valida installeeritavaid hääli (Select which voices to install). Keelte valikuvõimalused on kirjas keelte failis. eSpeaki kasutamise käigus uusi hääli lisada ei saa, see nõuab uut installi. 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-ee1).
  5. 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.
  6. 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.

 

Difoonsüntees (Mbrola)

KuulaKuula järgnevat teksti

Aastatuhande vahetusel (1997−2002) töötati välja Eesti Keele Instituudi, Küberneetika Instituudi ja OÜ Filosoft ühisprojektina esimene kompilatiivne eesti keele tekst-kõne süntesaator, mis kasutas kõneüksustena difoone. Difoonid on kahest järjestikusest häälikust koosnevad segmendid (vokaal-konsonant, vokaal-vokaal, konsonant-vokaal, vokaal-paus jne). Difoonide kõnelainete ja prosoodilise informatsiooni põhjal moodustatakse väljundkõnesignaal.

Joonisel on toodud eestikeelse kompilatiiv- e ahelsünteesi plokkskeem. Süsteem sisaldab teksti lingvistilist töötlust, prosoodia generaatorit ning kõneüksuste ja kõneprosoodia andmebaase.

 

Difoonsüntesaatori allalaadimine

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 allalaadimise 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, programmide kohalik koopia järgmises lõigus) 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 See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab su veebilehitsejas olema JavaSkript sisse lülitatud..

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.

Linuxi jpt mitte-Windowsi operatsioonisüsteemide puhul võib kaaluda eSpeaki täiendamist Mbrola difoonsünteesiga, proovige sünteesidemo aknas võrrelda hääli espeak ja mbrola (espeak'i kaudu).

 

SAPI 4 tarkvara (koopia)



Nagu ikka vaba tarkvara puhul: "EKI ja TTÜ Küberneetika Instituut ei vastuta selle tarkvara sobivuse eest teie arvutiga või töö eesmärkidega ega mistahes selle tarkvara kasutamisest tuleneda võivate materiaalsete ja mittemateriaalsete kahjude eest. Tarkvara endale laadimisel nõustutakse automaatselt antud tingimustega."

kõnesünteesiks vajalik tarkvara :
  1. MBROLA süntesaator vajalik sünteesiks (ver: 3.11, suurus: 2.29 MB)
  2. Eestikeelsete difoonide andmebaas ja ekraanilugeja (ver: 2.0, suurus: 9.6 MB)


Kuidas toimib süntees?
Kirjakeelsetest sõnadest sünteesivad loe-rakendusega kaasaskäivad moodulid märgend-keelse juhendi. MROLA programm koostab märgend-keelsest tekstist ja eestikeelsest difoonide andmebaasist sünteeskõne mida on võimalik esitada.

Loe rakendust paigaldav programm tekitab töölauale viite "loe". Seda viidet kasutades on võimalik käivitada sünteesitarkvara.

Microsoft SAPI liidesega süntees:
  1. MBROLA süntesaator vajalik sünteesiks (ver: 3.11, suurus: 2.29 MB)
  2. MS SAPI4 tööfailid. vajalik SAPI ühilduvuseks( 847 KB)
  3. Eestikeelse SAPI liides. ( 9.8MB )
  4. Kõnesüntesaatori testprogramm ( 207 KB )
  5. Jaws 4.5 Eestikeelse toe seadistaja ( 250 KB )
  6. Jaws 4.5 Demo versioon ( 28 MB )


teated:
-- väga suur osa käsitsi seadistamisest on viidud loe rakenduse paigaldamise programmi (viimane uuendus 08.10.2002).

-- Probleemide tekkimisel või küsimustega palume See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab su veebilehitsejas olema JavaSkript sisse lülitatud..

Eestikeelse kõnesünteesi moodulid ja nende võrdlus

MoodulidKompaktsusSegmentaalne kvaliteetKõne ladususTekstitöötlusSünteesijuhtimise taseKõne variatiivsus
UnitSelection-et (Üksuste valikul põhinev süntees) madal kõrge mõõdukas kõrge madal kõrge
HTS-et (HTS-süntees) mõõdukas mõõdukas kõrge kõrge kõrge mõõdukas
eSpeak-et (formantsüntees) kõrge madal mõõdukas madal kõrge madal
Mbrola-et (difoonsüntees) mõõdukas mõõdukas mõõdukas kõrge mõõdukas mõõdukas

 

Kuidas töötavad teksti ettelugemise nupud

KuulaSee veebileht on tüüpiline näide sisuhaldussüsteemi kasutamisest. KuulaPraegusel juhul on aluseks Joomla, aga sobida võiks iga SHS, käsitsi tehtud veebilehest rääkimata. Kasutatud JQuery ja php on enamlevinud, aga kood on hõlpsasti porditav, kui kasutate muud javascripti teeki või CGI programmeerimiskeelt.

Tekstis lõikude alguses olevad kuulamisikoonidele on lisatud paar data-atribuuti - meetod, hääl ja tekstitunnus - näiteks <img alt="Kuula" src="/heli/..." data-meetod="mbrola" data-haal="riina" data-kuula="mbrola_tutvustus"/> ja edasises tekstis on kuulatavad lõigud märgendatud sama tekstitunnusega: <p data-kuula="mbrola_tutvustus">Aastatuhande vahetusel ...

Hiireklõpsule reageerib lehe päisesse lisatud javascripti jupp lugeja.js, mis kogub kokku kõik selle tekstitunnusega lõigud, arvutab sobiliku häälenumbri ja annab need kaks edasi funktsioonile tee_audio. Sealt edasi kutsutakse välja kohalikus serveris asuv syntproxy.php, see omakorda pöördub EKI kõnesünteesi teenuse poole ja salvestab tulemuse. Lugeja.js vormistab lõpptulemuse, näidates WAV ja MP3 linke ning lisab lehele ise mängimist alustava JQuery pleieri. Samal põhimõttel töötab ka parempoolne menüükast, kus nii tekst kui valitud hääl juba eelnevalt teada on.

Kõnelev veebileht - see on imelihtne. Lisage serverisse syntproxy.php, lehe päisesse lugeja.js ja lehele paar lisaatribuuti ning nupp lugemise alustamiseks. Soovi korral võib javascripti häälestada ette lugema kogu lehe teksti kohe selle avamisel. Ka syntproxy.php pole tingimata vajalik, kuid väldib domeenidevaheliste päringutega kaasnevat peavalu, lisab kiiruse huvides puhverdamise ning võimaluse kasutada kõnesünteesi https-lehel ilma brauseripoolsete hoiatusteta.

Uuendus /veebruar 2016/: Keda ei huvita varasemad sünteesimootorid, saab vastuse kiirelt päringuga http://heliraamat.eki.ee/syntees/koduleht.php?haal=15&tekst=Näitetekst. Vastuseks saate jsoni helifaili(de) lingiga. Naishääleks kasutage haal=14

Küsimuste korral saatke meil webmaster eki.ee aadressile.