Tieto- ja sähkötekniikan tiedekunta Ville Kemppainen Harri Keronen Emotionaalisen puhekorpuksen automatisoitu analyysi ja tunteiden sovellutus formantissa puhesyntetisaattorissa Kandidaatintyö Tietotekniikan koulutusohjelma Huhtikuu 2016
Kemppainen V., Keronen H. (2016) Emotionaalisen puhekorpuksen automatisoitu analyysi ja tunteiden sovellutus formantissa puhesyntetisaattorissa. Oulun yliopisto, tietotekniikan osasto. Kandidaatintyö, 58 s. TIIVISTELMÄ Työssä esitetään järjestelmä, joka analysoi äänitiedostoista muodostuvan puhekorpuksen ja kerää sieltä tunteiden esilletuonnin kannalta tärkeitä puheen ominaisuuksia. Puhekorpuksena käytettiin MediaTeamin tekemää suomenkielista tunteikasta puhekorpusta. Korpus sisältää seitsemän tunnetta: neutraali, surullinen, iloinen, vihainen, pelokas, kyllästynyt ja inho. Puheen ominaisuudet kerättiin puhekorpuksesta Praat-anaalysiohjelmalla. Työssä käytetyssä puhekorpuksessa ei ollut valmiita merkintöjä, joten ääninäytteisiin merkittiin äänelliset, sekä äänettömät osiot. Näitä osioita hyväksi käyttäen laskettiin seuraavat puheen ominaisuudet: korkein F0:n arvo, matalin F0:n arvo, keskimääräinen F0:n arvo, osion pituus, F0:n keskihajonta, värinä(jitter), kajo(shimmer), korkein intensiteetin arvo, matalin intensiteetin arvon ja keskimääräinen intensiteetin arvo. Puheen ominaisuuksien arvoista lasketaan tunnekohtaiset keskiarvot, sekä arvojen prosentuaaliset muutokset neutraalin tunteen arvoista. Tämän lisäksi arvojen avulla lasketaan sanat minuutissa, äänellisten ja äänettömien osioiden pituudet, sekä sanakohtainen taukoaika. Arvojen avulla luotiin edellämainittuja seitsemää tunnetta simuloivat syntetisoidut mies- ja naisäänet. Puhesyntetisaattorina käytettiin espeakkia. Saatuja ääniä testattiin kuuntelutesteillä. Testiin osallistui 14 ihmistä. Testi koostui pakotetun valinnan testistä, jossa testaajien piti valita, mitä tunnetta heidän kuulemansa ääninäyte vastasi. Tämän lisäksi heitä pyydettiin arvioimaan ääninäytteen tunteen esilletulon voimakkuutta, sekä puheen luonnollisuutta, mean opinion score asteikolla. Testit suoritettiin Google Forms -palvelulla. Tuloksista selvisi, että miesten keskimääräiseksi tunnistusprosentiksi saatiin 32,6% ja naisten keskimääräiseksi tunnistus prosentiksi 20,7%. Korkein tunnistusprosentti oli miesten kyllästyneellä äänellä, joka tunnistettiin 85,7% tarkkuudella. Matalimmat tunnistus prosentit olivat naisten pelossa ja inhossa. Kummankin tunnistusprosentti oli 0%. Tunteen esille tuonnin keskiarvo miehillä oli 3,2 ja naisilla 2,9. Luonnollisuuden arvot olivat keskimäärin 2,3 miehille ja 2,4 naisille. Luonnollisuuden arvot eivät muuttuneet paljoa eri tunteiden välillä ja niiden mataluus oli oletettavissa formantille synteesille. Alhainen tunnistusprosentti johtuu todennäköisesti ääninäytteissä käytetystä neutraalista intonaatiosta. Tunnekohtaisen intonaation lisääminen järjestelmään vaatii puhekorpuksen tarkempaa analyysiä. Tuloksia pitää katsoa suuntaaantavina kyselyn otannan ja asetelman takia. Avainsanat: emotionaalisen puheen analyysi, puhekorpus, puhesynteesi
Kemppainen V., Keronen H. (2016) Automatized analysis of emotional speech corpus and emotions applied in formant speech synthesis. Department of Computer Science and Engineering, University of Oulu, Oulu, Finland. Bachelor s thesis, 58 p. ABSTRACT This work presents a system that analyses and collects features of speech from a speech corpus which only consist of sound files. These features are used in presenting emotion. Work uses an emotional Finnish speech corpus made by MediaTeam. Corpus contains seven emotions: neutral, sad, happy, angry, scared, bored and disgust. Speech features were collected using Praat analysis software. Corpus which was used in the work did not contain premade markings so voiced and silent segments were marked to speech samples. With these segments following features of speech were measured: highest F0 value, lowest F0 value, mean F0 value, segment length, standard deviation of F0, jitter, shimmer, highest intensity value, lowest intensity value and mean intensity value. Emotion specific mean values and percentual deviation from neutral emotion were calculated from the features of speech. With these values the following features were calculated: word per minute, length of the silent and voiced segments and the word gap. Synthetic voices for male and female which simulated the previously mentioned seven emotions were created from the previously mentioned features. Espeak was chosen as the speech synthesizer for this work. Synthesized voices were tested with listening tests. Fourteen people participated in the tests. Test consisted of forced choice test in which testers had to choose which emotion the speech sample they heard was trying to emulate. After that the testers also had to evaluate the intensity of the emotion and naturalness of the voice using the mean opinion score scale. Tests were done using the Google Forms service. The results showed that the average recognition rate for male voice was 32,6% and for female voice 20,7%. Bored male voice had the highest recognition rate of 85,7%. Scared and disgusted female voice had a recognition rate of 0% making them the lowest. Mean value for the intensity of emotion for male voice was 3,2 and for female voice it was 2,9. Values of the naturalness of the voice was 2,3 for male and 2,4 for female voice. Naturalness of voice was consistent between speech samples and the low values were expected due to the inherent unnaturalness of formant speech synthesis. Low recognition rate was most likely due to the neutral intonation of the synthesized speech. Using emotion specific intonation requires more in depth analysis of the speech corpus. Results should be viewed as directional due to the sample size and the test setup. Keywords: analysis of emotional speech, speech corpus, speech synthesis
SISÄLLYSLUETTELO TIIVISTELMÄ ABSTRACT SISÄLLYSLUETTELO LYHENTEET 1. JOHDANTO 7 2. TAUSTAA 8 2.1. Puheen ominaisuuksia......................... 8 2.1.1. Prosodia............................ 8 2.2. Emotionaalinen puhe.......................... 9 2.2.1. Äänenkorkeus......................... 9 2.3. Puheentunnistus............................. 9 2.3.1. Puheentunnistuksen historiaa.................. 9 2.3.2. Dynaaminen aikasovitus.................... 10 2.3.3. Markovin piilomalli...................... 10 2.3.4. Keinotekoiset neuroverkot................... 11 2.4. Puhesynteesi.............................. 11 2.4.1. Puhesynteesin prosessi..................... 11 2.5. Puhesynteesimenetelmiä........................ 12 2.5.1. Formanttipuhesynteesi..................... 12 2.5.2. Artikuloiva puhesynteesi.................... 13 2.5.3. Ketjutussynteesi........................ 13 2.5.4. Yksikkövalintasynteesi..................... 13 2.5.5. Markovin piilomalli puhesynteesissä.............. 13 2.5.6. Syvät neuroverkot puhesynteesissä............... 14 2.6. Emotionaalisen ja ilmeikkään puheen syntetisointi........... 15 2.7. Puhesyntetisaattorin arviointi...................... 16 3. TOTEUTUKSEN KUVAUS 17 3.1. Rajoitukset............................... 18 3.2. Toteutuksen luonnissa käytetyt työkalut................ 18 3.2.1. Praat.............................. 18 3.2.2. Mediateam puhekorpus..................... 18 3.2.3. espeak............................. 19 4. AINEISTON ANALYYSI 20 4.1. Korpuksen osiointi........................... 20 4.2. Praat-analyysi.............................. 21 4.3. Python lajittelija............................. 22 4.4. Arvojen parsiminen........................... 22 4.5. Arvojen laskenta............................ 22
4.6. Arvojen tarkemmat kuvaukset..................... 23 4.7. Puhekorpuksen analyysin tulokset................... 24 4.7.1. Miesten ja naisten arvojen eroja neutraalissa tunteessa.... 24 4.7.2. Surullinen............................ 24 4.7.3. Vihainen............................ 25 4.7.4. Iloinen............................. 26 4.7.5. Pelokas............................. 27 4.7.6. Kyllästynyt........................... 28 4.7.7. Inho............................... 29 5. AINEISTON SOVELTAMINEN 30 5.1. Äänivarianttitiedosto.......................... 30 5.2. Äänivarianttitiedoston arvojen laskenta................. 31 5.3. Asetustiedosto.............................. 31 5.4. Rajapintaskripti............................. 32 6. TOTEUTUKSEN TESTAUS 34 6.1. Testauksen toteutus........................... 34 6.2. Testauksessa käytetyt ääninäytteet................... 34 6.3. Testauksen tulokset........................... 34 6.3.1. Neutraali............................ 35 6.3.2. Surullinen............................ 36 6.3.3. Vihainen............................ 36 6.3.4. Iloinen............................. 37 6.3.5. Pelokas............................. 38 6.3.6. Kyllästynyt........................... 39 6.3.7. Inho............................... 40 6.3.8. Kyselyn lisäpohdinta...................... 41 7. PROJEKTIN KUVAUS 43 8. TULEVA KEHITYS 44 9. YHTEENVETO 45 10. VIITTEET 46 11. LIITTEET 50
LYHENTEET F0 TTS HMM DNN SSML ToBI Perustaajuus(Fundamental frequency) Tekstistä puheeksi(text to speech) Markovin piilomalli(hidden Markov model) Syvät neuroverkot(deep neural network) Puhesynteesin merkintäkieli(speech synthesis markup language) Äänet ja taukomerkit(tones and break indices)
7 1. JOHDANTO Esineiden internet -sovellukset yleistyvät vuosi vuodelta ja tietotekniikan pioneerit luovat jatkuvasti uusia laitteita ja sovelluksia. Laitteet kuten Raspberry Pi mahdollistavat sen, että myös alan harrastajat kykenevät luomaan omia sovelluksiaan. Nämä sovellukset eivät välttämättä toimi tavanomaisella käyttöliittymällä, vaan ne voivat käyttää esimerkiksi ääni- tai liike-pohjaista käyttöliittymää. Jotta nämä äänellä toimivat sovellukset olisivat mielekkäämpiä käyttää, on tunteen esilletuonti syntetisoidussa puheessa tärkeää. Tällöin laitteen antama viesti välittyy käyttäjälle tehokkaammin. Puhesynteesi voidaan tehdä usealla eri tavalla ja käytettävä tapa kannattaa valita sovelluskohtaisesti. Harrastajien luomissa sovelluksissa, sekä esineiden internet laitteiden konseptien testaamisessa tarvitaan usein kevyttä ja helposti muokattavaa puhesynteesitapaa. Yksi tällainen tapa on formanttipuhesynteesi, jonka sovelluksia on yleisesti saatavilla ja ne ovat helposti muokattavissa. Jotta formanttipuhesynteesistä saataisiin tunteikasta, tarvitaan paljon tunnekohtaisia parametrejä, joita on erittäin hankala laatia käsin ja jotka ovat kielikohtaisia. Täten tarvitaan järjestelmä, joka luo tarvittavat parametrit automaattisesti kyseisen kielen emotionaalisesta aineistosta. Ongelman ratkaisemiseksi luotiin järjestelmä, joka analysoi suomenkielisen emotionaalisen puhekorpuksen, ja soveltaa saatuja tuloksia formanttiin puhesynteesiin.
8 2. TAUSTAA Toteutus käytti formanttiapuhesynteesiä sen keveyden ja muokattavuuden vuoksi. Synteesimenetelmiä on kuitenkin useita ja toteutukseen parhaiten sopiva menetelmä riippuu käyttötarkoituksesta. Eri menetelmillä toimivia syntetisaattoreita luodessa, puhetta tarkastellaan tavoilla. Formantin puhesynteesi tarvitsee joukon sääntöjä ja parametrejä, jotta se kykenee luomaan suhteellisen luonnollista puhetta, sekä ilmaisemaan tunnetiloja. Näiden sääntöjen ja parametrien luomiseksi täytyy ymmärtää puheen rakenne, sekä kuinka tunne ilmenee puheessa. 2.1. Puheen ominaisuuksia Puheen ominaisuudet voidaan jakaa kahteen pääkomponenttiin, verbaaliseen ja prosodiseen. Verbaaliseen komponenttiin kuuluu foneemeista, sanoista ja lauseista muodostuva järjestelmä. Foneemit ovat puhutun kielen äänteitä ja ne ovat kielikohtaisia. Prosodia eroaa verbaalisesta siinä, että se ei koostu pääosin symboleista. Prosodialla voidaan muun muassa ilmaista tunnetta, painottaa sanaa tai ilmaista lauseen loppumista [1]. 2.1.1. Prosodia Prosodia voidaan jakaa kahteen luokkaan: affektiiviseen ja augmentoivaan prosodiaan. Affektiivisella tuodaan esille tunnetta. Augmentoivassa prosodiassa prosodia vahvistaa tiettyä verbaalista ominaisuutta. Prosodian ominaisuuksia kutsutaan suprasegmentaalisiksi ominaisuuksi, koska niitä ei ole mahdollista ositella kirjoitetusta kielestä. Prosodiaan sisältyy äänen taajuus, kesto, intensiteetti ja spektrin ominaisuudet. Äänen intensiteetillä kuvataan lähetetyn energian määrää aikayksikköä kohden. Äänen intensiteetti on logaritmisesti verrannollinen äänen voimakkuuteen. Intonaatiolla tarkoitetaan äänenkorkeuden ja -voimakkuuden muutosta puheessa. Intonaation avulla voidaan tuoda puhujan asennoitumista ja tunnetilaa esille puheessa. Intonaatiolla voidaan ilmaista, onko puhe toteamus vai kysymys. Äänenkorkeudella voidaan lisätä painotusta tärkeään osaan puhetta. Prosodia on erityisen tärkeää sävelkielissä, eli kielissä, joissa sanan tarkoitus vaihtuu intonaation mukaan. Intonaation mallinnus voidaan jakaa kahteen koulukuntaan, äänen ketjuttamiseen ja kerrostamiseen. Näiden mallien merkitsemiseen on useita tapoja [2]. Yleinen intonaation merkitsemiseen käytetty tapa on ToBI. ToBI tulee lyhenteestä Tones and Break indices, eli suomeksi äänet ja taukomerkit. ToBI on kehitysrunko, joka tarjoaa yhteisölle yleissopimukset intonaation ja prosodian rakenteiden merkitsemiselle tietyssä kielessä. [3] Puheen tempoon otetaan huomioon tauottaminen ja epäröinti. Puheen artikulointinopeudessa näitä seikkoja ei oteta huomioon. Rytmi puheessa tarkoittaa tavujen ja painotuksien ajoitusta. Prosodiset piirteet ovat kieliopillisia, murteellisia, emotionaalisia, tapauskohtaisia ja lukuisia muita. Tauotuksella saadaan kontrastia puheeseen, jolla voidaan saada esille puheen tärkeimpiä merkityksiä. Tauotus voi olla äänellistä ja äänetöntä. [1]
9 2.2. Emotionaalinen puhe Tunteet jaetaan yleensä kuuteen päätunteeseen. Tutkijat eivät ole löytäneet yhteisymmärrystä siitä, mitkä tunteet kuuluvat tähän joukkoon. Yleisimmin käytetyt tunteet ovat inho, viha, pelko, ilo, suru ja yllätys [4, 5]. Kirjallisuudessa tunteet jaetaan tunnetasoihin tai erillisiin käsitteisiin. Tunnetasoja ovat esimerkiksi aktivointi, nautinto ja dominanssi. Erillisiä käsitteitä, joita käytetään tunteiden kuvaamiseen, on esimerkiksi viha ja suru. Käsitepohjaista tunteiden määrittelyä on helpompi käyttää, kun halutaan tutkia näyteltyä puhetta.[6] Tärkein parametri tunteen esilletuonnissa on äänen taajuus(f0). Intensiteetti, kesto ja puhetahti ovat myös tärkeitä parametreja.[7] Sovelluksissa, joissa käytetään vain pientä ominaisuusjoukkoa, on hyvä käyttää lisätekijöitä. Kaksi sellaista akustista lisätekijää ovat värinä(jitter) ja kajo(shimmer) [8]. Värinä(jitter) on satunnaisten syklien välisten muutoksien määrä vierekkäisten taajuusperiodien välillä. Se on siis F0:n häiriön määrä. Kajo(shimmer) on syklien välisten muutoksien määrä amplitudissa vierekkäisten taajuuden periodien välillä [7]. Äänenvoimakkuus on aistittava ominaisuus, joka korreloi äänen intensiteetin kanssa logaritmisesti [7]. Nyrkkisääntönä voi pitää sitä, että kymmenen desibelin intensiteetin muutos vastaa noin kaksinkertaista äänenvoimakkuutta [9]. 2.2.1. Äänenkorkeus Äänenkorkeudesta puhuttaessa tarkoitetaan yleensä F0, eli perustaajuutta(fundamental Frequency). Se on tahti, jolla aaltomuoto toistuu ajan yksikköä kohden [7]. Puheen F0:n vaikuttaa ikä ja sukupuoli. Myös yksilöiden välisissä F0-arvoissa on vaihtelua. Naisilla on korkeampi F0 kuin miehillä. Miehillä äänen F0 laskee merkittävästi murrosiässä ja jatkaa laskua hiljalleen 35-vuoteen asti. Miehillä F0 alkaa nousta keskimäärin 55-vuoden ikäisenä. Naisilla F0:n keskiarvo pysyy samana menopaussiin asti, jolloin F0 alkaa laskemaan noin 70-ikävuoteen asti. Miehillä F0 keskiarvo on 119 Hz ja naisilla F0 keskiarvo on 207 Hz.[10] 2.3. Puheentunnistus Tietotekniikassa automaattisella puheentunnistuksella tarkoitetaan sitä, kun kone tai ohjelma kykenee tunnistamaan sanoja ja muuntamaan ne koneella luettavaan muotoon. 2.3.1. Puheentunnistuksen historiaa Automaattinen puheentunnistus on kehittynyt vuosien varrella paljon Homer Dudleyn vuonna 1930 esittämästä puheen syntetisointi- ja analysointimallista, nykyisiin laitteisiin, jotka kykenevät tunnistamaan sanoja jopa 6,7 prosentin virhetarkkuudella [11, 12]. Puheentunnistuksessa on vuosien varrella käytetty monenlaisia metodeja ja usein puhetta tunnistavat laitteet eivät toimi vain yhdellä metodilla, vaan käyttävät niiden yhdistelmiä.
10 Ensimmäiset puheentunnistussovellukset toimivat akustisen fonetiikan pohjalta ja käyttivät dynaamista ajan sovitusta(dynamic time warping) vertaillessaan ääninäytteitä. Näillä laitteilla oli rajoitettu sanasto ja käyttäjän täytyi tallentaa laitteeseen useita versioita sanoista, joita sitten verrattiin tulevaan puheeseen. Ensimmäinen kaupallinen automaattinen äänentunnistustuote oli VIP-100 ja se toimi edellä mainitulla tekniikalla [13]. 1970 luvun puolivälissä lineaarisesti ennustavaa ohjelmointia(linear predictive coding) alettiin käyttää hyväksi puheentunnistuksessa [11]. Näihin aikoihin USA:n puolustusvoimien puheen ymmärrys-projekti vei automaattista puheentunnistamista eteenpäin. Heidän allaan luotiin muun muassa Harpy-puheentunnistuslaite, joka oli ensimmäinen puheentunnistuslaite, joka käytti graafin etsimistä(graph search). Harpyn jälkeen seuraavat suuremmat edistysaskeleet automaattisessa puheentunnistuksessa olivat IBM:n puheella toimiva Tangora-kirjoituskone, sekä AT&T:n tietoliikennesovellukset. Tangora käytti n-gram kielimallia. Tämä laite toimi vain, jos käyttäjän ääni oli opetettu laitteelle. AT&T:n laitteet olivat puhelinautomaatteja, eli niiden piti toimia kaikilla käyttäjillä ilman opetusta. Nämä laitteet käyttivät avainsanojen löytämistapaa. Eli ne eivät yrittäneet ymmärtää kaikkea sanottua tietoa, vaan ne etsivät tiettyjä sanoja ja tekivät näiden pohjalta toimenpiteitä. [11, 13] Markovin piilomallia (HMM) alettiin käyttää automaattisessa puheentunnistuksessa 1980-luvulla ja sen jälkeen sitä on käytetty miltei kaikissa puheentunnistussovelluksissa 2000-luvulle asti. 2000-luvulla koneoppimisalgoritmit ja tehokkaammat laitteet mahdollistivat keinotekoisten neuroverkkojen käytön.[14] Parhaat nykyiset puheentunnistus sovellukset käyttävät keinotekoisia neuroverkkoja ja koneoppimista, kuten esimerkiksi Googlen puheentunnistus [12]. 2.3.2. Dynaaminen aikasovitus Dynaaminen ajan sovitus on tekniikka, jolla etsitään optimaalista kohdistusta kahden aikariippuvaisen jakson välillä. Jaksoja muutetaan epälineaarisella tavalla vastaamaan toisiaan [15]. Dynaamista aikasovitusta käytettiin yleisesti automaattisessa puheentunnistuksessa sen alkuaikoina[11]. 2.3.3. Markovin piilomalli Markovin piilomalli on työkalu, jolla esitetään todennäköisyysjakaumia havaintoketjuista. Malli kehitettiin 1960-luvun lopulla ja sen käyttö puheentunnistuksessa yleistyi 1970-luvun loppupuolella [16]. Mallissa oletetaan kolmea asiaa, että jollain ajanhetkellä tapahtuva havainto tapahtuu piilotetun prosessin takia, tämä prosessi täyttää Markovin ehdon ja se on diskreetti. Markovin ehto tarkoittaa sitä, prosessin tila jollain ajanhetkellä on kaikki mitä prosessista tarvitsee tietää, että sen tulevaisuuden voi arvioida. [17].
11 2.3.4. Keinotekoiset neuroverkot Keinotekoiset neuroverkot ovat yksinkertaistettu matemaattinen malli biologisista hermojärjestelmistä. Verkkojen perusarkkitehtuuri koostuu kolmesta neuroni kerrostyypistä: syöte, piilotettu ja ulostulo. Verkko oppii samanlaisella periaatteella, kuin ihmisen aivot. Kun hermosolut ovat aktiivisina samaan aikaan, niin niiden välistä yhteyttä vahvistetaan. Verkkojen opetustavat voidaan jakaa kolmeen luokkaan: valvottu oppiminen, valvomaton oppiminen ja vahvistettu oppiminen. Valvotussa oppimisessa systeemi saa syötteilleen valmiit toivotut tulokset ja se käyttää näitä hyväkseen verkon painotuksessa. Valvomattomassa oppimisessa systeemille ei anneta valmiita tuloksia, vaan sen täytyy luoda omat tilastollisesti hyvät tulokset. Vahvistetussa oppimisessa systeemille annetaan päämäärä, esimerkiksi maksimoida jonkin funktion arvo, mutta ei tapoja millä päästä tähän päämäärään. Tällöin systeemin täytyy onnistumisen ja epäonnistumisen kautta löytää keino, jolla se saavuttaa parhaan tuloksen. [18] 2.4. Puhesynteesi Puhesynteesillä tarkoitetaan kaikenlaista puheen tuottamista. Syntetisoinnissa on useita haasteita kuten puheen luonnollisuus, ymmärrettävyys, laatu ja miellyttävyys. Puheen syntetisointia käytetään monissa eri sovellutuksissa, kuten puhelinpalveluissa, joukkoliikenteen ilmoituksissa ja palveluohjelmistoissa. 2.4.1. Puhesynteesin prosessi Syntetisoinnin vaiheet koostuvat yleensä teksti-, fonetiikka- ja prosodia-analyysistä, sekä ääniaallon luonnista. Tekstianalyysissä teksti normalisoidaan, esimerkiksi numerot ja lyhenteet muunnetaan kokonaisiksi sanoiksi. Tällä saadaan aikaan, että tekstistä tulee puhekelpoista. Sen jälkeen suoritetaan lingvistinen analyysi, joka pyrkii ymmärtämään tekstin sisällön. Tätä tarvitaan, kun joidenkin sanojen ääntäminen riippuu käytettävästä kontekstista. Foneettinen analyysi muuntaa tekstin kirjaimet äänteiksi käyttämällä foneettista aakkostoa. Eri kielillä foneettinen analyysi aiheuttaa eriasteisia haasteita. Kielissä joissa ääntämis- ja kirjoitusasu poikkeaa paljon toisistaan, on foneettinen analyysi hankalaa. Prosodisessa analyysissa puheeseen lisätään rytmi, painotukset ja intonaatio. Näillä saavutetaan parempi puheen ymmärrettävyys ja välitetään tietoa, kuten puhujan ominaisuuksia. Ääniaallon luontivaiheessa luodaan varsinainen puhesignaali. Tähän vaiheeseen löytyy monia eri toteutustapoja, joita käydään läpi seuraavassa kappaleessa. [19, 20, 21]
12 Kuva 1. Puheen syntetisoinnin yleinen rakenne TTS-järjestelmässä 2.5. Puhesynteesimenetelmiä Ensimmäiset puhesyntetisaattorit olivat mekaanisia laitteita, jotka jäljittelivät ihmisen ääntöväylää. Puheen luontia alettiin tarkemmin tutkimaan 1700-luvulla. Vuonna 1773 Christian Kratzenstein esitteli vokaaleja tuottavan mekaanisen puhesyntetisaattorin. Ensimmäinen elektroninen puhesyntetisaattori oli VODER(Voice Operating Demonstrator), joka julkaistiin 1930-luvulla [11]. Puhesynteesissä voidaan käyttää useita erilaisia menetelmiä. Nämä menetelmät voidaan jakaa kolmeen generaatioon. Ensimmäisessä generaatiossa puheen malli tehtiin pääosin käsin. Ensimmäisen generaation tärkeimpiä syntetisointimenetelmiä ovat artikuloiva puhesynteesi ja formanttipuhesynteesi. Toisen generaation syntetisaattorit alkoivat käyttää datapohjaista lähestymistapaa, jossa puheen parametrit kerätään tietopankista. Tietopankkeihin tallennetaan ääntä, johon merkitään äänteet, yleensä difonit, ja ne ketjutetaan puheeksi puheen syntetisointivaiheessa. Toisen generaation menetelmiä ovat ketjutus- ja yksikkövalintasynteesi. Kolmannen generaation puhesyntetisaattorit käyttävät tilastollista datapohjaista lähestymistapaa. Selkein ero toisen ja kolmannen generaation metodeissa on tapa, jolla ne käyttävät tietopankkeja. Toisen generaation menetelmät muistavat tallennetun tiedon, kun taas kolmannen generaation menetelmät oppivat puheen yleiset ominaisuudet. Etuna näissä menetelmissä on se, että ne vievät huomattavasti vähemmän muistia[22]. Kolmannen generaation menetelmiä ovat HMM- tai DNN-pohjaiset opetetut systeemit.[1] 2.5.1. Formanttipuhesynteesi Formanttisynteesitekniikassa ei käytetä tallennettua ääntä ja se on vanhin menetelmä. Menetelmässä luodaan jaksollista ja ei-jaksollista herätesignaalia, ja tämä laitetaan formantteja malleja käyttävään ääntöväyläsuodattimeen. Ääntöväyläsuodatin asetetaan mallintamaan ihmisen ääntöväylän ominaisuuksia. Menetelmällä saadaan helposti monipuolisia ääniä, mutta ääni kuulostaa epäluonnolliselta. Formanttisyntetisaattorin parametrit muodostuvat säännöistä, jotka luonnehtivat äänteen ominaisuuksia ja äänteen kontekstia. Jotta formantissa puhesynteesissä päästäisiin erittäin luonnolliselta kuulostavaan ääneen, pitää luoda erittäin tarkat parametrit, mutta tarkkojen parametrien automaattisesti luominen on hankalaa. Tästä ja monimutkaisten formanttisääntöjen käsin luomisen hankaluuden takia, formanttisynteesistä on luovuttu pääsääntöisesti. [1]
13 2.5.2. Artikuloiva puhesynteesi Artikuloiva synteesi jäljittelee puheentuottamista ihmisen ääntöväylän tapaista laitetta käyttäen, tai sitä mallintaen. Artikulatorinen synteesi on malli ja laskennallisilta osiltaan erittäin raskas puhesynteesitapa. Tätä tapaa ei paljoakaan käytetä. [1, 20] 2.5.3. Ketjutussynteesi Ketjutussynteesitekniikassa kerätään tietokanta, mikä sisältää puhetta ja tämä puhe paloitellaan osiksi. Syntetisointi vaiheessa syntetisoitu puhe kootaan näistä osista [23]. Yleensä äänneyksikkönä käytetään difooneja. Joissain tapauksissa käytetään myös erilaista puheen paloittelua. Puhe voidaan paloitella esimerkiksi sanoittain tai virkkeittäin. Tätä metodia käytetään esimerkiksi joukkoliikenteen ilmoituksissa ja sitä kutsutaan domain-specific -synteesiksi. Ketjutusmetodia käytetään nykyään paljon puheen tuottamisen tapana. Ketjutusmetodi on useamman puheensyntetisointitavan perusta. [1] 2.5.4. Yksikkövalintasynteesi Yksikönvalintasynteesitekniikassa äänen tuottamiseen käytetään suurta tallennettua puhetietokantaa. Tietokantaan tallennetuista nauhoitteista otetaan talteen monia tietoja, kuten nauhoitteen äänteet, tavut, morfeemit, sanat ja virkkeet. Kun tuotetaan ääntä, tietokannassa etsitään lähiten haluttua tulosta vastaavat äänet ja ne yhdistetään ketjuksi. [1] 2.5.5. Markovin piilomalli puhesynteesissä Tavanomaisessa tilastollisessa parametripohjaisessa puhesyntetisaattorissa käytetään konteksti pohjaisia, Markovin piilomalleja esittämään puheparametrien todennäköisyystiheyksiä [14]. Kuvassa 2 näkyy esimerkki HMM-pohjaisesta puhesyntetisointisysteemistä. Opetusvaiheessa tietopankista kerätään puheen parametrit[24] ja ne mallinnetaan konteksti kohtaisilla Markovin piilomalleilla. Syntetisointi vaiheessa näistä parametreistä luodaan puhetta [22]. Ketjutussynteesi voidaan myös tehdä HMMpohjaisesti [25, 26].
14 Kuva 2. Esimerkki HMM-pohjaisesta puhesyntetisaattorista 2.5.6. Syvät neuroverkot puhesynteesissä Syvästä oppimisesta on tullut valtavirtateknologia puheentunnistuksessa, [27] mutta sitä käytetään myös puhesynteesissä. Sitä käytetään puheen parametrien hankkimisessa HMM sijasta [27]. Syynä tähän on HMM-päätöspuiden rajoitteet, esimerkiksi päätöspuut ovat tehottomia mallintamaan monimutkaisia kontekstiriippuvuuksia [14]. Syvän ja matalan arkkitehtuurin ero on tuntemattomien tasojen määrä. Jos arkkitehtuurissa on yli kolme piilotettua tasoa, niin se on syvä arkkitehtuuri [14]. Tämä tarkoittaa että HMM-pohjaisissa systeemeissä käytetty päätöspuurakenne on matala-arkkitehtuuri. Kuvassa 3 on esimerkki DNN-pohjaisen puhesyntetisaattorin rakenteesta. Ensin syntetisoitava teksti muutetaan syötteiksi. Sitten syötteet kuvataan tulosteeseen opetetulla DNN:llä käyttäen eteenpäin leviämistä(forward propagation). DNN:n painot voidaan opettaa syöte ja tuloste pareilla, jotka on otettu opetusdatasta [14]. Käyttämällä puheparametrin luontialgoritmia[24] DNN:stä saataviin vektoreihin, voidaan luoda saman tyyliset puheparametrit kuin HMM- pohjaisessa puhesynteesissä.
15 Kuva 3. Esimerkki DNN-pohjaisesta puhesyntetisaattorista 2.6. Emotionaalisen ja ilmeikkään puheen syntetisointi Suurin osa puhesyntetisaattoreista toimii vain neutraalilla puhesävyllä. Uusissa sovelluksissa on kysyntää emotionaaliselle puhesynteesille. Synteesijärjestelmät tarvitsevat laajan emotionaalisen skaalan. [1] Murrayn ja Cahnin puhesyntetisaattorit olivat ensimmäisen generaation emotionaalisia puhesyntetisaattoreita, jotka toimivat formanttisynteesillä [28, 29]. Eräs ongelma tunteen toteuttamisessa formantissasynteesissä on, kun synteesiä muutetaan lingvistisin keinoin, niin puhe alkaa poiketa paljon luonnollisesta puheesta. Täten mitä enemmän tiettyä tunnetta halutaan tuoda esiin, sitä enemmän luonnollisuus kärsii [1].
16 Toisen generaation emotionaalisen puhesynteesin menetelmiä on useita. Menetelmille yhteistä on, että ne käyttävät tietokantoja, jotka sisältävät puhetta tietyillä emootioilla ja puheiden emotionaaliset ominaisuudet on merkitty ylös tietokantaan [30, 31]. Käytännössä kirjastoon merkitään puheen perinteiset prosodiset dimensiot, F0 ja ajoitus. Kun nämä tiedetään, normaalia puhetta voidaan muuttaa emotionaaliseksi puheeksi käyttämällä signaalin prosessointimetodeja, jotka muuttavat F0:a ja ajoitusta. Luonnollisuus kärsii kun vain F0 ja ajoitusta muutetaan, mutta muita tärkeitä osatekijöitä kuten äänen laatua ei oteta huomioon [1]. Tietokantalähtöisessätekniikassa tärkeään osaan tulee tietokannan emotionaalisen tiedon kerääminen. Tähän on yleensä kaksi eri tapaa. Voidaan kerätä luonnollista ja spontaaneita keskusteluita ja nimetä lauseiden emotionaaliset sisällöt. Täten saadaan luonnolliselta kuulostavaa puhetta, mutta puheen emotionaalisten ominaisuuksien merkitseminen on hankalaa. Campbellin ja Douglas-Cowien tietokannat ovat esimerkkejä näistä tietokannoista. [32, 33] Toinen keino on että näyttelijät tuottavat puhetta tietyllä tunteella. Näin sisällön emotionaalisten ominaisuuksien merkitseminen on helppoa. Tämän metodin ongelmana on että tuotettu puhe saattaa olla liian tunteella sävyttynyttä eikä luonnollista [1]. 2.7. Puhesyntetisaattorin arviointi Puhesyntetisaattorin testaamistapa riippuu syntetisaattorin käyttötarkoituksesta.yleisin tapa testata puhesyntetisaattoria on käyttää pakotetun valinnan testiä, jossa testattavien on valittava mitä tunnetta heidän kuulemansa ääninäyte vastaa. Tämä ei kuitenkaan anna minkäänlaista kuvaa äänen laadusta. Siksi testeissä yleensä kysytään myös äänen ymmärrettävyyttä ja luonnollisuutta. [1, 34] Ymmärrettävyyttä voidaan mitata kysymällä testikuuntelijoilta kysymyksiä kuulemastaan puheesta [35]. Ymmärrystestin testilauseet kannattaa valita huolella. Kuten englanninkielistä puhesyntetisaattoria testattaessa, voidaan käyttää Harvard-lauseita, joissa foneemijakauma on luonnollinen. Tällöin saadaan kattava kuva järjestelmän eri äänistä. Esimerkki Harvard-lauseesta: These days a chicken leg is rare dish [36]. Myös voidaan käyttää Haskins-lauseita, joissa sisältö on semanttisesti arvaamaton, joten testaajat eivät voi arvata kuulemiaan sanoja. Esimerkki Haskins-lauseesta The wrong shot led the farm [37]. Puheen luonnollisuutta testattaessa käytetään mean opinion score -asteikkoa. Kuuntelija antaa arvosanan yhdestä viiteen kuulemastaan puheen luonnollisuudesta. Tässä on ongelmana, että testaaja saattaa antaa arvosanan äänen miellyttävyyden perusteella, eikä luonnollisuuden mukaan. Tämä ongelma voidaan välttää, jos käytetään useampaa erilaista testiä, joita sitten voidaan verrata keskenään. [1, 34]
17 3. TOTEUTUKSEN KUVAUS Työssä esitetään järjestelmä, joka kerää ja analysoi tunteisiin liittyviä prosodisia elementtejä puhekorpuksesta ja asettaa elementit formanttiin puhesyntetisaattoriin, luoden tunteikasta puhetta. Syntetisaattoriksi valittiin espeak, koska se tukee suomen kieltä ja käyttää formanttia puhesynteesiä. Joten se ei käytä paljoa resursseja ja toimii täten Raspberry Pissä [38]. Espeak on yleisesti käytetty puhesyntetisaattori. Ohjelma on helppokäyttöinen ja siinä on mahdollista muokata emotionaaliseen puheeseen tarvittavia arvoja. Espeakiin voi tehdä oman rajapinnan Pythonilla, käyttämällä komentorivikomentoja ja luomalla tarvittavat tiedostot. Puhekorpuksena käytettään MediaTeamin tekemää emotionaalista puhekorpusta. Korpus koostuu kahdeksasta mies- ja kuudesta naisnäyttelijän esittämistä ääninäytteestä. Näyttelijät lukivat 118 sanan mittaisen tekstin eri tunnetiloja simuloiden [39]. Korpuksen analysointiin käytettiin Praat-puheanalyysiohjelmaa [40]. Praatiin luotiin skriptejä, jotka käyvät läpi jokaisen äänitiedoston ja luovat niille TextGrid-tiedostot, joka jakaa ne äänellisiin ja äänettömiin osioihin. Tämän jälkeen skripti kerää osioista prosodia tietoja ja taulukoi ne. Lista tiedoista kuvassa 5. Praatin keräämät tiedot kerätään yhteen Python-skriptillä. Tiedot jaetaan sukupuolen ja tunnetilan mukaan. Tiedot analysoidaan ja eri tunteiden arvoja verrataan neutraaliin tunteeseen. Vertailun jälkeen tiedot skaalataan espeakille sopivaan muotoon ja tallennetaan Pythonin ja espeakin välistä rajapintaa varten. Rajapinnassa luodaan espeak-komento, joka käyttää korpuksesta kerättyjä arvoja espeakiin skaalattuna, jolla luodaan tunteikasta puhetta. Rajapintaan syötetään puhujan sukupuoli, haluttu tunnetila, virke tai SSML-tiedosto. Kuva 4. Toteutuksen rakennekaavio
18 3.1. Rajoitukset Toteutuksessa käytetyt prosodian arvot ovat hyvin geneerisiä. Osiot, joiden yli arvot on laskettu, ovat itse generoituja. Tämä johtuu puhekorpuksen rakenteesta. Korpus koostuu 98 äänitiedostosta, joiden pituus vaihtelee minuutista melkein kahteen minuuttiin. Näytteissä on virheitä, kuten yskäisyjä, häiriöääniä ja väärinlukuja. Työssä käytetty korpus ei myöskään sisällä mitään merkintöjä, kuten äänteiden tai virheiden paikkoja. Aikarajojen vuoksi korpuksen tarkempi analyysi, joka tarvitsee korpuksen tarkempaa merkitsemistä, jätettiin ratkaisun ulkopuolelle. Tarkempaan analyysiin olisi kuulunut yksittäisten äänteiden prosodian tarkastelu. Tällöin yksittäisten äänteiden painotuksiin ja pituuksiin olisi voitu puuttua. Nykyinen sovellus keskittyy prosodian arvoihin, jotka voidaan laskea pidemmistä äänellisistä osioista, jotka voitiin generoida skripteillä. Korpuksen tarkempi analyysi ja suurempi korpus mahdollistaisi sen, että voitaisiin luoda suomen kielen emotionaalinen prosodiasääntötietokanta. Sääntötietokannan puuttumisen vuoksi joudutaan käyttämään puheen sanoissa neutraalia prosodian äänenkorkeuskäyrää ja -painotusta. Jos sovelluksessa halutaan käyttää neutraalista poikkeavaa intonaatiota, joudutaan se lisäämään käsin käyttämällä SSML-tiedostoa. Korpuksesta saatuihin arvoihin vaikuttaa myös tunnetilan ilmaisu. Tunteet ovat näyttelijöiden tulkintoja eri tunteista, joten ne eivät vastaa luonnollisia tunteita vaan ovat tunteiden karikatyyrejä [39]. Näyttelijät voivat tulkita tunteet miten haluavat, eli tulkintojen erot voivat vaikuttaa arvoihin. 3.2. Toteutuksen luonnissa käytetyt työkalut Toteutuksessa käytetyt arvot saatiin MediaTeamin puhekorpuksesta ja sille tehdyt analyysit tehtiin Praat-puheanalyysiohjelmalla. Sovelluksessa luotu rajapinta-skripti ohjaa espeak-puhesyntetisaattoria. 3.2.1. Praat Praat on Paul Boersman ja David Weenikin luoma ilmainen ohjelma, joka pystyy analysoimaan, syntetisoimaan ja manipuloimaan puhetta. Se kykenee myös luomaan korkealaatuisia kuvia artikkeleihin, sekä tutkielmiin. Praat:ia käytetään useissa puheanalyysisovelluksissa [41, 42, 43]. Praatin toimintaa voi automatisoida Praatin skriptikielellä. Tällöin laajoja aineistoja voi analysoida puoliautomaattisesti. [40, 44] 3.2.2. Mediateam puhekorpus MediaTeamin puhekorpus oli tekohetkellään suurin suomenkielinen tunteikkaan puheen tietokanta. MediaTeamin puhekorpus sisältää materiaalia 14:sta ammattilaisääninäyttelijältä. Näyttelijöistä kahdeksan oli miehiä ja kuusi naisia. Näyttelijöiden ikä vaihteli 25-50 vuoteen.[39] Heitä oli pyydetty lukemaan foneettisesti rikas suomenkielinen teksti, jonka pituus oli reilut 100 sanaa. Teksti kertoi variksenmarjan ominaisuuksista, eli se oli semantti-
19 sesti neutraali. Lukiessaan tekstiä näyttelijät simuloivat seitsemää tunnetta: neutraali, ilo, suru, viha, pelko, kyllästyneisyys ja inho. Puhekorpuksen äänitiedosto ovat wav -formaatissa ja ne on nauhoitettu 48 khz:llä, 16-bittisenä kaiuttomassa studiossa. [39] 3.2.3. espeak Espeak on ilmainen avoimen lähdekoodiin perustuva puhesynteesiohjelma Linuxille ja Windowsille, joka toimii usealla eri kielellä. Syntetisaattori käyttää formanttia synteesiä. Tämä mahdollistaa monen kielen tarjoamisen pienessä koossa. Puhe on selkeää ja sitä voidaan käyttää nopeatempoisessa puheessa. Se ei kuitenkaan ole niin luonnollista tai sulavaa kuin suuremmissa syntetisaattoreissa, jotka perustuvat puhenäytteisiin [38]. Espeak tarjoaa useita ääniä, joita voi muokata. Puhetta voi muokata SSML-tiedostolla, muuttamalla äänivarianttitiedostoja, komentolinjakomennoilla tai muokkaamalla kielikohtaisia sääntökirjastoja tai foneemikohtaisia asetuksia [38]. SSML on internetpalveluita varten kehitetty stantardisoitu puhesynteesimerkintäkieli, jolla voidaan merkitä esimerkiksi puheen prosodisia ominaisuuksia [45].
20 4. AINEISTON ANALYYSI MediaTeamin puhekorpus analysoitiin käyttämällä Praat-puheanalyysiohjelmaa. Puhekorpus sisältää 98 äänitiedostoa, joten luotiin skripti, joka käy läpi jokaisen tiedoston ja tekee niille tarvittavat analysoinnit. Praatista saaduista tuloksista laskettiin tunnnekohtaiset keskimääräiset arvot Python-skriptiä käyttämällä. Kuva 5. Praat-skripteistä saadut arvot 4.1. Korpuksen osiointi Koska työssä käytetty korpus ei sisältänyt mitään merkintöjä, luotiin skripti, joka jakaa ääninäytteet äänellisiin ja äänettömiin osioihin. Skripti käy läpi jokaisen äänitiedoston ja luo niille samannimisen TextGrid-tiedoston, johon hiljaiset osiot merkitään. TextGrid-tiedostot sisältävät merkintöjä, kuten äänteiden ja muiden ominaisuuksien sijainteja ääninäytteissä. Toteutuksessa käytetty skripti tunnistaa ja merkitsee hiljaiset osiot äänen intensiteetin avulla. Osion minimipituus pystyttiin säätämään halutuksi. Skripti on rakennettu Mietta Lennesin skriptin pohjalta [46].
21 Skriptiä testattiin useilla eri arvoilla. Ajon jälkeen otettiin kolmen äänen otos ja verrattiin, kuinka hyvin skripti jakoi ääninäytteet. Testien jälkeen toteutuksessa päädyttiin käyttämään hiljaisuuden maksimi-intensiteettiarvona 59 desibeliä ja osion minimipituutena 0,04 sekuntia. Myöhemmin mainittavat analysointiskriptit ajettiin myös useilla eri arvoilla luoduilla TextGrideillä ja tuloksia verrattiin toisiinsa. Toteutuksessa yritettiin päästä tilanteeseen, jossa jokainen sana olisi erotettu toisistaan. Skriptiä tehdessä kuitenkin selvisi, että tähän tarkuuteen ei päästä ilman manuaalista sanojen ja äänteiden erottelua. Toteutus jakaa tiedostot keskimäärin alle yhden sekunnin osioiksi. Tämä tarkistettiin laskemalla osioiden keskimääräinen pituus myöhemmin mainitussa Python skriptissä. Kuva 6. Esimerkki äänen osioimisesta. 4.2. Praat-analyysi Edellä mainituista osiosta laskettiin tärkeitä tunteisiin vaikuttavia prosodian arvoja. F0:n arvojen laskemiseksi luotiin skripti, joka laski osioiden F0:n suurimman ja pienimmän arvon, keskiarvon, sekä keskihajonnan. Lasku suoritetaan Praatin sisäisellä Pitch-objektilla, joka suorittaa laskutoimituksen valitussa taajuusikkunassa. Taajuusikkunan kooksi määriteltiin 40-310 hertsiä. Koko määritettiin nostamalla sitä pienemmästä haarukasta kunnes arvot eivät enää osuneet suoraan taajuusikkunan ääriarvoihin. Tällöin mukaan tuli häiriöarvoja, mutta niihin puututtiin tiedon lajitteluvaiheessa. Skripti kirjoitti kaikkien TextGridiin luotujen osioiden F0-arvot, sekä osioiden pituudet erilliseen tekstitiedostoon, jota käytetään tiedon lajitteluvaiheessa. Lista Praatskripteistä saaduista F0-arvoista kuvassa 5. Osioiden värinän ja kajon laskemiseksi käytetään erillistä skriptiä. Skripti käyttää Praatin VoiceReport-objektia, jolla se pystyy laskemaan äänitiedostojen värinän ja kajon. Skripti kirjoittaa jokaisen äänitiedoston kokonaisvärinän ja -kajon erilliseen tekstitiedostoon. Äänen intensiteetin laskemiseksi luotiin erillinen skripti, joka käyttää Praatin Intensityobjektia, jolla se kykenee laskemaan jokaisen äänellisen segmentin intensiteetin ja kirjoittamaan sen erilliseen tekstitiedostoon.
22 Toteutuksessa käytetyn puhekorpuksen analysointiin käytettiin myös Nivja H. Jongin ja Ton Wempen luomaa Praat-skriptiä. Skripti yrittää etsiä äänen tavujen keskuksen ja laskea tällä tiedolla äänen puhetahdin sekä muita puheen tahtiin liittyviä arvoja [47]. Lista puhetahtiarvoista kuvassa 5. Skriptin tuloksia tutkiessa selvisi, että tavun tunnistus ei toiminut tarkasti. Tunnistetut tavumäärät heittelivät useilla kymmenillä, vaikka kaikissa ääninäytteissä luettiin sama teksti. Tätä skriptin heikkoutta käytettiin myöhemmin hyödyksi varianttitiedoston luonnissa. 4.3. Python lajittelija Praat-skripteistä saatuja arvoja varten tehtiin Python-lajittelijaskripti. Skripti tulkitsee Praatin luomat tekstitiedostot ja laskee arvotaulukoista prosodia-arvoja, joita tarvitaan toteutukseen ja tunteiden arviointiin. Python-lajittelijaskripti laskee keskiarvoja erikseen sukupuolen ja tunteen mukaan eri ääninäyttelijöiden puheotosten väliltä. Python-lajittelijaskripti luo espeak äänivarianttitiedoston ja asetustiedoston, joita Python-rajapintaskripti käyttää komentaakseen espeakia. Äänen ominaisuuksia muutetaan espeakissa äänivarinttitiedoston ja espeak-komentolinjakomennon avulla. Puhesyntetisaattorin äänivarianttitiedosto ja komentolinjakomennot sisältävät useita tapoja muokata puheen ominaisuuksia [38]. 4.4. Arvojen parsiminen Lajittelija lukee Praatin luomat neljä tekstitiedostoa. Tiedostot sisältävät taajuuden, intensiteetin, värinän ja puhetahdin arvoja. Lista arvoista on kuvassa 5. Tiedostot koostuvat sarakkeista, joissa on äänitiedoston nimi, sekä tiedostosta riippuvat arvot. Tiedoston nimi koostuu sanasta Monologi, ääninäyttelijän numerosta, tunteen numerosta, sekä näyttelijän sukupuolesta. Lajittelija parsii tiedoston nimestä kyseiset arvot ja käyttää näitä hyväksi lajitellessaan tietoja. 4.5. Arvojen laskenta Neljästä Praatin arvotiedostosta lasketaan kootut tulokset yhteen tiedostoon. Koottuja arvoja käytetään korpuksen analysointiin ja toteutuksessa käytettävien arvojen laskemiseen. Jokainen arvo lasketaan erikseen miehille ja naisille. Kyseiset arvot on jaettu tunteitain: neutraali, surullinen, vihainen, iloinen, pelokas, kyllästynyt ja inho. Tiedot on jaettu otsakkeittain ja arvot ovat sarakkeissa. Sarakkeet on jaettu tunteeseen, arvoon ja arvon prosentuaaliseen muutokseen neutraalista arvosta.
23 Kuva 7. Toteutuksessa käytetyt arvot 4.6. Arvojen tarkemmat kuvaukset Jokaiselle ääninäytteelle lasketaan keskimääräiset F0:n arvot. Tämä tehdään laskemalla jokaisen osion yksittäiset arvot yhteen ja laskemalla näille keskiarvo. Näillä arvoilla lasketaan tunnekohtaiset keskimääräiset F0:n arvot. F0:n maksimi- ja minimiarvot ovat osion absoluuttisia ääriarvoja. Ne ovat usein vahinkoarvoja, koska ne yleensä esittävät tahattomia äänen muutoksia. Tämän takia on hyvä käyttää viidettä ja 95:tä persentiili arvoa niiden sijasta [7]. F0:n keskimääräistä minimi- ja maksimiarvoa laskiessa jätettiin viiden ja 95 persentiilin yli menevät arvot huomioimatta. Persentiilin laskeminen tehdään Pythonin Numpy-kirjaston avulla. Keskimääräistä osion pituutta, keskiarvoa, sekä hajontaa laskiessa, käytetään kaikkia saatuja arvoja. Intensiteetin minimi-, maksimi- ja keskiarvoa laskettaessa käytetään samaa laskutapaa. Värinä, kajo sekä puhetahti-skriptin arvot ovat ääninäytekohtaisia. Näitä käsitellessä kaikkien samaa sukupuolta ja samaa tunnetta edustavien näytteiden kesken laskettiin keskiarvo. Näin saatiin tunne- ja sukupuolikohtainen keskimääräinen tulos jokaiselle arvolle. Samaa sukupuolta edustavien ja tunnetiloja vastaavien ääninäytteiden pituuksista lasketaan keskiarvo. Tätä käytetään sanojen minuutissa laskemiseen, joka lasketaan jakamalla puhekorpuksen transkriptiosta laskettu sanamäärä ääninäytteen keskimääräisellä pituudella. Vaikka Jongin ja Wempen skripti[47] laski vastaavia puhetahdin arvoja, näitä ei käytetty sovelluksessa. Syynä tähän oli se, että espeak ei ottanut vastaan skriptin antamaa puhetahtia(tavua/minuutissa) vaan se toimii sanaa/minuutissa periaatteella. Keskimääräinen taukoaika saadaan jakamalla äänetön aika sanamäärällä. Äänetön aika saadaan ottamalla kaikki ääninäytteen äänelliset osiot ja vähentämällä ne ääninäytteen kokonaispituudesta.
24 4.7. Puhekorpuksen analyysin tulokset Puhekorpuksen analyysin tarkat tulokset löytyvät Liitteet-kappaleen taulukoista 1-10. Tiedosto sisältää Praat-skriptin laskemien tunnekohtaisien arvojen keskiarvot. Arvot on jaettu sukupuolittain. Seuraavissa kappaleissa käydään ääninäytteistä saatuja arvoja lävitse verraten niitä neutraaliin tunteen arvoihin. Kappaleissa keskitytään vain toteutuksessa käytettyihin arvoihin. Kuva 8. Neutraalien arvojen taulukko 4.7.1. Miesten ja naisten arvojen eroja neutraalissa tunteessa Neutraalin tunteen arvot ovat kuvassa 8. F0:n osalta sukupuolien välillä on odotettavia eroja. Miesten F0 keskiarvo on 94 hertsiä, kun taas naisten keskiarvo on 152 hertsiä. Naisten F0:n minimin ja maksimin väli on myöskin kaksinkertainen verrattuna miehiin. Erot ovat normaaleja verrattuna vastaaviin tutkimuksiin, mutta itse arvot ovat hieman vastaavissa tutkimuksissa saatujen arvojen alapuolella[10, 48]. Syynä tähän on mahdollisesti ääninäyttelijöiden ikä. Ääninäyttelijöistä useampi oli vanhempi, joten heidän äänensä oli nuorempaa matalampi. Miesten äänien värinä ja kajo ovat suurempia kuin naisten. Miesten intensiteetti on myös noin kaksi ja puoli desibeliä korkeampi. 4.7.2. Surullinen Kuten kuvan 9 taulukosta tulee ilmi, surullisuus tulee F0:n osalta esille lievinä F0:n arvojen muutoksina. Muutokset ovat pieniä, mutta aiheuttavat molemmilla sukupuolilla lievästi matalamman äänen taajuuden. Sanakohtainen taukoaika nousi huomattavasti, kun taas puheen nopeus laski. Surullisena henkilöt puhuivat hitaammin ja pitivät pidempiä taukoja. Värinän osalta todettiin muihin tunnetiloihin verrattain suuri kasvu. Kuten kuvan 10 taulukosta nähdään, oli värinän arvo korkeimmillaan surullisessa tunteessa. Kajon osalta todettiin myöskin verrattain suurta nousua. Intensiteetissä huomattiin odottamatonta nousua. Tarkemmissa Praatin avulla tehdyissä äänen tarkasteluissa selvisi että intensiteetin nousu johtuu mahdollisesti lisääntyneistä henkäys äänistä, joita näyttelijät lisäsivät suoritukseensa tuodakseen tunnetta vahvemmin esille. On myös mahdollista että jossain tapauksissa näyttelijät puhuivat
25 lähempänä mikkiä, mikä lisäsi hengitysääniä. Tämä toteamus on kuitenkin täysin toteutuksen tekijöiden oman kuuntelun tuloksista luotu arvio. Kuva 9. Surullisten arvojen taulukko Kuva 10. Värinä arvojen taulukko Kuva 11. Kajo arvojen taulukko 4.7.3. Vihainen Kuten kuvan 13 taulukosta nähdään F0:n arvoissa tapahtuu verrattain suurta kasvua. Vihaista esittäessään näyttelijät puhuivat huomattavasti korkeammalla äänellä kuin muissa tunnetiloissa, iloista lukuun ottamatta. Sanakohtaisessa taukoajassa ilmeni kasvua. Mutta kuten kuvan 16 taulukosta nähdään, niin arvo oli kuitenkin tunnetiloista matalin, neutraalia lukuun ottamatta. Puhe
26 nopeuden osalta havaittiin miesten osalta lievää nousua ja naisten osalta erittäin pientä laskua. Syy miksi naisten puhe nopeus laski ja miesten nousi, voi johtua tulkinnallisista eroista. Toinen mahdollinen syy on ääninäytteissä olevien virheiden luoma ääninäytteen pituuden vääristymä. Virheillä tarkoitetaan väärinlukuja, yskähdyksiä ja näytteen vaihtelevan mittaista alku ja loppu taukoa. Värinän osalta voidaan havaita lievää nousua. Kajon osalta havaittiin miehillä erittäin lievää laskua ja naisilla verrattain suurta nousua. Mahdollisena syynä arvojen eroon voi olla tulkintojen eroavaisuudet. Intensiteetin osalta havaittiin miehillä lievää laskua ja naisilla lievää nousua. Muutosten määrät ovat yhden desibelin luokkaa, eli äänen voimakkuuden kannalta muutos on miltei huomaamaton. Kuva 12. Vihaisten arvojen taulukko Kuva 13. F0:n keskiarvojen taulukko 4.7.4. Iloinen Iloisuuden osalta F0:n arvojen muutokset ovat saman suuntaisia, kuin vihassa, mutta ne ovat lievästi korkeampia. Taukoajassa ja puhenopeudessa on havaittavissa lievää laskua. Värinässä tapahtuu lievää nousua, joka on intensiteetin arvon kasvun kanssa suurin tekijä, joka erottaa iloisuuden vihasta. Kajossa on havaittavissa saman suuntaista muutosta, kuin vihaisuudessa, tosin arvot ovat matalampia. Kokonaisuudessaan iloinen on hyvin lähellä vihaista ja vaikka intensiteetti ja värinä eroavatkin paljon, on näiden tekijöiden esille tuominen lopullisessa sovelluksessa haastavaa.
27 Kuva 14. Iloisten arvojen taulukko 4.7.5. Pelokas Pelokkuudessa F0:n muutokset ilmenevät lievinä nousuina. Taukoajassa on havaittavissa huomattavaa nousua, eritoten naisilla. Kuten kuvien 16 ja 17 taulukosta nähdään, naisilla sanakohtaisen taukoajan suurin arvo ja puhenopeuden pienin arvo saavutetaan pelokkuudessa. Miehillä molemmat arvot ovat tunnetilojen kesken katsottuna neljäntenä. Miehillä värinässä on havaittavissa suuri nousu, kun taas naisilla lievä lasku. Kajossa molemmilla on havaittavissa nousua, miesten nousu on kuitenkin suurempi. Intensiteetin osalta naisilla on havaittavissa noin kuuden desibelin nousu, mikä tarkoittaa lähemmäs 50% äänenvoimakkuuden nousua. Miehillä arvo on kolmen desibelin luokkaa, mikä vastaa noin 20% nousua äänenvoimakkuudessa. Syynä sukupuolien välisiin eroihin on mahdollisesti erilaiset tunteiden tulkinnat ja sukupuolien väliset erot. Kuva 15. Pelokkaiden arvojen taulukko
28 Kuva 16. Taukoaika-arvojen taulukko Kuva 17. Sanoja minuutissa arvojen taulukko 4.7.6. Kyllästynyt Kuvan 18 taulukkoa tutkittaessa huomataan, että molempien sukupuolten osalta F0:n arvot laskevat lievästi. Taukoaikaa tarkastellessa huomataan merkittävää nousua. Miesten osalta taukoajan arvo saavuttaa tunteiden välisen maksimiarvonsa. Naisilla arvo jää tunnekohtaisessa vertailussa neljänneksi suurimmaksi. Puhenopeutta tarkastellessa huomataan täsmälleen samanlaista muutosta kuin taukoajassa, mutta laskusuunnassa. Värinässä nähdään naisilla olematonta laskua. Miehillä lasku on suurta, ja se saavuttaa tunnekohtaisen minimiarvonsa. Kajon osalta miesten ja naisten arvot laskevat samassa suhteessa. Intensiteetissä havaitaan miehillä lievää laskua ja naisilla lievää nousua. Kuva 18. Kyllästyneiden arvojen taulukko
29 4.7.7. Inho Inhoa tutkittaessa huomataan, että sukupuolia verrattaessa F0:n arvot vaihtelevat huomattavasti. Naisilla inho tulee esille äänen mataloitumisena ja miehillä äänen korkeuden kasvulla. Muissa arvoissa tapahtuvat muutokset ovat samansuuntaisia ja taukoaikaa lukuun ottamatta saman suuruisia. Inhoa tulkitessa vaikuttaa, että näyttelijät käyttivät kahta tapaa tuoda tunnetta esille. Esittämällä halveksivaa inhoa tai pahoinvoivaa inhoa. Naisilla molemmissa tulkinnoissa äänen korkeus madaltuu, kun taas miehillä halveksivassa inhossa äänenkorkeus keskimäärin nousee. Suurin osa miehistä tulkitsi inhon halveksivana. Edellä mainitut tulkintojen nimet, sekä jaot ovat toteutuksen tekijöiden omista kuuntelutesteistä luotuja lopputuloksia ja eivät vastaa mitään standardia. Kuva 19. Inhon arvojen taulukko
30 5. AINEISTON SOVELTAMINEN Edellä mainittujen arvojen testaamiseksi luotiin Python-rajapinta, joka ohjaa espeak puhesyntetisaattoria. Jotta syntetisaattori osaisi käyttää edellä mainittuja arvoja, piti ne skaalata espeakille sopivaan muotoon. Arvojen skaalaamisen jälkeen luodaan äänivarianttitiedosto, jossa asetettiin osa lasketuista arvoista, ja asetustiedosto. Asetustiedostoon asetettiin loput parametrit, joita ei voitu muokata varianttitiedoston kautta, vaan niitä piti muuttaa komentolinjakomennoilla. 5.1. Äänivarianttitiedosto Äänivarianttitiedosto on espeakin käyttämä asetustiedosto, jolla se säätelee syntetisoidun puheen arvoja[38]. Toteutuksessa luotiin 14 äänivarianttitiedostoa, jotka vastasivat molempia sukupuolia ja kaikkia seitsemää tunnetta. Toteutuksen äänivarianttitiedostot sisältää alimman käytetyn F0:n, ylimmän käytetyn F0:n, värinän, karkeuden ja artikulaatiotarkkuuden. Nämä arvot on laskettu mitattujen prosodiatulosten mukaan. Vartianttitiedosto sisältää myös kuvauksen puheäänestä, kaiun, formantti-säätöjä, äänenpainotuksen muutoksia ja monia muita asetuksia[38]. Toteutuksessa käytetään hieman kaikua, että voidaan saavuttaa hieman luonnollisempi puhe. Ilman kaikua formanttipuhesynteesi kuulostaa pätkivältä. Naisten äänivarianttitiedostoihin on lisätty formanttimuutoksia, jotka saavat naisäänen syntetisoinnin kuulostamaan naisellisemmalta. Nämä formanttimuutokset on otettu espeakin vakio naisäänestä. Espeakin vakioäänen formantit on tehty miesäänelle.[38] Python-lajittelijassa laskettuja värinän(jitter) ja kajon(shimmer) tunnekohtaisten erojen määriä käytettiin hyväksi varianttitiedoston värinän(flutter) ja karkeuden muuttamisessa. Kuva 20. Tunnekohtaiset espeak äänivariantit
31 5.2. Äänivarianttitiedoston arvojen laskenta Varianttitiedoston pitch muuttuja määrää äänen käyttämän taajuusvälin. Tunnekohtaisissa varianttitiedostoissa käytettyt F0:n alin ja korkein arvo, ovat kappaleessa Arvojen tarkemmat kuvaukset lasketut, tunteiden keskimääräiset arvot. Varianttitiedoston värinä(flutter) lisää äänen taajuusvaihtelua[38]. Sen muuttamisessa käytettiin laskettuja värinän(jitter) muutoksen arvoja, jotka vastaavat taajuusperiodien muutoksen määrää[7]. Sen vakioarvo on kaksi ja minimiarvo on nolla. Sille ei ole määritelty maksimiarvoa. Muuttuja karkeus(roughness) muuttaa äänen amplitudia vuorottelevissa aaltomuotosykleissä [38]. Tätä muutettiin käyttämällä hyväksi kajon tunteiden välisiä muutoksia. Kajo vastaa amplitudin muutosta taajuusperiodien välillä[7]. Karkeuden vakioarvo espeakissa on kaksi ja se vaihtelee nollan ja seitsemän välillä. Koska molempien arvojen arvoasteikko on espeakin itse luoma, ei tarkkoja värinän(jitter) ja kajon arvoja käytetty vain keskityttiin tunnekohtaisien muutoksien kokoon. Muutoksia haluttiin tuoda ilmi mahdollisimman paljon, mutta ääntä ei silti haluttu rikkoa. Sopivien arvojen löytämiseksi suoritettiin lyhyitä kuuntelutestejä, joissa ääninäytettä kuunneltiin erilaisilla värinän(flutter) ja kajon arvoilla. Värinän(flutter) arvo laskettiin lisäämällä vakioarvoon(2) värinän(jitter) prosentuaalinen muutos neutraalista värinän(jitter) arvosta jaettuna neljällä. Saatu luku pyöristettiin sen jälkeen kokonaisluvuksi. Tällöin pienin toteutuksessa käytetty luku on nolla ja suurin kuusi. Karkeuden laskemisessa käytettiin vastaavaa kaavaa, mutta prosentuaalinen muutos jaettiin neljän sijasta viidellä. Tällöin käytetyt arvot vaihtelivat kahden ja viiden välillä. Äänivarianttitiedosto sisältää muuttujat voicing ja consonants, jotka muuttavat konsonanttien ja vokaalien voimakkuutta. Molempien arvojen vakioarvo on sata, joka vastaa normaalia äänteen voimakkuutta. Muuttujien skaala on prosentteina. Artikulaatiotahti on tavujen määrä jaettuna äänellisen ajan pituudella. Tunnekohtaisien artikulaatiotahtien prosentuaalisia muutoksia käytettiin yllä mainittujen muuttujien muuttamiseen. Syynä tähän on edellä mainittu puhetahti-skriptin tavun tunnistuksen epätarkkuus. Skripti ei tunnista vaimeampia tavuja. Tästä tehdään olettamus, että osassa tunteista äänteitä ei lausuta samalla voimakkuudella. Täten artikulaatiotahti kuvaa tunnistettujen tavujen määrää äänellisissä osioissa. Artikulaatiotahdin muutosten oletetaan korreloivan äänteiden voimakkuuksien kanssa. Täten voicing ja consonants muuttujia muuttaessa muuttujien vakioarvoihin lisättiin artikulaatiotahtien tunteiden väliset prosentuaaliset muutokset. 5.3. Asetustiedosto Asetustiedostoa käytetään toteutuksessa Python-rajapinnassa espeakille tehtävien komentorivikomentojen luonnissa. Asetustiedosto sisältää espeakille skaalatut arvot listoina. Lista arvoista on kuvassa 21. Äänivarianttiarvo sisältää nimen, jonka avulla espeak valitsee lajittelijaskriptin luomista äänivarianttitiedostoista käytettävän äänivariantin. Puhenopeus espeakissa vakiona on 175 sanaa minuutissa. Sanoja minuutissa tulee suoraan lajittelijaskriptin laskemasta arvosta.
32 Espeakin dokumentaatio väittää, että taukojen kesto on kymmenissä millisekunneissa kokonaislukuna ilmoitettuna. Toteutusta testattaessa havaittiin, että taukojen pituudet olivat liian pitkiä, kun arvot skaalattiin dokumentaation mukaan. Skaalauksessa lajittelija-skriptistä saatu tulos piti jakaa sekunneista espeakin ilmoittamaan kokoon. Testattaessa tällä skaalauksella huomattiin, että tauot olivat pidempiä kuin syötetyt arvot. Skaalausta tutkiessa selvisi, että muillakin espeakin käyttäjillä on ollut samanlaisia ongelmia. [49] Selvisi, että dokumentaation skaalauksella tauoista tuli noin viisi kertaa liian pitkiä. On mahdollista, että dokumentaatiossa on virhe. Tästä syystä toteutuksessa käytetyt arvot on jaettu viidellä. Tämä tuotti puhekorpuksesta saatuja arvoja vastaavia tuloksia. Espeakissa taajuuden keskiarvo on välillä 0-99 ja vakioarvo on 50. Espeakin dokumentaatiossa taajuuden keskiarvon ilmoitustavassa ei ole tarkempaa selostusta. Toteutuksessa oletettiin, että arvolla 0 käytetään alinta taajuusrajaa ja arvolla 100 ylintä taajuusrajaa. Muutokset olivat pieniä ja kuuntelutestaaminen vahvisti tätä olettamusta. Taajuuden keskiarvomuuttuja laskettiin suhteuttamalla F0:n keskiarvo, F0:n minimin ja maksimin välille. Lasketaan käyttämällä kaavaa 1. F 0keskiarvo F 0alataajuus 100 (1) F 0ylataajuus F 0alataajuus Tämä tehtiin erikseen jokaiselle tunteelle. Äänenvoimakkuusarvo lasketaan lajittelija-skriptin tekemästä intensiteetin keskiarvosta. Voimakkuuden arvo on välillä 0-200 espeakissa ja vakioarvo on 100. Arvot vastaavat voimakkuuden prosentuaalisia muutoksia. Arvo 200 kaksinkertaistaa äänenvoimakkuuden. Äänenvoimakkuuden laskuun käytettiin kaavaa 2.[50] 2 n/10,n= desibelimuutosneutraalista (2) Kuva 21. Tunnekohtaiset espeak asetusarvot 5.4. Rajapintaskripti Osaa espeakin ominaisuuksista muutettiin espeak:n komentolinjakomentojen [38] avulla. Rajapinta-skripti ottaa vastaan lajittelija-skriptin luoman asetustiedoston ja
kerää siitä tarvittavat arvot, jotka se asettaa komennon parametreiksi. Toteutuksessa komennoilla säädetään äänivariaation valintaa, sanoja minuutissa, taukojen kestoa, äänenkorkeuden keskiarvoa ja voimakkuutta. Rajapinnassa syötetään haluttu virke, syntetisoidun puheen sukupuoli ja tunnevalinta. Virkkeen voi myös antaa SSMLtiedostona, johon voi merkitä tarkempia prosodia-ominaisuuksia. SSML-tiedostoilla voidaan muuttaa virkkeen prosodiakäyrää ja painotuksia. Rajapinta-skripti toimii myös Raspberry Pi:ssä. 33
34 6. TOTEUTUKSEN TESTAUS Toteutuksen testaus suoritettiin kuuntelutesteillä. Testi sisälsi kolme osaisen kyselyn, jonka testaajat tekivät jokaiselle 14 ääninäytteelle. Kyselyyn vastasi 14 ihmistä. Vastaajat puhuivat äidinkielenään suomea ja olivat 20-40 vuotiaita miehiä ja naisia. Testaajat kuuntelivat osiossa ensin ääninäytteen ja sitten vastasivat osion kolmeen kysymykseen ja jatkoivat seuraavaan osioon. Ensimmäinen kysymys oli pakotetun valinnan testi, jossa testaajien piti valita mitä tunnetilaa heidän kuulemansa ääninäyte vastasi. Toisessa kysymyksessä testaajia pyydettiin arvostelemaan tunteen selkeys mean-opinionscore asteikolla. Kolmannessa kysymyksessä testaajia pyydettiin arvioimaan puheen luonnollisuus samalla asteikolla. Näyte kyselyn osiosta liitteen 31 kuvassa. 6.1. Testauksen toteutus Testaus suoritettiin sähköisesti internetiin luodulla kyselylomakkeella. Testaus haluttiin suorittaa internetin välityksellä, koska tällä tavalla pystyttiin keräämään suurempi ja monipuolisempi testaajaotanta. Oikean kyselypalvelun löytämiseksi, kokeiltiin useita eri vaihtoehtoja. Kokeilu rajoitettiin ilmaisiin palveluihin. Kokeilun jälkeen päädyttiin Google Forms-palveluun. Palvelu valittiin, koska se on ilmainen, mahdollisti tarvittavan pituisen kyselyn luomisen, sekä ääninäytteiden upottamisen kyselyyn. Palvelun heikkoutena on, että kysely arpoo vain tunteiden vastausvaihtoehtojen järjestyksen, mutta osioiden järjestys säilyy samana. Testaajat kuulivat ensin miesäänen tunteet järjestyksessä neutraali, surullinen, vihainen, iloinen, pelokas, kyllästynyt ja inho. Tämän jälkeen testaajat kuulivat näisäänen versiot samassa järjestyksessä. 6.2. Testauksessa käytetyt ääninäytteet Toteutuksen testausta varten tarvittiin ääninäytteitä, jotka luotiin Python rajapintaskriptin avulla Äänitiedostot muutettiin wvm-videoformaattiin ja ladattiin YouTubevideopalveluun. Ääninäytevideot upotettiin Google Forms -kyselyyn. Ääninäytteissä käytetyn virkkeen täytyi olla semanttisesti neutraali [39].Semanttisesti neutraaliksi virkkeeksi valittiin ote Wikipedian kuvauksesta koivunmahlasta. Kyseinen virke oli Koivuista otetaan mahlaa, josta tehdään juomia maun ja terveysvaikutusten vuoksi. Lehtiä käytetään teehen ja salaatteihin, ja niillä voi myös värjätä lankoja. Virke oli tarpeeksi pitkä, että siinä esiintyy tarpeeksi erilaisia taukoja ja kuuntelija ehtii kuulla puheen eri elementtejä. Koska osioita oli 14-kappaletta, ei haluttu, että kyselystä tulisi liian pitkä testaajalle. 6.3. Testauksen tulokset Seuraavissa kappaleissa käydään läpi tunnekohtaiset tulokset ja niiden pohdinta. Testaajien määrästä johtuen tuloksia pitää katsoa suuntaa antavina. Tuloksia lukiessa on myös huomioitava testausasetelman luomat ongelmat. Koska kaikki testaajat kuulevat
35 ääninäytteet samassa järjestyksessä, tunteiden järjestys voi vaikuttaa saatuihin tuloksiin [51, 52]. 6.3.1. Neutraali Kuten kuvan 22 kaaviosta nähdään, miesten osalta neutraali tunne tunnistettiin noin 43% tarkkuudella. Naisilla vastaava luku oli 50%. Miehillä neutraali sekoittui kyllästyneeseen tunteeseen. Naisilla samanlaista sekoittumista ei tapahtunut, vaan loppujen 50% vastaukset jakautuivat muille vaihtoehdoille suhteellisen tasaisesti. Vastaajat arvioivat, että tunne tuli miesten osalta esille keskimäärin arvolla 2,6. Naisilla keskiarvo oli sama. Luonnollisuutta arvioitaessa vastaajien antamien arvojen keskiarvo oli miesten osalta 1,7 ja naisten osalta noin 2,4. Kuten aikaisemmin mainittiin, ja myöhempien kappaleiden arvoista nähdään, on miesten neutraalin äänen luonnollisuuden arvo matalampi kuin muissa äänissä. Syy tähän on mahdollisesti testiasetelma. Kaikki kuulijat kuulivat tämän äänen ensimmäisenä, eikä heille kerrottu etukäteen testin ääninäytteiden laadusta. He saattoivat siis arvioida ensimmäisen kuulemansa äänen luonnottomammaksi, koska he eivät olleet vielä tottuneet formanttiin puhesyntetisaattorin ääneen. Kuva 22. Neutraalien ääninäytteiden kyselytulokset