Praeitame įraše trumpai susipažinome su kalbos sintezės iš teksto sistemomis. Šiame įraše apžvelgsime tokių sistemų rūšis.
2.3. Kalbos sintezės sistemų skirstymas
Kompiuterinės kalbos sintezės sistemos skirstomos į tris pagrindines grupes:
- Artikuliaciniai sintezatoriai.
- Formantiniai sintezatoriai.
- Garsus jungiantieji sintezatoriai.
Toliau bus trumpai apžvelgti šie trys sintezatorių tipai.
2.3.1. Artikuliaciniai sintezatoriai
Artikuliaciniai sintezatoriai bando tiesiogiai modeliuoti žmogaus kalbos išgavimo sistemą. Šios sistemos stengiasi atkartoti kalbos organų judesius ir taip modeliuoti kalbos trakto akustiką. Tiksliai modeliuojant žmogaus kalbos traktą kylą sunkumų: pirmiausia reikia atlikti tikslius organų matavimus, tačiau sudėtingiausia yra modeliuoti organų (liežuvio, lūpų ir kt.) judesius, nes tam atlikti reikia ypač daug skaičiavimų. Tačiau šio metodo privalumas yra tas, kad tiksliai modeliuojant galima gauti labai natūralią kalbą. Būtent dėl šio privalumo artikuliaciniai sintezatoriai laikomi potencialiais geros kokybės sintezatoriais ateityje.
2.3.2. Formantiniai sintezatoriai
Formantiniai sintezatoriai buvo patys populiariausi iki praėjusio amžiaus dešimtojo dešimtmečio. Dėl savo paprastumo ir nereiklumo skaičiavimams, beveik visi pirmieji sintezatoriai buvo šio tipo. Formantiniai sintezatoriai generuoja kalbą, remdamiesi akustiniu-fonetiniu modeliu, kuriame stengiamasi modeliuoti balso trakto kuriamas savybes, svarbias suvokimui: energiją, tono aukštį, formantinius dažnius.
Vieno iš tokių sintezatorių schema pateikta 3 pav.
3 pav. Formantinio sintezatoriaus schema (paimta iš [Lai82])
Jame naudojami tokie parametrai [Lai82]:
- F0 – pagrindinis dažnis;
- A0 – garsinės komponentės amplitudė;
- F1 ... F5 – formantų dažniai;
- Q1 ... Q5 – formantų Q reikšmės;
- VL – skardžios komponentės amplitudė (žema);
- VH – skardžios komponentės amplitudė (aukšta);
- FL – duslios komponentės amplitudė (žema);
- FH – duslios komponentės amplitudė (aukšta);
- QN – nosinio formanto Q reikšmė, esant 250 Hz.
2.3.3. Garsus jungiantieji sintezatoriai
Garsus jungiantieji sintezatoriai pradėjo populiarėti praėjusio amžiaus dešimtąjį dešimtmetį. Pagrindinė jų savybė ta, kad yra naudojama įrašytų garsų duomenų bazė, ir iš tų garsų generuojami nauji garsai. Tai turbūt lengviausias būdas išgauti geros kokybės balsą, tačiau pati duomenų bazė užima pakankamai daug vietos. Vienas iš pagrindinių klausimų – kokio ilgio garsus saugoti duomenų bazėje? Kuo ilgesni garsai, tuo geresnė sintezuotos kalbos kokybė, nes tuo mažiau jungimų reikia, tačiau ilginant pradinius garsus didėja ir duomenų bazei reikalingos atminties dydis. Kitas svarbus klausimas – kiek kiekvieno garso variantų turėti duomenų bazėje? Nuo to priklauso, kiek reikės atlikti modifikacijų, o kiekviena modifikacija daugiau ar mažiau prastina galutinės sintezuotos kalbos kokybę. Yra įvairių pasiūlymų, kaip spręsti šią problemą (pavyzdžiui, [KV01] siūloma imti po kelis variantus tų garsų, kurie dažniausiai sukelia trūkius spektre).
Kita šio tipo sintezatorių savybė yra ta, kad norint gauti kito žmogaus kalbą, reikia turėti kitą garsų duomenų bazę, o kadangi garsų duomenų bazės sudarymas yra pakankamai sudėtingas ir ilgas procesas, tai naujų kalbėtojų sukūrimas yra nelengvas. Žinoma, yra siūlymų, kaip sumažinti tokius paruošiamuosius darbus, norint pritaikyti sintezės sistemą gauti kito žmogaus balsui. Pavyzdžiui, [KAV98] siūlomas metodas naudoja tiesinę prognozę ir neuroninius tinklus, ir tada, norint gauti kito žmogaus balsą, užtenka sukurti tam tikras likutinio signalo kodų lenteles.
Kaip vienas iš garsus jungiančiųjų sintezatorių trūkumų dažnai pabrėžiama ta savybė, kad pakankamai sunku sintezuoti kokybišką emocionalią kalbą. Kiek kokybiškai pavyksta susintezuoti emocionalią kalbą (pykčio, laimės, baimės, liūdesio ir nuobodulio), naudojant garsus jungiantį sintezatorių, aprašyta [Edg97].
2.4. Pagrindiniai metodai jungti garsus bei modifikuoti signalo ilgį ir tono aukštį
Šiame poskyryje bus trumpai aprašyti penki dažniausiai naudojami metodai modifikuoti kalbos signalo ilgį ir tono aukštį (arba kitaip – prozodiją).
Sintezuojant balsą garsų jungimo metodu viena iš svarbiausių dalių yra signalo ilgio bei tono aukščio keitimas. Kadangi atskiri balso fragmentai iškirpti iš skirtingų kalbos įrašo vietų, tai pakankamai stipriai gali skirtis jų tono aukštis, o jungiant skirtingo tono aukščio signalus galimi pakankamai dideli nenatūralumo požymiai. Taip pat, norint gauti teisingą intonaciją, reikia keisti ne tik tono aukštį, bet ir garsų trukmes. Visi netikslumai šioje sintezės dalyje daro didelę įtaką galutiniam rezultatui.
Yra sugalvota net keli skirtingi garsų modifikavimo bei jungimo metodai [MV05]:
- TD-PSOLA.
- MBROLA.
- Sinusoidiniai modeliai.
- HNM.
- Besiremiantys tiesine prognoze modeliai.
TD-PSOLA (angl. Time-Domain Pitch-Synchronous Overlap and Add) [VMT92] metodo metu atliekama balso analizė bei sintezė pagal dažnį (angl. pitch-synchronous). Kadangi šis metodas niekaip išreikštai nemodeliuoja garso signalo, jis yra neparametrinis modelis. Būtent tai lemia, kad šis metodas pakankamai gerai dorojasi su trukmės bei tono aukščio keitimu, bet sunkiai – su atskirų garsų jungimu.
Principinį algoritmo veikimą galima matyti 4 pav. Čia (a) ir (b) vaizduoja dažnio didinimą, o (c) ir (d) – dažnio mažinimą. Dažnio didinimas vyksta imant pagal dažnį suderintus intervalus, jiems taikant lango funkcijas ir po to tuos intervalus „sustūmus“ arčiau vieną prie kito sudedant persidengimus.
4 pav. Dažnio didinimas bei mažinimas TD-PSOLA metodu (paimta iš [Lem99])
Taip pat vyksta ir dažnio mažinimas – imami intervalai, suderinti pagal dažnį, jiems taikoma lango funkcija, ir po to intervalai „atitolinami“ vienas nuo kito. Sudėjus persidengiančius intervalus gaunamas galutinis sintezuotas signalas, kurio dažnis pakeistas.
MBROLA (angl. Multi Band Resynthesis Overlap and Add) [Mbr10] metodas yra labai panašus į TD-PSOLA metodą, tačiau stengiasi pašalinti trūkumus. MBROLA metodas irgi manipuliuoja signalu laiko erdvėje, tačiau stengiasi išvengti fazės neatitikimo problemos jungiant atskirus garsus, persintezuodamas skardžias kalbos signalo dalis, naudodamas nekintantį tono aukštį bei fazę.
Sinusoidiniai modeliai irgi siūlomi garsų jungimui. Šie metodai jungia garsus, naudodami balso trakto uždarumo momentų įverčius, tačiau tai ne visada gerai pavyksta.
HNM (angl. Harmonic+Noise Model) [SDS97] modelis daro prielaidą, kad kalbos signalas sudarytas iš harmoninės ir triukšmo dalių. Harmoninė dalis atitinka visas beveik periodines kalbos dalis, o triukšmas – neperiodines. Abi šios dalys atskiriamos dažnio erdvėje. Nors pagal žmogaus kalbos gavybą tai nėra visai tiesa, pagal kalbos suvokimą šis modelis yra pakankamai tikslus ir ypač paprastas. Vienas iš šio metodo trūkumų yra tai, kad siūlomi algoritmai reikalauja nemažai skaičiavimo resursų.
Modeliai, besiremiantys tiesine prognoze [EL96], irgi taikomi garso signalų jungimui bei modifikavimui. Yra pasiūlyti net keli metodai, leidžiantys atlikti reikiamas signalo transformacijas, tačiau beveik visi jie remiasi likutinio signalo apdorojimu. Turbūt vienas iš paprasčiausių yra likutinio signalo modifikavimas pagal dažnį. Tai tiesiog PSOLA metodo taikymas likutiniam signalui. Šis modelis teoriškai yra geresnis nei TD-PSOLA, nes atlikę transformacijas su likutiniu signalu, mes gauname mažiau iškraipymų, nei atlikę tas pačias transformacijas su visu signalu, dėl to, kad pagrindinė informacija yra atskirta tiesinės prognozės koeficientuose. Atlikę norimus pakeitimus su likutiniu signalu mes tiesiog atkuriame visą signalą, pasinaudoję prognozės koeficientais.
Dabartinėse komercinėse garsus jungiančiose balso sintezės sistemose dažniausiai naudojamas TD-PSOLA metodas, nes jis yra pats paprasčiausias įgyvendinimo bei skaičiavimo sąnaudų prasme.
MBROLA metodas teoriškai duoda kokybiškesnę sintezuotą kalbą ir yra nemokamas sintezatorius [Mbr10], generuojantis galutinę kalbą iš difonų, naudodamasis MBROLA metodu. Nemokamai yra pateikiami patys vykdomieji failai, tačiau jų naudojimas yra leidžiamas tik nekomerciniams tikslams. Šis sintezatorius yra vienas iš daugiausiai kalbų (difonų) duomenų bazių turintis sintezatorius.
Tiesinės prognozės metodas nėra toks populiarus, kaip TD-PSOLA, tačiau paskutiniu metu atsiranda sistemų, veikiančių likutinio signalo modifikavimo principu (pavyzdžiui, latviška kalbos sintezės sistema [GV07], šiek tiek anksčiau sukurta slovakiška [DRT06]).
TOLIAU
Tai tiek trumpai apie bendriausius balso sintezės iš teksto bruožus. Tolimesniuose įrašuose susipažinsime su tiesine prognoze, bei iš teksto sintezuotos kalbos kokybės vertinimu (subjektyviu ir objektyviu).
LITERATŪRA
[DRT06] S. Darjaa, M. Rusko and M. Trnka. Three Generations of Speech Synthesis Systems in Slovakia. SPECOM'2006, St. Petersburg, 2006.
[Edg97] M. Edgington. Investigating the limitations of concatenative synthesis. Proc. Eurospeech‘97, 1997, pp. 593-596.
[EL96] M. Edgington and A. Lowry. Residual-based speech modification algorithms for text-to-speech synthesis. Fourth International Conference on Spoken Language, ICSLP 96, Proceedings, 1996, vol. 3, pp. 1425 – 1428.
[GV07] K. Goba, A. Vasiļjevs. Development of Text-To-Speech System for Latvian. NODALIDA 2007 Conference Proceedings, pp. 67-72.
[KAV98] M. Karjalainen, T. Altosaar, M. Vainio. Speech synthesis using warped linear prediction and neural networks. Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, 1998, Vol. 2, pp. 877-880.
[KV01] E. Klabbers, R. Veldhuis. Reducing Audible Spectral Discontinuities. IEEE Transactions on Speech and Audio Processing, 2001, Vol. 9, No. 1 pp. 39-51.
[Lai82] U. Laine. PARCAS, A new terminal analog model for speech synthesis. IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP’82, 1982, vol. 7, pp. 940-943.
[Lem99] S. Lemmetty. Review of Speech Synthesis Technology. Master’s thesis, 1999.
[Mbr10] The MBROLA Project. [Žiūrėta 2010-01-16]. Prieiga per Internetą.
[MV05] E. Morais and F. Violaro. Data-Driven Text-to-Speech Synthesis. XXII Simpósio Brasileiro de Telecomunicações – SBrT’05, 2005.
[SDS97] Y. Stylianou, Th. Dutoit, J. Schroeter. Diphone Concatenation using a Harmonic plus Noise Model of Speech. Proc. Eurospeech '97, 1997.
[VMT92] H. Valbret, E. Moulines, J. P. Tubach. Voice transformation using PSOLA technique. IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP-92, 1992, vol. 1, pp. 145-148.