Využití Freetts Pro Voicexml

Využití Freetts Pro Voicexml

MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Využití FreeTTS pro VoiceXML BAKALÁRSKÁˇ PRÁCE VojtˇechZavˇrel Brno, podzim 2006 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vypra- coval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování použí- val nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Vedoucí práce: Mgr. Pavel Cenek ii Podˇekování Pˇredevšímbych chtˇelpodˇekovatvedoucímu práce Mgr. Pavlu Cenkovi za ochotné a kon- struktivní konzultace, dále HanˇeDvoˇráˇckovéa Tat’ánˇeZavˇrelovéza jazykové korektury a také všem ostatním, kteˇrímˇepodpoˇrilipˇritvorbˇetéto práce. iii Shrnutí FreeTTS je ˇreˇcovýsyntetizér napsaný v jazyce Java. Je zajímavý pˇredevšímdíky snadné pˇrenositelnostimezi r ˚uznýmioperaˇcnímisystémy. Jedno z dnešních nejˇcastˇejšíchvyužití ˇreˇcovýchsyntetizér ˚ujsou VoiceXML platformy, kde se syntetizéry uplatˇnujípˇrigenerování ˇreˇcovéhovýstupu. Bohužel FreeTTS nelze s VoiceXML platformami pˇrímoˇcaˇreintegrovat, protože nepodporuje potˇrebnéstandardy, zejména SSML a MRCP. Tato práce demostruje, že taková integrace pˇrestomožná je, za použití proprietárních technologií a urˇcitýchfunkˇcních ústupk ˚u.Pro integraci byla zvolena VoiceXML platforma OptimTalk. V práci je pˇredstavena technická realizace a podrobnˇediskutovány možnosti a limity navrženého ˇrešení. iv Klíˇcováslova text-to-speech, FreeTTS, MBrolla, Flite, OptimTalk, JNI, VoiceXML, SSML, syntéza ˇreˇci v Obsah 1 Úvod ............................................. 1 2 Syntéza ˇreˇci ......................................... 2 2.1 Historie ......................................... 2 2.2 Postupy pˇrisyntéze ˇreˇci ............................... 2 2.2.1 Syntéza ˇreˇciv ˇcasovéoblasti . 3 2.2.1.1 Výbˇersegment ˚u . 3 2.2.1.2 Difónová/trifónová syntéza ˇreˇci. 4 2.2.1.3 Doménovˇespecifická syntéza ˇreˇci . 4 2.2.2 Syntéza ˇreˇcive frekvenˇcníoblasti . 4 2.2.3 Artikulaˇcnísyntéza ˇreˇci . 5 2.3 Ovlivˇnovánívýstupu ˇreˇcovésyntézy ........................ 5 2.4 Využití syntézy ˇreˇci .................................. 5 3 Reˇcovésyntetizéryˇ ..................................... 7 3.1 Standardy pro ˇreˇcovésyntetizéry .......................... 7 3.1.1 SSML (Speech Synthesis Markup Language) . 7 3.1.2 Komunikaˇcníprotokoly klient/server . 8 3.1.2.1 MRCP (Media Resource Control Protocol) . 8 3.1.2.2 TTSCP (Text-to-Speech Control Protocol) . 9 3.2 OpenSource TTS systémy .............................. 9 3.2.1 MBROLA . 9 3.2.2 Festival TTS . 10 3.2.3 FreeTTS . 10 3.2.4 Další systémy . 10 3.2.4.1 Epos . 10 3.2.4.2 GNUSpeech . 11 3.3 KomerˇcníTTS systémy ................................ 11 3.3.1 TTS spoleˇcnostiNuance . 11 3.3.2 TTS Acapela Group . 11 3.3.3 TTS spoleˇcnostiLoquendo . 12 3.3.4 TTS spoleˇcnostiSpeechTech . 12 3.4 Vlastnosti FreeTTS .................................. 12 3.4.1 Hlasy podporované FreeTTS . 13 3.4.2 Standardy podporované FreeTTS . 14 3.4.2.1 JSAPI (Java Speech Application Programming Interface) . 14 3.4.2.2 SSML a jazyky pro ovlivˇnovánívýstupu . 14 3.4.2.3 Klient/server komunikaˇcníprotokol . 15 3.4.3 Výkonnost FreeTTS vs. Flite . 15 4 W3C Speech Interface Framework a platforma OptimTalk ............. 17 4.1 VoiceXML 2.0 (Voice eXtensible Markup Language) ............... 18 4.1.1 ProˇcVoiceXML . 19 vi 4.1.2 Struktura VoiceXML dokumentu . 19 4.2 SSML (Speech Synthesis Markup Language) ................... 20 4.3 Další jazyky z rodiny W3C Speech Interface Framework ............ 23 4.3.1 CCXML (Call Control eXtensible Markup Language) . 23 4.3.2 SRGS (Speech Recognition Grammar Specification) . 23 4.3.3 SISR (Semantic Interpretation for Speech Recognition) . 23 4.4 Platforma OptimTalk ................................. 23 4.4.1 Životní cyklus výstupní komponenty . 24 5 Integrace FreeTTS s platformou OptimTalk ...................... 25 5.1 JNI (Java Native Interface) .............................. 25 5.1.1 Schéma aplikace využívající JNI . 26 5.2 Možné varianty integrace .............................. 27 5.2.1 Jednosmˇernáintegrace . 27 5.2.2 Obousmˇernáintegrace pomocí JNI . 28 5.2.2.1 Rešeníˇ pomocí doˇcasnýchsoubor ˚u . 28 5.2.2.2 Rešeníˇ pomocí audio stream ˚u . 28 5.2.3 Obousmˇernéintegrace pomocí socket ˚u . 29 5.2.4 Srovnání integraˇcníchpostup ˚u . 29 5.3 Praktická realizace .................................. 29 5.3.1 Výstupní komponenta free_tts_ouput . 30 5.3.2 Knihovna OptimTalkFreeTTSComponent . 31 5.3.3 Nastavení free_tts_output komponenty . 32 6 Závˇer ............................................. 34 Literatura . 35 A Výkonnost FreeTTS vs. Flite ............................... 36 vii Kapitola 1 Úvod V dobˇe,kdy informaˇcnítechnologie jsou stále pokroˇcilejšía osobní poˇcítaˇcevýkonnˇejší,se s jejich pomocí snažíme docílit dˇrívenemyslitelných úkon ˚u.Pár let zpˇetbyla možnost, že by poˇcítaˇcpromlouval v kvalitˇesrovnatelné s ˇclovˇekem,jen obtížnˇepˇredstavitelná. V poslední dobˇese situace znaˇcnˇezlepšila a stroje jsou schopné psaný text interpretovat natolik kva- litnˇe,že témˇeˇrnepoznáme rozdíl mezi automatem a živou osobou. S ohledem na rozšiˇrující se dostupnost informaˇcníchzroj ˚u,používání elektronických knih a mnoho dalších oblastí se rozšiˇrujímožnosti použití kvalitní syntézy ˇreˇci.Tahounem sektoru jsou komerˇcníaplikace (automatizované telefonní služby, statistické a reklamní systémy, naviganˇcnípˇrístroje atd). Velký užitek z tˇechtostále zdokonalovaných technologií mají také slabozrací a nevidomí, pro které je hlasová syntéza dalším prostˇredkem,jak se zapojit do bˇežnéhoživota. Stranou zájmu však nez ˚ustavajíani bˇežníuživatelé. Témˇeˇrkaždý operaˇcnísystém již má integrován nˇekterýˇreˇcovýsyntetizér a pˇrestožek velké rozšíˇrenostijejich používání zatím nedošlo, je možné to v budoucnu oˇcekávat. Cílem této práce je prozkoumat stav na poli ˇreˇcovýchsyntetizér ˚u,pˇredevšímpak mul- tiplatformního ˇreˇcovéhosyntetizéru FreeTTS a prozkoumat možnost spolupráce FreeTTS s VoiceXML. FreeTTS je syntetizér výjimeˇcnýpˇredevšímdíky použitému programovacímu jazyku Java a tím snadné pˇrenositelnosti a široké použitelnosti. FreeTTS bohužel není možné pˇrímovyužít pro jedno z nejˇcastˇejšíchvyužití ˇreˇcovýchsyntetizér ˚u,integraci s VoiceXML platformami, protože nepodporuje patˇriˇcnéstandardy, zejména SSML a MRCP. Tato práce demonstruje, že taková integrace pˇrestomožná je za použití proprietárních technologií a urˇcitýchfunkˇcníchústupk ˚u.Pro integraci byla zvolena VoiceXML platforma OptimTalk. Zbytek práce je organizován následujícím zp ˚usobem.V kapitole 2 se dozvíme nˇecomálo o historii, projdeme techniky používané pˇriˇreˇcovésyntéze a zdiskutujeme možnosti pou- žití ˇreˇcovýchsyntetizér ˚u.V další kapitole 3 pˇredstavímenˇekteréznámé text-to-speech sys- témy a také si ˇreknˇemenˇecoo vlastnostech systému FreeTTS. Následující ˇcást 4 se zabývá standardy z rodiny "Voice Browser" Activity a také pˇredstavía zˇcástipopíše platformu Op- timTalk, na které bude v poslední ˇcásti 5 ukázána možnost integrace FreeTTS s platformou podporující VoiceXML. 1 Kapitola 2 Syntéza ˇreˇci Syntézou ˇreˇcinazýváme poˇcítaˇcovouprodukci mluveného slova. Automaty, které se syté- zou ˇreˇcizabývají, nazýváme ˇreˇcovýmisyntetizéry. Mnohdy je možné se setkat s anglickým výrazem text-to-speech, odkud pochází zkratka TTS. P ˚uvodnˇetext-to-speech znamenalo komplexnˇejšísystém, který umožˇnujepˇrevodybˇežnéhopsaného textu do mluvené podoby, zatímco ˇreˇcovésyntetizéry tuto vlastnost nemˇely. V tomto textu však budeme oba výrazy chápat jako synonyma. Text-to-speech systémy se obvykle skládají ze dvou ˇcástí.Front-end a back-end. Front- end má za úkol pˇrevéstvšechny symbolické znaˇcky, ˇcíslaapod. na jejich psaný ekvivalent (napˇr.9 na "nine"). Tato ˇcástse zjednodušenˇeoznaˇcujejako pˇredzpracování(pre-processing), normalizace a rozdˇeleníkorpusu na slova (tokenizace) textu. Následuje fonetický pˇrepis každého slova, segmentace (fráze, vˇety),identifikace pauz, intonace apod. Back-end se na- proti tomu stará o samotnou zvukovou syntézu. Pˇripravenýtext pˇrevededo zvukové po- doby na základˇesymbolického zápisu, který je produktem front-endu. [11, 3, 4] 2.1 Historie V minulosti se lidé ˇcastopokoušeli vyrobit mluvící stroj, ale s ohledem na ˇcistˇemechanické možnosti byla kvalita výstupu a rozsah promluvy znaˇcnˇeomezené. Vˇedcise snažili pˇrede- vším napodobit fungování lidského vokálního ústrojí na mechanické úrovni. V roce 1939 byl na výstavˇev New Yorku pˇredstavenVODER, který srozumitelnˇepˇred- ˇcítaltexty zadané na klávesnici. V druhé polovinˇepadesátých let 20. století se zrodil první poˇcítaˇcovýˇreˇcovýsyntetizér. Pˇribližnˇeo 10 let pozdˇejisvˇetlosvˇetaspatˇriltaké první kom- pletní text-to-speech systém. Od té doby se syntetizaˇcnítechniky výraznˇevylepšily a dnes se k nim používá témˇeˇr výhradnˇepoˇcítaˇcovátechnika. [11] 2.2 Postupy pˇrisyntéze ˇreˇci V souˇcasnédobˇerozeznáváme tˇrizákladní postupy pˇrisyntéze ˇreˇci. Konkatenativní neboli ˇcasovásyntéza se zakládá na skládání promluvy z malých ˇcástí slov. Tyto ˇcásti(segmenty) jsou namluvené ˇclovˇekema zaznamenané do databáze. Databáze segment ˚ubývají také nazývány hlasy. Castoˇ se databáze skládá z foném ˚u,difón ˚uapod., po- kud se jedná o tzv. obecnou doménu (general domain), resp. z vˇetšíchcelk ˚u(slov, ˇcástívˇet), 2 2.2. POSTUPY PRIˇ SYNTÉZE REˇ CIˇ pokud se jedná o omezenou doménu (limited domain). Pokud hlasy podporují obecnou do- ménu, je možné pˇrijejich využití syntetizovat libovolný text. Pokud však podporují

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    43 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us