CINXE.COM
Kõnesüntees
<!DOCTYPE html> <html lang="et-ee" dir="ltr"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta charset="utf-8" /> <base href="https://arhiiv.eki.ee/heli/index.php/k%c3%b5nes%c3%bcntees" /> <meta name="author" content="Super User" /> <meta name="description" content="Eestikeelne kõnesüntees Eesti keele instituudis" /> <meta name="generator" content="Joomla! - Open Source Content Management" /> <title>Kõnesüntees</title> <link href="/heli/templates/protostar/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" /> <link href="/heli/templates/protostar/css/template.css?2d52d6dd302d3ee1054b8269f3543abb" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" /> <link href="/heli/kiisu/lugeja.css" rel="stylesheet" /> <style> h1, h2, h3, h4, h5, h6, .site-title { font-family: 'Open Sans', sans-serif; } body.site { border-top: 3px solid #0088cc; background-color: #f4f6f7; } a { color: #0088cc; } .nav-list > .active > a, .nav-list > .active > a:hover, .dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover, .nav-pills > .active > a, .nav-pills > .active > a:hover, .btn-primary { background: #0088cc; } </style> <script type="application/json" class="joomla-script-options new">{"csrf.token":"4f64a20c2e32f2c7160b1c414a2acd8c","system.paths":{"root":"\/heli","base":"\/heli"},"system.keepalive":{"interval":3600000,"uri":"\/heli\/index.php\/component\/ajax\/?format=json"}}</script> <script src="/heli/media/jui/js/jquery.min.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script src="/heli/media/jui/js/jquery-noconflict.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script src="/heli/media/jui/js/jquery-migrate.min.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script src="/heli/media/jui/js/bootstrap.min.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script src="/heli/media/system/js/caption.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script src="/heli/templates/protostar/js/template.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <!--[if lt IE 9]><script src="/heli/media/jui/js/html5.js?2d52d6dd302d3ee1054b8269f3543abb"></script><![endif]--> <script src="/heli/kiisu/lugeja.v2.js"></script> <script src="/heli/media/system/js/core.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <!--[if lt IE 9]><script src="/heli/media/system/js/polyfill.event.js?2d52d6dd302d3ee1054b8269f3543abb"></script><![endif]--> <script src="/heli/media/system/js/keepalive.js?2d52d6dd302d3ee1054b8269f3543abb"></script> <script> jQuery(function($){ initTooltips(); $("body").on("subform-row-add", initTooltips); function initTooltips (event, container) { container = container || document;$(container).find(".hasTooltip").tooltip({"html": true,"container": "body"});} }); jQuery(window).on('load', function() { new JCaption('img.caption'); }); </script> </head> <body class="site com_content view-article no-layout no-task itemid-465 fluid"> <!-- Body --> <div class="body" id="top"> <div class="container-fluid"> <!-- Header --> <header class="header" role="banner"> <div class="header-inner clearfix"> <a class="brand pull-left" href="/heli/"> <img src="https://arhiiv.eki.ee/heli/images/banners/komalogo.png" alt="heli.eki.ee" /> </a> <div class="header-search pull-right"> </div> </div> </header> <nav class="navigation" role="navigation"> <div class="navbar pull-left"> <a class="btn btn-navbar collapsed" data-toggle="collapse" data-target=".nav-collapse"> <span class="element-invisible">Näita/Peida menüüd</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> </div> <div class="nav-collapse"> <table cellspacing="1" cellpadding="0" width="100%"> <tr> <td> <table cellpadding="0" cellspacing="0" class="moduletable_menu"> <tr> <td> <ul class="nav menu nav-pills mod-list"> <li class="item-435 default"><a href="/heli/index.php" >Avaleht</a></li><li class="item-465 current active"><a href="/heli/index.php/kõnesüntees" >Kõnesüntees</a></li><li class="item-494"><a href="/heli/index.php/emotsionaalne" >Emotsionaalne süntees</a></li><li class="item-572"><a href="/heli/index.php/veebiapi" >VeebiAPI</a></li><li class="item-466"><a href="/heli/index.php/rakendused" >Rakendused</a></li><li class="item-467"><a href="/heli/index.php/korpused" >Korpused</a></li><li class="item-468"><a href="/heli/index.php/projektid" >Projektid</a></li><li class="item-469"><a href="/heli/index.php/inimesed" >Partnerid ja toetajad</a></li></ul> </td> </tr> </table> </td> </tr> </table> </div> </nav> <div class="row-fluid"> <main id="content" role="main" class="span9"> <!-- Begin Content --> <div id="system-message-container"> </div> <div class="item-page" itemscope itemtype="https://schema.org/Article"> <meta itemprop="inLanguage" content="et-EE" /> <div class="page-header"> <h2 itemprop="headline"> Kõnesüntees </h2> </div> <div class="icons"> <div class="btn-group pull-right"> <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton-6" aria-label="Kasutaja tööriistad" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="icon-cog" aria-hidden="true"></span> <span class="caret" aria-hidden="true"></span> </button> <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton-6"> <li class="print-icon"> <a href="/heli/index.php/kõnesüntees?tmpl=component&print=1" title="Prindi artikkel < Kõnesüntees >" onclick="window.open(this.href,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'); return false;" rel="nofollow"> <span class="icon-print" aria-hidden="true"></span> Prindi </a> </li> <li class="email-icon"> <a href="/heli/index.php/component/mailto/?tmpl=component&template=protostar&link=bfd48ba299428d97b2d593865d539cbdd2dd9287" title="Saada see link sõbrale" onclick="window.open(this.href,'win2','width=400,height=450,menubar=yes,resizable=yes'); return false;" rel="nofollow"> <span class="icon-envelope" aria-hidden="true"></span> Admini e-post </a> </li> </ul> </div> </div> <div itemprop="articleBody"> <h2><span style="color: #6699cc;">Sünteesimeetodite tutvustus ja allalaadimine</span></h2> <h3>Sisukord</h3> <p> </p> <ul> <li><a href="#HTS">HTS süntees</a></li> <li><a href="#yksustevalik">Üksuste valikul põhinev süntees</a> (Festival)</li> <li><a href="#formantsyntees">Formantsüntees</a> (eSpeak)</li> <li><a href="#difoonsyntees">Difoonsüntees</a> (Mbrola)</li> <li><a href="#sapi4">Sapi 4 tarkvara</a></li> <li><a href="#vordlus">Sünteesimeetodite võrdlus</a></li> <li><a href="#kuidas">Kuidas see leht rääkida oskab?</a></li> </ul> <h3> </h3> <h2 id="HTS">HTS-kõnesüntees</h2> <p><img src="/heli/images/koduleht/kuula.png" alt="Kuula" data-kuula="hts_tutvustus" data-haal="tõnu" data-meetod="hts" />Kuula järgnevat teksti</p> <p data-kuula="hts_tutvustus">Peidetud Markovi mudelitel HMM põhineval statistilis-parameetrilisel kõnesünteesil treenitakse eelnevalt kõneproduktsiooni mudeleid kõnekorpustel.</p> <h5>HTS-kõnesünteesi skeem</h5> <p><img src="/heli/images/koduleht/konesyntees01.png" alt="" /></p> <p data-kuula="hts_tutvustus">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.</p> <p>Proovi sünteesidemo aknas HTS-sünteeshääli: riina, tõnu, liisi, <a href="#Koodid">luukas</a></p> <p>Emotsionaalse kõnesünteesi <a href="/heli/index.php/2-uncategorised/7-emotsionaalse-kõnesünteesi-esimeste-katsetuste-näiteid"> esimeste katsetuste näiteid</a> HTS-sünteesil.</p> <p> </p> <h3><a id="Koodid"></a>Lähtekoodid</h3> <ul> <li><a href="https://github.com/ikiissel/synthts_et">Eesti keele HTS-kõnesüntesaator</a> </li> <li><a href="https://github.com/ikiissel/synthts_vr">Võru murde HTS-kõnesüntesaator</a></li> </ul> <p> </p> <h3><a id="SAPI5"></a>HTS-kõnesüntees Windowsile</h3> <p> <span style="font-size: 10pt;"><span style="font-size: 12pt;">Praegune versioon (2021 november, sertifikaat 2023)</span><br /></span></p> <p style="line-height: normal;"><span style="font-size: 10pt;">Windowsis kastutatavad HTS-sünteeshääled (meeshääl Tõnu, naishääl Eva, tüdrukuhääl Lee ja poisihääle Luukas) SAPI 5-le:</span></p> <p style="line-height: normal;">64-bitine variant <a href="/heli/images/koduleht/setup_x64.msi">setup_x64.msi</a> või 32-bitine variant <a href="/heli/images/koduleht/setup_x86.msi">setup_x86.msi </a>vastavalt paigaldatud opsüsteemile.</p> <p> </p> <h4><strike>NB! Eestikeelse kõnesünteesi liides (Sapi5) on vabavara ja tal puudub veel tarkvara sertifikaat, mistõttu opsüsteem võib Teid allalaadimisel ja käivitamisel hoiatada, et tegu on tundmatu rakendusega.</strike></h4> <p>Sel juhul tuleks valida "Lisateave" ja "Käivita siiski" või muud sarnast (olenevalt opsüsteemist).</p> <p><img src="/heli/images/koduleht/Turvalisuse_erand.png" alt="Turvalisuse erand" width="263" height="101" /></p> <p>Installitud häälte Eva, Tõnu, Luukas ja Lee vahel saab valida ja kuulata neid süsteemi sätetest, kui arvuti otsinguaknasse kirjutada (olenemata Windowsi keelest) "Speech Recognition" (mitte Windows Speech Recognition) ja valida seal "Text to Speech".</p> <p><img src="/heli/images/koduleht/Speech_Recognitoin_sätted.png" alt="Speech Recognitoin sätted" width="409" height="100" /></p> <p>Allalaaditud häält on võimalik kasutada erinevates arvutiprogrammides (nt tekstidokumentide või tabelite ettelugemisel kontoritarkvaras) või kõikvõimalike veebilehtede ettelugemiseks.</p> <h3><span style="text-decoration: underline; font-size: 12pt; color: #3074d9;"><span style="color: #448cf8;"><a href="/heli/images/koduleht/Windowsi_juhend.pdf" style="color: #3074d9; text-decoration: underline;">Juhised allalaaditud häälte kasutamiseks Windowsis</a></span></span></h3> <p> </p> <h3 id="HTS">HTS-hääled Mac-i OSX platvormile</h3> <p>Valminud on kõnesünteesiliides Mac-i OSX platvormile. Selle abil on võimalik eestikeelseid tehishääli kasutada kõigis Mac-i häälrakendustes. Kasutajal on võimalik valida meeshääle Tõnu ja naishääle Eva vahel ning lasta neil ette lugeda tekstifaile või veebilehti otse oma arvutist.</p> <p>Hääli Eva ja Tõnu OSX-operatsioonisüsteemile <a href="/heli/images/koduleht/MacSpeechET.dmg">saab alla laadida siit</a>. Installeerimise <a href="/heli/images/koduleht/Mac OS X juhend.pdf">täpsustused</a>.</p> <p> </p> <h4 style="line-height: normal;">Varasem versioon</h4> <pre style="line-height: normal;"><span style="font-size: 10pt;">Windowsis (töötab Win7, Win8 ja Vista peal) kastutatav HTS-hääl SAPI 5-le:</span></pre> <p style="line-height: normal;"><span style="font-size: 10pt;">1. Pärast faili <a href="/heli/images/koduleht/install_eki_sapi5_13111815.exe">install_eki_sapi5_13111815.exe</a> paigaldamist tuleb juhtpaneelis (Control panel) otsida üles „kõnesünteesi sätete muutmine“ (Change text to speech settings). </span></p> <p style="line-height: normal;"><span style="font-size: 10pt;">2. Avanenud aknas tuleb pealkirja alt „Voice selection“ muuta vaikimisi ingliskeelne hääl eestikeelseks, valides <b>EKI Tõnu- Eesti</b>. 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 <a href="/heli/images/koduleht/TTSApp.exe">TTSApp.exe-ga</a>. <br /></span></p> <p style="line-height: normal;"> </p> <p style="line-height: normal;"><strong><span style="font-size: 10pt;"><span style="font-size: 10pt;">NB! Kui paigaldamisel tekib tõrkeid, siis võib põhjuseks olla mõne vajaliku komponendi puudumine. Lae alla :</span></span></strong></p> <pre>1. Microsoft .NET Framework 4 <a>http://www.microsoft.com/en-us/download/details.aspx?id=17718</a><br />ja<br />2. Microsoft Visual C++ 2010 SP1 Redistributable Package, vastavalt operatsioonisüsteemile (win 7 64bit) <a href="http://www.microsoft.com/en-us/download/details.aspx?id=13523">http://www.microsoft.com/en-us/download/details.aspx?id=13523</a> <br />või<br />(win 7 32bit) <a href="http://www.microsoft.com/en-us/download/details.aspx?id=8328">http://www.microsoft.com/en-us/download/details.aspx?id=8328 </a> </pre> <p><span style="font-size: 10pt;">Sünteeshääle paigaldamine on vajalik ekraanilugeja või muude rakenduste tööks.</span></p> <p>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 <a href="/heli/images/koduleht/Festival_synt_haaled_WinBin.zip">Festival_synt_haaled_WinBin.zip</a> ja lahti pakkida see juurkataloogis C:.</p> <p> </p> <h3>Festivali-põhine HTS</h3> <p><a href="#Koodid" target="_self" id="LINUX"> </a>Festivali-põhine HTS kõnesüntesaator Unix-tüüpi opsüsteemiga arvutitele nt Linux, FreeBSD, OSX:</p> <ol> <li>Kõigepealt tuleb paigaldada Festival <a href="http://www.cstr.ed.ac.uk/projects/festival/">http://www.cstr.ed.ac.uk/projects/festival/</a></li> <li>Seejärel tuleb eestikeelne hääl <a href="/heli/images/koduleht/eki_et_tonu_hts.tar.gz">eki_et_tonu_hts.tar.gz</a> (2,3MB) lahti pakkida Festivali kataloogi (sõltuvalt opsüsteemist ja paigalduse viisist, kas kataloogi <code>festival/lib/voices/hts</code> või kataloogi <code>festival/voices/hts</code>).</li> <li>Lõpuks käivitage käsurealt Festival. Hääle valimiseks kirjutage terminali:</li> </ol> <p><code> festival </code></p> <p><code>(voice_eki_et_tonu_hts) </code></p> <p><code>(SayText "Tere, mina olen Tõnu.") </code></p> <p> </p> <p>Iseseisev Eva sünteeshäälega HTS kõnesüntesaator (32bit) Linuxile. Lae alla: <a href="/heli/images/koduleht/hts_engine_et.tar.gz">hts_engine_et.tar.gz</a></p> <h3> </h3> <h2 id="yksustevalik">Üksuste valikul põhinev süntees (Festival)</h2> <p><img src="/heli/images/koduleht/kuula.png" alt="Kuula" data-kuula="clunits_tutvustus" data-haal="riina" data-meetod="clunits" />Kuula järgnevat teksti</p> <p data-kuula="clunits_tutvustus">Tegu on korpuspõhise kõnesünteesiga, mis vajab sünteesi akustiliseks baasiks kõnekorpust. Sünteesi eelduseks on:</p> <ul data-kuula="clunits_tutvustus"> <li>foneetiliselt rikas tekstikorpus;</li> <li>kõnekorpuse salvestamine keelejuhtide esituses;</li> <li>häälikusüsteemi fikseerimine ja tunnuste valik;</li> <li>kõnekorpuse märgendamine ja segmenteerimine.</li> </ul> <p data-kuula="clunits_tutvustus">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.</p> <p>Proovi sünteesidemo aknas üksuste valikul põhinevaid sünteeshääli: eki_et_liisi_clunits, eki_et_riina_clunits ja eki_et_tonu_clunits</p> <h3><a id="LINUX"></a>Üksuste valikul põhineva sünteeshääle allalaadimine</h3> <p><span style="font-size: 12pt;">Unix-tüüpi opsüsteemiga arvutitele nt Linux, FreeBSD, OSX:</span></p> <ol> <li>Kõigepealt tuleb paigaldada Festival <a href="http://www.cstr.ed.ac.uk/projects/festival/">http://www.cstr.ed.ac.uk/projects/festival/</a></li> <li>Seejärel tuleb eestikeelne hääl <a href="/heli/download/festvox_eki_et_riina_clunits.tar.gz">festvox_eki_et_riina_clunits.tar.gz</a> (100,2MB) lahti pakkida Festivali kataloogi (sõltuvalt opsüsteemist ja paigalduse viisist, kas kataloogi <code>festival/lib/voices</code> või kataloogi <code>festival/voices</code>).</li> <li>Lõpuks käivitage käsurealt Festival. Hääle valimiseks kirjutage terminali: <code> <br />festival <br />(voice_eki_et_riina_clunits) <br />(SayText "Tere, mina olen Riina.") </code></li> </ol> <p><a id="WINDOWS"></a><span style="font-size: 12pt;">Üksuste valikul põhineva sünteeshääle allalaadimine Windows arvutitele:</span></p> <p><span style="color: black; line-height: 115%; font-family: Calibri, sans-serif; font-size: 11pt;">Festivali sünteesisüsteemi kasutamiseks Windowsi platvormil tuleb alla laadida <a href="/heli/images/koduleht/Festival_synt_haaled_WinBin.zip">Festival_synt_haaled_WinBib.zip</a>. Tihendatud kataloogis sisalduv programm <span style="color: black; line-height: 115%; font-family: Calibri, sans-serif; font-size: 11pt;">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.</span></span></p> <p><span style="color: black; line-height: 115%; font-family: Calibri, sans-serif; font-size: 11pt;">NB! Festival_synt_haaled_WinBib.zip tuleb lahti pakkida juurkataloogis C:, mille tulemusena tekib kataloog C:\festival\.</span></p> <p><span style="color: black; line-height: 115%; font-family: Calibri, sans-serif; font-size: 11pt;"></span></p> <h2 id="formantsyntees">Formantsüntees (eSpeak)</h2> <p><img src="/heli/images/koduleht/kuula.png" alt="Kuula" data-kuula="espeak_tutvustus" data-haal="riina" data-meetod="espeak" />Kuula järgnevat teksti</p> <p data-kuula="espeak_tutvustus">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.</p> <p data-kuula="espeak_tutvustus">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.</p> <p data-kuula="espeak_tutvustus">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.</p> <p>Eestikeelne formantsüntees on eSpeak süsteemis kasutatav:</p> <ul> <li>käsureaprogrammina (Linuxis ja Windowsis) teksti ettelugemiseks failist või standardsisendist (stdin);</li> <li>jagatud teekide versioonina (dll Windowsis);</li> <li>SAPI5 versioonina Windowsis, võimaldades kasutada eestikeelset kõnesünteesi ekraanilugejates ning teistes programmides, millel on SAPI 5 tugi;</li> <li>eSpeak on porditud ka teistesse platvormidesse (Solaris ja Mac OSX)</li> </ul> <p>Proovi sünteesidemo aknas formantsünteesil saadud häält espeak.</p> <h3>Formantsüntesaatori allalaadimine</h3> <p>Formantsüntesaatori installimiseks tuleb teha alljärgnevad toimingud toodud järjekorras (punktid 0 ja 4 on vajalikud vaid Mbrola häälte kaasamiseks):</p> <ol start="0"> <li>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 <a href="/heli/download/MbrolaTools35.exe">MBROLA signaalitöötlusprogramm</a> (ver 3.5, maht 1.8 MB). Linuxi ja teiste platvormide vastavad programmid on saadavad <a href="http://tcts.fpms.ac.be/synthesis/">Mbrola koduleheküljelt</a></li> <li>Laadige alla teie operatsioonisüsteemile vastav <a href="http://espeak.sourceforge.net/download.html">eSpeak installeerimisfail</a>.</li> <li>Käivitage vastav installiprogramm (Windowsis setup_espeak.exe).</li> <li>Kohe installi alguses palutakse teil valida installeeritavaid hääli (<em>Select which voices to install</em>). Keelte valikuvõimalused on kirjas <a href="http://espeak.sourceforge.net/languages.html">keelte failis</a>. 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 <strong>et</strong> ja <strong>mb-ee1</strong>).</li> <li><strong>mb-ee1</strong> hääle jaoks tuleb lisaks alla laadida <a href="/heli/download/ee1">difoonide andmebaas ee1</a> ja salvestada see eSpeaki kataloogi .../eSpeak/espeak-data/mbrola. Teiste keelte difoonide andmebaase saab <a href="http://tcts.fpms.ac.be/synthesis/">Mbrola koduleheküljelt</a>.</li> <li>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.</li> </ol> <h3> </h3> <h2 id="difoonsyntees">Difoonsüntees (Mbrola)</h2> <p><img src="/heli/images/koduleht/kuula.png" alt="Kuula" data-kuula="mbrola_tutvustus" data-haal="riina" data-meetod="mbrola" />Kuula järgnevat teksti</p> <p data-kuula="mbrola_tutvustus">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.</p> <p><img src="/heli/images/koduleht/konesyntees02.png" alt="" /></p> <p>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.</p> <p> </p> <h3>Difoonsüntesaatori allalaadimine</h3> <p>Windowsi keskkonnas tuleb alla laadida ja käivitada kaks moodulit toodud järjekorras:</p> <ol> <li><a href="/heli/download/MbrolaTools35.exe">MBROLA signaalitöötlusprogramm</a>(ver 3.5, maht 1.8 MB)</li> <li>Eestikeelse kõnesünteesi tarkvara koos difoonide andmebaasiga ja <a href="/heli/download/TKS-install.exe">reeglipõhise prosoodiamooduliga</a> (ver 1.0, maht 9.6 MB) või <a href="/heli/download/TKS-install1.exe">statistilise prosoodiamooduliga</a> (ver 2.0, maht 9.6 MB)</li> </ol> <p>Õnnestunud allalaadimise tulemusena tekib töölauale programm TKSyntees.</p> <p>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.</p> <p>Eestikeelne difoonsüntesaator on integreeritav teistesse Windows-põhistesse rakendustesse kas SAPI 4 liidese abil (vastavat tarkvara saab alla laadida <a href="http://www.phon.ioc.ee/synt/siit.html">TTÜ KI Foneetika ja kõnetehnoloogia labori</a> leheküljelt, programmide kohalik koopia järgmises lõigus) või SAPI 5 liidese abil eSpeaki eessüsteemina kasutades (vt Formantsüntesaator eSpeaki baasil).</p> <p data-kuula="mbrola_tutvustus">Eesti keele tekst-kõne sünteesi programmid on kasutatavad priivarana mitteärilistel ja mittesõjalistel eesmärkidel.</p> <p>Kui teil on programmi TKSyntees installeerimise-kasutamisega probleeme või küsimusi sünteesi kohta, siis palun <span id="cloakf087f18974f2ef14cd8320b34339bba3">See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab su veebilehitsejas olema JavaSkript sisse lülitatud.</span><script type='text/javascript'> document.getElementById('cloakf087f18974f2ef14cd8320b34339bba3').innerHTML = ''; var prefix = 'ma' + 'il' + 'to'; var path = 'hr' + 'ef' + '='; var addyf087f18974f2ef14cd8320b34339bba3 = 'meelis' + '@'; addyf087f18974f2ef14cd8320b34339bba3 = addyf087f18974f2ef14cd8320b34339bba3 + 'eki' + '.' + 'ee'; var addy_textf087f18974f2ef14cd8320b34339bba3 = 'võtke ühendust';document.getElementById('cloakf087f18974f2ef14cd8320b34339bba3').innerHTML += '<a ' + path + '\'' + prefix + ':' + addyf087f18974f2ef14cd8320b34339bba3 + '\'>'+addy_textf087f18974f2ef14cd8320b34339bba3+'<\/a>'; </script>.</p> <p><strong>NB!</strong> 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.<br />Selliste nähtuste vältimiseks ja korraliku väljundkõne saamiseks on kaks võimalust: <br />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;<br />2. Sünteesitav kõnelõik tuleks esmalt salvestada faili wav- või mp3-formaadis ja seejärel maha mängida.</p> <p>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).</p> <p> </p> <h2><span id="sapi4">SAPI 4 tarkvara (koopia)</span></h2> <h5><br /><br /> 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." <br /><br /></h5> <blockquote>kõnesünteesiks vajalik tarkvara :<ol> <li><a href="/heli/kiisu/kybi/mbrolatools311.exe">MBROLA süntesaator</a> vajalik sünteesiks (ver: 3.11, suurus: 2.29 MB)</li> <li><a href="/heli/kiisu/kybi/loe-rakendus-2.0.exe">Eestikeelsete difoonide andmebaas ja ekraanilugeja</a> (ver: 2.0, suurus: 9.6 MB)</li> </ol><br /><br /> Kuidas toimib süntees? <blockquote>Kirjakeelsetest sõnadest sünteesivad <i>loe-rakendusega</i> 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. <br /><br /> <i>Loe rakendust</i> paigaldav programm tekitab töölauale viite "loe". Seda viidet kasutades on võimalik käivitada sünteesitarkvara.</blockquote> <br /> Microsoft SAPI liidesega süntees: <blockquote><ol> <li><a href="/heli/kiisu/kybi/mbrolatools311.exe">MBROLA süntesaator</a> vajalik sünteesiks (ver: 3.11, suurus: 2.29 MB)</li> <li><a href="/heli/kiisu/kybi/spchapi.exe"> MS SAPI4 tööfailid.</a> vajalik SAPI ühilduvuseks( 847 KB)</li> <li><a href="/heli/kiisu/kybi/setup.exe"> Eestikeelse SAPI liides.</a> ( 9.8MB )</li> <li><a href="/heli/kiisu/kybi/uttstest.exe"> Kõnesüntesaatori testprogramm</a> ( 207 KB )</li> <li><a href="/heli/kiisu/kybi/jawsest.exe">Jaws 4.5 Eestikeelse toe seadistaja</a> ( 250 KB )</li> <li><a href="/heli/kiisu/kybi/j450138.exe">Jaws 4.5 Demo versioon</a> ( 28 MB )</li> </ol></blockquote> <br /><br /></blockquote> <h5>teated:</h5> <blockquote>-- väga suur osa käsitsi seadistamisest on viidud loe rakenduse paigaldamise programmi (viimane uuendus 08.10.2002). <br /><br /> -- Probleemide tekkimisel või küsimustega palume <span id="cloak53cf5608b10b4650be5c5365c1825d0f">See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab su veebilehitsejas olema JavaSkript sisse lülitatud.</span><script type='text/javascript'> document.getElementById('cloak53cf5608b10b4650be5c5365c1825d0f').innerHTML = ''; var prefix = 'ma' + 'il' + 'to'; var path = 'hr' + 'ef' + '='; var addy53cf5608b10b4650be5c5365c1825d0f = 'phonlab' + '@'; addy53cf5608b10b4650be5c5365c1825d0f = addy53cf5608b10b4650be5c5365c1825d0f + 'ioc' + '.' + 'ee'; var addy_text53cf5608b10b4650be5c5365c1825d0f = 'võtta ühendust';document.getElementById('cloak53cf5608b10b4650be5c5365c1825d0f').innerHTML += '<a ' + path + '\'' + prefix + ':' + addy53cf5608b10b4650be5c5365c1825d0f + '\'>'+addy_text53cf5608b10b4650be5c5365c1825d0f+'<\/a>'; </script>.</blockquote> <h2 id="vordlus">Eestikeelse kõnesünteesi moodulid ja nende võrdlus</h2> <table style="border: 1px currentColor; text-align: center; cellpadding: 4px; cellspacing: 4px;"><colgroup><col /> <col /> <col /> <col /> <col /> <col /> <col /> </colgroup> <tbody> <tr class="row-odd"><th>Moodulid</th><th>Kompaktsus</th><th>Segmentaalne kvaliteet</th><th>Kõne ladusus</th><th>Tekstitöötlus</th><th>Sünteesijuhtimise tase</th><th>Kõne variatiivsus</th></tr> <tr class="row-even"> <td>UnitSelection-et (Üksuste valikul põhinev süntees)</td> <td>madal</td> <td>kõrge</td> <td>mõõdukas</td> <td>kõrge</td> <td>madal</td> <td>kõrge</td> </tr> <tr class="row-odd"> <td>HTS-et (HTS-süntees)</td> <td>mõõdukas</td> <td>mõõdukas</td> <td>kõrge</td> <td>kõrge</td> <td>kõrge</td> <td>mõõdukas</td> </tr> <tr class="row-even"> <td>eSpeak-et (formantsüntees)</td> <td>kõrge</td> <td>madal</td> <td>mõõdukas</td> <td>madal</td> <td>kõrge</td> <td>madal</td> </tr> <tr class="row-odd"> <td>Mbrola-et (difoonsüntees)</td> <td>mõõdukas</td> <td>mõõdukas</td> <td>mõõdukas</td> <td>kõrge</td> <td>mõõdukas</td> <td>mõõdukas</td> </tr> </tbody> </table> <h3> </h3> <h2 id="kuidas">Kuidas töötavad teksti ettelugemise nupud</h2> <p><img src="/heli/images/koduleht/kuula.png" alt="Kuula" style="height: 20px;" data-kuula="kuidas_teha1" data-haal="eva" data-meetod="hts2" /><span data-kuula="kuidas_teha1">See veebileht on tüüpiline näide sisuhaldussüsteemi kasutamisest.</span> <img src="/heli/images/koduleht/kuula.png" alt="Kuula" style="height: 20px;" data-kuula="kuidas_teha2" data-haal="tõnu" data-meetod="hts2" /><span data-kuula="kuidas_teha2">Praegusel juhul on aluseks Joomla, aga sobida võiks iga SHS, käsitsi tehtud veebilehest rääkimata.</span> Kasutatud JQuery ja php on enamlevinud, aga kood on hõlpsasti porditav, kui kasutate muud javascripti teeki või CGI programmeerimiskeelt.</p> <p>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 ...</p> <p>Hiireklõpsule reageerib lehe päisesse lisatud javascripti jupp <a href="/heli/kiisu/lugeja.js">lugeja.js</a>, 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 <a href="/heli/kiisu/syntproxy.txt">syntproxy.php</a>, 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.</p> <p>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.</p> <p>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</p> <p>Küsimuste korral saatke meil webmaster eki.ee aadressile.</p> <p><br /><br /><br /></p> </div> <dl class="article-info muted"> <dt class="article-info-term"> Üksikasjad </dt> <dd class="category-name"> Kategooria: <a href="/heli/index.php/kõnesüntees/2-uncategorised" itemprop="genre">Uncategorised</a> </dd> <dd class="modified"> <span class="icon-calendar" aria-hidden="true"></span> <time datetime="2023-06-14T18:33:58+03:00" itemprop="dateModified"> Viimati uuendatud: 14 Juuni 2023 </time> </dd> </dl> <ul class="pager pagenav"> <li class="previous"> <a class="hasTooltip" title="Emotsioonide modelleerimine" aria-label="Eelmine artikkel: Emotsioonide modelleerimine" href="/heli/index.php/emotsionaalne" rel="prev"> <span class="icon-chevron-left" aria-hidden="true"></span> <span aria-hidden="true">Eelmine</span> </a> </li> <li class="next"> <a class="hasTooltip" title="Rakendused" aria-label="Järgmine artikkel: Rakendused" href="/heli/index.php/rakendused" rel="next"> <span aria-hidden="true">Järgmine</span> <span class="icon-chevron-right" aria-hidden="true"></span> </a> </li> </ul> </div> <div class="clearfix"></div> <div aria-label="Breadcrumbs" role="navigation"> <ul itemscope itemtype="https://schema.org/BreadcrumbList" class="breadcrumb"> <li> Sa oled siin:   </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/heli/index.php" class="pathway"><span itemprop="name">Home</span></a> <span class="divider"> <img src="/heli/media/system/images/arrow.png" alt="" /> </span> <meta itemprop="position" content="1"> </li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active"> <span itemprop="name"> Kõnesüntees </span> <meta itemprop="position" content="2"> </li> </ul> </div> <!-- End Content --> </main> <div id="aside" class="span3"> <!-- Begin Right Sidebar --> <div class="well "><!-- BEGIN: Custom advanced (www.pluginaria.com) --><form id="kuulavorm" action="http://heli.eki.ee/syntees/index.php" method="post"> <div style="background-color: #daeaf4;"> <div style="padding: 20px 10% 10px 10%; text-align: left;"><textarea id="kuulatekst" style="; width: 90%; margin: 10px; height: 120px;" name="speech" wrap="VIRTUAL">Tere tulemast!</textarea></div> <div style="padding: 8px; padding-left: 10%; text-align: left;"> <!-- <p><strong>Üksuste valik:</strong><br /> <input type="radio" value="1" name="v" /> liisi <input type="radio" value="2" name="v" /> riina <input type="radio" value="3" name="v" /> tõnu <br /> <input type="radio" value="12" name="v" /> eva <input type="radio" value="4" name="v" /> liisi_cg</p> <p><strong>Festival HTS:</strong><br /> <input type="radio" value="5" name="v" /> riina <input type="radio" checked="checked" value="6" name="v" /> tõnu <input type="radio" value="7" name="v" /> liisi <br /> <input type="radio" value="11" name="v" /> eva <br /> <input type="radio" value="8" name="v" /> luukas (lapsehääl)<br /> <input type="radio" value="9" name="v" /> einar (adaptiivne)</p> --> <p><strong>foneemHMM</strong> (HTS):<br /> <input type="radio" value="50" name="v" /> Eva <input type="radio" value="51" name="v" /> Tõnu <input type="radio" value="52" name="v" /> Liisi <input type="radio" value="53" name="v" /> Riina<br> <input type="radio" value="54" name="v" /> Meelis <input type="radio" value="55" name="v" /> Kihnu <input type="radio" value="56" name="v" /> Lee (lapsehääl)<br> <input type="radio" value="57" name="v" /> Liivika <input type="radio" value="58" name="v" /> Peeter <input type="radio" value="59" name="v" /> Tambet<br> <p>(kvaliteedi arvelt väiksem ja kiirem):<br /> <input type="radio" value="60" name="v" /> Tõnu_12K<br> <input type="radio" value="61" name="v" /> Tõnu_16K<br> <input type="radio" value="62" name="v" /> MeelisL60-280 </p> <p>(HTS eelmine versioon):<br /> <table width="100%" style="background-color: #bbffff; margin-bottom: 2px"><tr><td> <input type="radio" value="14" name="v" /> Eva <br> <input type="radio" checked="checked" value="15" name="v" /> Tõnu </td><td style="text-align: right"> <select name="e" id="e" style="width: 94px"><option value="0" selected>neutraalne</option><option value="1">rõõmus</option><option value="2">kurb</option><option value="3">vihane</option></select> </td></tr></table> <input type="radio" value="16" name="v" /> Liisi <input type="radio" value="17" name="v" /> Riina <input type="radio" value="24" name="v" /> Meelis<br> <input type="radio" value="25" name="v" /> Kihnu <input type="radio" value="29" name="v" /> Lee <input type="radio" value="30" name="v" /> Liivika </p> <p><strong>grafeemHMM</strong> (Ossian):<br /> <input type="radio" value="18" name="v" /> Eva <input type="radio" value="20" name="v" /> Liisi <input type="radio" value="21" name="v" /> Riina<br> <input type="radio" value="19" name="v" /> Tõnu <input type="radio" value="22" name="v" /> Einar<br> <input type="radio" value="23" name="v" /> Luukas (lapsehääl) <input type="radio" value="28" name="v" /> Lee (lapsehääl)<br> <input type="radio" value="74" name="v" /> Lemme (spontaanne) <input type="radio" value="75" name="v" /> Andreas (spontaanne) </p> <p><strong>grafeemDNN</strong> (DNN Merlin)<br/> <input type="radio" value="26" name="v" /> Riina <input type="radio" value="27" name="v" /> Tõnu </p> <p><strong>grafeemDNN</strong><br/> <input type="radio" value="40" name="v" /> Eva <input type="radio" value="41" name="v" /> Tõnu <input type="radio" value="42" name="v" /> Riina </p> <!-- spontaansed 70-89 --> <p><strong>TransformerTTS</strong><br/> <input type="radio" value="304" name="v" /> Külli<br /> <input type="radio" value="404" name="v" /> Peeter<br /> <!-- <p><b>muud:</b><br /> <input type="radio" value="10" name="v" /> espeak<br /> <input type="radio" value="98" name="v" /> mbrola (espeak'i kaudu)<br /> <input type="radio" value="301" name="v" /> (Albert)<br /> <input type="radio" value="302" name="v" /> (Kalev)<br /> <input type="radio" value="303" name="v" /> (Meelis)<br /> <input type="radio" value="304" name="v" /> (Külli)<br /> <input type="radio" value="305" name="v" /> (Mari)<br /> <input type="radio" value="306" name="v" /> (Vesta)<br /> <input type="radio" value="402" name="v" /> ttts (peeter, otsekõne)<br /> <input type="radio" value="403" name="v" /> ttts (peeter, üksiklaused)<br /> <input type="radio" value="404" name="v" /> ttts (peeter, suur)<br /> --> </p> <p><strong>foneemDNN (Merlin):</strong><br /> <input type="radio" value="450" name="v" /> Tõnu <input type="radio" value="451" name="v" /> Indrek <input type="radio" value="452" name="v" /> Külli <input type="radio" value="453" name="v" /> Liivika<br> <input type="radio" value="454" name="v" /> Peeter <input type="radio" value="455" name="v" /> Tambet <input type="radio" value="456" name="v" /> Liisi <input type="radio" value="457" name="v" /> Riina<br> <input type="radio" value="458" name="v" /> Lee (lapsehääl) <input type="radio" value="459" name="v" /> Tambet (otsekõne)<br> <!-- <input type="radio" value="460" name="v" /> Lemme --> <input type="radio" value="461" name="v" /> Andreas (spontaanne) <p><strong>foneemDNN (VITS):</strong><br /> <input type="radio" value="471" name="v" /> Indrek <input type="radio" value="472" name="v" /> Külli <input type="radio" value="473" name="v" /> Liivika<br> <input type="radio" value="474" name="v" /> Peeter <input type="radio" value="478" name="v" /> Lee (lapsehääl) <input type="radio" value="479" name="v" /> Tambet<br> <input type="radio" value="480" name="v" /> Albert <input type="radio" value="481" name="v" /> Kalev <input type="radio" value="482" name="v" /> Kersti <input type="radio" value="483" name="v" /> Mari <input type="radio" value="484" name="v" /> Meelis <input type="radio" value="485" name="v" /> Vesta<br> </p> </div> <div style="margin: 0 auto; text-align: center;"><img id="kuulaklikk" style="cursor: pointer;" alt="Kuula teksti valitud häälega" src="/heli/images/koduleht/kuula.png" width="96" /></div> <div id="synttulemus" style="padding: 6px; text-align: center; display: none;"><a id="syntwav" href="#">WAV</a> <a id="syntmp3" href="#">MP3</a></div> </div> </form><!-- END: Custom advanced (www.pluginaria.com) --></div><div class="well "><p style="font-size:smaller">Teie märkused, ettepanekud, kaasalöömissoovid, veateated ja kõik eestikeelse kõne­sünteesiga seonduvad tähelepanekud on oodatud meiliaadressil <a href="mailto:heli@eki.ee">heli@eki.ee</a>.</p></div><div class="well "><h3 class="page-header">Login Form</h3><form action="/heli/index.php/kõnesüntees" method="post" id="login-form" class="form-inline"> <div class="pretext"> <p>Kasuta EKI kontot (eesnimi.perekonnanimi)</p> </div> <div class="userdata"> <div id="form-login-username" class="control-group"> <div class="controls"> <div class="input-prepend"> <span class="add-on"> <span class="icon-user hasTooltip" title="Kasutajanimi"></span> <label for="modlgn-username" class="element-invisible">Kasutajanimi</label> </span> <input id="modlgn-username" type="text" name="username" class="input-small" tabindex="0" size="18" placeholder="Kasutajanimi" /> </div> </div> </div> <div id="form-login-password" class="control-group"> <div class="controls"> <div class="input-prepend"> <span class="add-on"> <span class="icon-lock hasTooltip" title="Parool"> </span> <label for="modlgn-passwd" class="element-invisible">Parool </label> </span> <input id="modlgn-passwd" type="password" name="password" class="input-small" tabindex="0" size="18" placeholder="Parool" /> </div> </div> </div> <div id="form-login-remember" class="control-group checkbox"> <label for="modlgn-remember" class="control-label">Pea meeles</label> <input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"/> </div> <div id="form-login-submit" class="control-group"> <div class="controls"> <button type="submit" tabindex="0" name="Submit" class="btn btn-primary login-button">Sisene</button> </div> </div> <ul class="unstyled"> <li> <a href="/heli/index.php/component/users/?view=remind&Itemid=435"> Unustasin kasutajanime</a> </li> <li> <a href="/heli/index.php/component/users/?view=reset&Itemid=435"> Unustasin parooli</a> </li> </ul> <input type="hidden" name="option" value="com_users" /> <input type="hidden" name="task" value="user.login" /> <input type="hidden" name="return" value="aHR0cHM6Ly9hcmhpaXYuZWtpLmVlL2hlbGkvaW5kZXgucGhwL2slYzMlYjVuZXMlYzMlYmNudGVlcw==" /> <input type="hidden" name="4f64a20c2e32f2c7160b1c414a2acd8c" value="1" /> </div> </form> </div> <!-- End Right Sidebar --> </div> </div> </div> </div> <!-- Footer --> <footer class="footer" role="contentinfo"> <div class="container-fluid"> <hr /> <p class="pull-right"> <a href="#top" id="back-top"> Tagasi üles </a> </p> <p> © 2024 heli.eki.ee </p> </div> </footer> </body> </html>