Tekstiä, plaa plaa, plaa Puhesynteesi (tekstistä puheeksi, engl. text-tospeech, TTS): Generoidaan tietokoneen avulla akustinen puhesignaali annetun tekstin perusteella. TTS HUOM: Vaikka nyt keskitytäänkin tekstistä puheeksi puhesynteesiin, termillä puhesynteesi voidaan tarkoittaa myös muutakin puheen syntetisointia: Esimerkiksi puhekoodekki generoi puhesignaalin annettujen puheparametrien pohjalta tätä voidaan siis kutsua puhesynteesiksi (mutta ei tekstistä puheeksi synteesiksi). 2
3
Syntetisoidun puhesignaalin laatua arvioitaessa erotetaan yleensä: Puheen ymmärrettävyys Puheen luonnollisuus Sovelluksen luonteesta riippuu, kuinka tärkeitä nämä ominaisuudet ovat: Näkövammaisten sovelluksissa ymmärrettävyys ja korkea puhenopeus ovat luonnollisuutta tärkeämpiä. 4
Tekstin analysointi Foneettinen analyysi Prosodinen analyysi Synteesi (X. Huang, A. Acero, H.-W. Hon: Spoken language processing, Prentice Hall PTR, 2001) 5
Tekstianalyysin tarkoituksena on muuttaa teksti puhumiskelpoiseksi: Tänään on keskiviikko, 27.2. ja kello on n. 14:30. Tänään on keskiviikko, kahdeskymmenesseitsemäs helmikuuta ja kello on noin neljätoista kolmekymmentä. Tekstianalyysi koostuu: Normalisoinnista: lyhenteiden/numeroiden/symbolien prosessointi. Lingvistisestä (l. kielitieteellisestä) analyysistä: kielen ymmärtämiseen tähtäävä analysointi. 6
Normalisointi muuntaa tekstin lyhenteet, numerot ja symbolit muutetaan tekstiksi. Numeroiden normalisointi: 124 one hundred twenty-four 3/7 three-seventh tai March seventh III (Chapter) three tai (Henry the) third Lyhenteiden normalisointi: St. saint tai street Dr. doctor tai drive kg (one) kilogram tai (five) kilograms Symboleiden normalisointi: & and @. name@institute.com 7
Joskus ääntäminen riippuu sanan merkityksestä ja kontekstista, esimerkiksi: - record voi esiintyä substantiivina ja verbinä - the ääntyy eri tavalla ennen vokaalia/konsonattia - Loppukahdennus suomen kielessä: tule(t) tänne - Kielitieteellinen analyysi (engl. myös syntactic and semantic parsing) tekstistä voidaan selvittää tekstistä mm.: 1. Virkkeiden rajat ja tyypit 2. Sanaluokat (engl. part of speech, POS) 3. Homografien tunnistaminen (sanat, joilla sama kirjoitusasu mutta eroava merkitys) 4. Lauserakenteen analyysi 5. 8
Tekstin analysointi Foneettinen analyysi Prosodinen analyysi Synteesi (X. Huang, A. Acero, H.-W. Hon: Spoken language processing, Prentice Hall PTR, 2001) 9
Foneettisessa analyysissä konvertoidaan kirjoitusjärjestelmän mukaiset merkit ääntämyksen mukaisiksi merkeiksi. Ääntämyksen mukaiseen esittämiseen käytetään jotakin foneettista aakkostoa, esim. IPA (ei perustu ASCII-merkkeihin) SAMPA (Speech Assessment Methods Phonetic Alphabet) Worldbet Arpabet Usein puhesyntetisaattorit käyttävät omia erityisiä aakkostojaan. Muuntamiseen käytetään tyypillisesti sanakirjaa, mutta esim. suomen tapauksessa muunnos voidaan tehdä melko suoraviivaisesti kirjoitusasun perusteella. 10
Tekstin analysointi Foneettinen analyysi Prosodinen analyysi Synteesi (X. Huang, A. Acero, H.-W. Hon: Spoken language processing, Prentice Hall PTR, 2001) 11
Prosodiaan kuuluvat mm. puheen: Rytmi Painotukset Intonaatio Prosodiset piirteet vaikuttavat sekä syntetisoidun puheen ymmärrettävyyteen että luonnollisuuteen. Prosodiset piirteet voidaan tuottaa synteettiseen puheeseen analysoimalla luonnollista puhetta ja luomalla tämän perusteella sääntöjä synteesiä varten. Kaikki synteesimenetelmät eivät kuitenkaan käytä sääntöihin perustuvaa prosodian mallintamista. 12
Tekstin analysointi Foneettinen analyysi Prosodinen analyysi Synteesi (X. Huang, A. Acero, H.-W. Hon: Spoken language processing, Prentice Hall PTR, 2001) 13
Tärkeimmät puhesyntetisaattoreissa käytetyt tavat tuottaa puhesignaali ovat: Formanttisynteesi Konkatenatiivinen synteesi ( leikkaa-liimaa tyyppinen synteesi) Difonisynteesi, Unit selection synteesi Tilastollinen synteesi Markovin piilomalleihin (engl. hidden Markov models, HMM) perustuva synteesi. Artikulatorinen synteesi 14
Formanttisynteesissä puheen intonaatio (f 0 -käyrä) ja formantit generoidaan edellä kuvattujen vaiheiden tulosten pohjalta käyttäen erilaisia sääntöjä. Esimerkiksi eräs sääntö intonaatiolle voisi olla: Jos kyseessä on painotettu tavu sanassa, joka ei ole funktiosana, nosta f 0 :aa hieman. Formantit generoidaan äänteille määritettyjen kohdeformanttien ja kaistanleveyksien mukaisesti. Siirtymät äänteestä toiseen kuitenkin pehmeästi. 15
Formanttisynteesijärjestelmä hyödyntää lähde-suodin mallia: Heräte tehdään intonaation avulla ja suodin formanttien avulla S. Lemmetty: Review of Speech Synthesis Technology, Master's Thesis, Helsinki University of Technology, 1999 16
Ymmärrettävyyden varmistamiseksi formanteista tulee mallintaa ainakin kolme alinta: Yhtä formanttia mallinnetaan napaparilla. Yksinkertaisimmillaan herätesignaalina impulssijono tai kohinaa. Mallin parametreja päivitetään jokaisen foneemin kohdalla. 17
+ Erittäin muokkaamiskelpoinen: Intonaation ja ääntöväylämallin muokkaaminen mahdollista. + Suhteellisen helppo toteuttaa: Ymmärrettävän puheen tuottamiseen riittää pieni määrä säädeltäviä parametreja (20-40). + Minkä tahansa äänteiden tuottaminen mahdollista: Myös ihmiselle mahdottomien äänneyhdistelmien. - Yksinkertaistavat mallit tuottavat jossain määrin epäluonnolliselta kuulostavan lopputuloksen. 18
Konkatenatiivisessa puhesynteesissä puhesignaali muodostetaan liittämällä yhteen puhesegmenttejä nauhoitetusta puhetietokannasta. Nauhoitettujen puhesegmenttien käyttäminen mahdollistaa ymmärrettävän ja luonnolliselta kuulostavan puheen tuottamisen. Nauhoitettu puhetietokanta rajoittavana tekijänä. 19
Perusyksikön pidentyessä erilaisten kielessä esiintyvien yksiköiden lukumäärä kasvaa reilusti: Erilaisia foneemeja on kielessä tyypillisesti muutamia kymmeniä Erilaisia tavuja on tyypillisesti useita tuhansia Erilaisia sanoja on satoja tuhansia Lisäksi prosodia saattaa kärsiä liitettäessä pitkiä yksiköitä (esim. sanoja). Tyypillisesti käytetään difoneja (segmentti äänteen puolivälistä seuraavan äänteen puoliväliin), sillä äänteiden keskikohdat ovat yleensä melko stabiileja, mikä helpottaa liittämistä: Lisäksi myös kontekstin aiheuttama koartikulaatio tulee huomioitua ilman erillisiä sääntöjä. Erilaisia difoneja esiintyy kielessä tyypillisesti 1500-2000. 20
Perinteisessä difonisynteesissä käytetään perusyksikköinä difoneja, joita liitetään yhteen annetun tekstin syntetisoimiseksi. Tietokanta rakennetaan siten, että se sisältää instanssin jokaisesta kielen difonista: Haluttu prosodia luodaan muokkaamalla tietokannan difoneja prosodiamallinnuksen tuottamien f 0 - ja kestoestimaattien mukaisesti. Yksiköiden muokkaaminen kuitenkin heikentää tuotettavan puheen laatua. 21
Difonisynteesissä äänisignaalin muokkaaminen saattaa heikentää laatua Ratkaisuna unit selection - eli kerätään suurempi tietokanta ja muokkaamisen sijaan valitaan sopiva segmentti. Synteesissä käytetään suurta (usean tunnin mittaista) puhetietokantaa, joka sisältää useita instansseja jokaisesta kielessä esiintyvästä yksiköstä (esim. difonista). Puhe kuulostaa luonnollisemmalta kuin difonisynteesissä, sillä luonnollisuutta heikentävää prosodista muokkausta ei tehdä tai se on vähäistä. 22
Yksikön prosodia riippuu kontekstista jossa se esiintyy: Pyritään valitsemaan tietokannasta yksiköitä, joissa konteksti on mahdollisimman lähellä kohdeyksikön kontekstia (analysoidaan yksikön paikka tavussa/sanassa/lauseessa/, paino, ympäröivät äänteet, jne.). Lisäksi yksiköt pyritään valitsemaan siten, että liittämisestä ei aiheudu epäjatkuvuuksia prosodiaan tai spektriin: Liitettäessä yhteen yksiköt, jotka ovat tietokannassakin peräkkäisiä, ei liitoskohdassa synny lainkaan vääristymiä. Esimerkkejä konkatenatiivisesta synteesistä. 23
+ Koska puhesegmenttejä ei juurikaan muuteta, unit selection tuottaa parhaimmillaan erittäin luonnollisen kuuloista puhetta. Erittäin yleisesti käytetty menetelmä nykyaikaisissa kaupallisissa sovelluksissa. - Menetelmä on kuitenkin hyvin riippuvainen nauhoitetusta tietokannasta: Puhedataa tarvitaan paljon, silti saattaa käydä niin, että tietokannassa ei ole ominaisuuksiltaan sopivaa yksikköä. Tietokannan kerääminen nauhoituksineen ja nimikointeineen on työlästä; jokaiselle synteettiselle puhujalle pitää koota suuri tietokanta. 24
Markovin piilomalleja (engl. hidden Markov model, HMM) käytetään puheentunnistuksessa: HMM-malleja käsitellään vasta kurssilla SGN-4106, tämän kurssin puitteissa riittää, että tietää HMM-pohjaisen synteesin perustuvan tilastollisen mallin käyttöön. B. Pellom, T-61.184 Automatic Speech Recognition: From Theory to Practice, lecture slides. Viimeaikoina HMM-mallinnus levinnyt laajalti myös puhesynteesin alalle. 25
Tietokannan nauhoitukset parametrisoidaan (vrt. puheenkoodaus) mallinnusta varten: Yksinkertaisimmillaan parametrisointi koostuu spektriparametreista (LSF:t tai vastaavat käyvät tähän) ja perustaajuudesta (f 0 ). Ideana on opetusvaiheessa muodostaa tietokannan foneemeille kontekstiriippuvat HMM-mallit joiden avulla synteesivaiheessa generoidaan parametrisointi synteettiselle puheelle halutun tekstin mukaisesti, esimerkiksi: Malli [a]-äänteen perustaajuudelle ja spektrille, kun vasemmalla puolella on [t] ja oikealla puolella [p] ja [a] on ensimmäinen foneemi painottomassa sanassa ja HUOM: Kyseessä on tietokantapohjainen, mutta ei konkatenatiivinen synteesimenetelmä - tietokantaa ei tarvita enää synteesivaiheessa. Esimerkkejä HMM-synteesistä: TUT, EMIME 26
+ Siinä missä unit selection synteesin laatu saattaa vaihdella, tilastollisen synteesin laatu on hyvin tasaista. + HMM-mallinnus mahdollistaa puhujan identiteetin tai puhetyylin muuttamisen pienellä määrällä uusia tietokantalauseita. + Opetusvaiheen jälkeen tietokantaa ei tarvitse säilyttää -> vie vähän tilaa. - Luonnollisuus kärsii HMM-synteesissä: puheen parametrisointi ja malleihin pohjautuva synteesi saattavat heikentää havaittua laatua. 27
Artikulatorisessa synteesissä pyritään mallintamaan ihmisen puheentuottoa mahdollisimman täydellisesti: Sekä ääntöväylän että äänihuulten toimintaa mallinnetaan fysikaalisilla malleilla. Ääntöväylämallina toimii joukko pinta-alafunktioita, joiden avulla kuvataan kurkunpään ja huulten välillä esiintyviä ääntöväylän poikkipinta-alan muutoksia: Samantapainen periaate kuin akustisessa putkimallissa. Parametrien avulla säädellään esimerkiksi huulten ja kielen asentoa, keuhkojen ilmanpainetta ja äänihuulten jännitystä. Mallin perustana käytetty data saadaan esim. röntgenkuvaamalla puhetapahtumia. Esimerkki: VocalTractLab 28
+ Mallintaa puheentuottamista, tuottaa vain ääntöjärjestelmälle mahdollisia äänteitä ja äänneyhdistelmiä. + Mahdollistaa transienttiluonteisten äänitapahtumien luomisen tarkasti. Mallintaminen vaikeaa. 29
Tekstin analysointi Foneettinen analyysi Formanttisynteesi Prosodinen analyysi Difonisynteesi Unit selection synteesi HMM-pohjainen synteesi Synteesi Artikulatorinen synteesi 30
Lisälukemista ja lähdemateriaalia: X. Huang, A. Acero, H.-W. Hon, Spoken Language Processing: A Guide to Theory, Algorithm, and System Development, Prentice Hall PTR, 2001. U. Zölzer (Ed.), DAFX Digital Audio Effects, Wiley, 2002. S. Lemmetty, Review of Speech Synthesis Technology, Master s Thesis, Helsinki University of Technology, 1999. Kurssipruju: K. Koppinen, SGN-4010 Puheenkäsittelyn menetelmät, 2006. Työkaluja: HMM-based Speech Synthesis System (HTS): http://hts.sp.nitech.ac.jp/ The Festival Speech Synthesis System: http://www.cstr.ed.ac.uk/projects/festival/ Festvox: http://www.festvox.org/ 31