Puheen formanttianalyysilla on pitkät perinteet etenkin vokaalitutkimuksessa. Koska formantit liittyvät ääntöväylän muotoon puheentuoton aikana, voidaan niiden keskitaajuuden muutosten ja keskinäisten suhteiden perusteella tietyin edellytyksin tehdä johtopäätöksiä puhesignaalin tuottamiseen käytetyistä artikulaatioliikkeistä. Varovaisuus tulosten tulkinnassa on kuitenkin tarpeen.
Puhe on aina kompleksista ääntä, josta ns. Fourier-analyysin avulla voidaan löytää paljon eritaajuisia komponentteja l. osataajuuksia. Puheääni voi saada alkunsa kurkunpäässä ja/tai muissa kohdissa ääntöväylää äänteestä riippuen. Tämän lähdeäänen osataajuudet vahvistuvat tai heikkenevät amplitudeiltaan sen mukaan, minkä muotoisessa ääntöväylässä ääni liikkuu ja heijastuu. Osa näistä ääntöväylässä suodattuneista ääniaalloista säteilee lopulta suun ja/tai nenän kautta ulkomaailmaan.
Ääntöväylää (kurkunpäästä huuliin asti) voidaan yksinkertaistaen verrata jonoon eripituisia ja -paksuisia putkia. Mikä tahansa putki taas vahvistaa kaikkia sellaisia ääniaaltoja, joiden aallonpituus (joka on kääntäen verrannollinen aallon taajuuteen) on sopivassa suhteessa putken pituuteen. Ihminen kykenee tietyissä rajoissa muuttelemaan ääntöväylänsä muotoa (esim. liikuttamalla kieltään, huuliaan jne.), jolloin ääntöväylän "putkijonon" osien lukumäärä, pituudet (ja paksuudet) muuttuvat. Jokainen putkenpää (myös avonainen pää!) aiheuttaa äänien osittaisen heijastumisen putkessa takaisinpäin. Niinpä ääntöväylässä liikkuu jatkuvasti ääniaaltoja molempiin suuntiin, ja aallot tulevat toisiaan vastaan.
Kuvittele, että istut keinussa ja kaverisi antaa sinulle vauhtia. Kun kaverisi seisoo edessäsi tai takanasi ja tyrkkää keinua joka kerran juuri oikeassa vaiheessa, saat parhaat "vauhdit" eli keinusi heilahtelee vähitellen yhä korkeammalle. Olisikin turhaa antaa vauhtia silloin, kun keinu ei ole kohdalla! Ja jos kaverisi siirtyy keskelle keinun rataa seisomaan ja yrittää tyrkätä sinua takaisinpäin kun keinu heilahtaa kovaa vauhtia häntä kohti, hän tuskin onnistuu, vaan keinu todennäköisimmin pysähtyy (ja kaverisi ehkä kaatuu ja satuttaa itsensä). Ajoitus on siis tärkeä.Jos kaksi ääniaaltoa tulee toisiaan vastaan ja kulkee toistensa läpi sellaisessa kohdassa, jossa molemmat sattuvat olemaan samassa vaiheessa (esim. molempien aaltojen ilmanpainehuiput osuvat toisiinsa samassa pisteessä), kyseisellä kohdalla syntyy hetkellisesti amplitudiltaan suurempi aalto. Toisiinsa törmäävät aallot siis summautuvat. Jos taas aallot ovat kohdatessaan päinvastaisessa vaiheessa toisiinsa nähden, on aaltojen yhteenlaskettu amplitudi kyseisellä kohdalla nolla, ts. ne kumoavat toisensa. Tietyissä olosuhteissa aallot saattavat putken sisällä jatkuvasti törmätä samanvaiheisina samassa kohdassa, jolloin syntyy resonanssi. Resonanssiin osallistuvilla aalloilla on silloin joko sama taajuus (ja siten myös sama aallonpituus) eli aalto törmää sopivan pituisessa putkessa aina itsensä heijastumiin, tai sitten vähintään kahden eri osataajuuden aallonpituudet ovat tietyissä suhteissa toisiinsa ja putken pituuteen. (Kuvittele, että kaverisi tyrkkäisi keinulle vauhtia vain joka toisella tai kolmannella heilahduksella.) Putken pituus siis määrää, minkätaajuiset aallot putkessa voivat resonoida. (Ks. myös 3.5.1)
Puhe on kuitenkin käytännössä ääntöväylän jatkuvaa liikettä ja LPC nerokkuudessaankin vain matemaattinen malli, joten pelkällä formanttianalyysilla ei luultavasti saada koskaan täydellistä kuvaa siitä, minkä muotoinen ääntöväylä puhujalla on todellisuudessa ollut tietyllä ajanhetkellä. Millä tahansa ohjelmalla tehty automaattinen formanttianalyysi on pelkkä laskennallinen arvio spektrin hallitsevimmista huipuista, ja formanttianalyysin virhelähteet onkin tunnettava tarkoin, ennen kuin formanttianalyysin tuloksia voi tulkita ja käyttää.
Praat-ohjelmalla tehdyn formanttianalyysin lopputuloksena syntyy Formant-objekti, joka edustaa ääniobjektin spektrirakennetta ajan funktiona. Se on siis jono tasaisin välimatkoin laskettuja näytteitä, joissa kussakin on taajuus- ja kaistanleveysinformaatio useasta formantista sekä informaatiota ikkunan maksimi-intensiteetistä. Formant-objekti on siis rakenteeltaan ikään kuin kaavamainen tai karkeistettu versio spektrogrammista. Praat-ohjelman oletusformanttianalyysi on Burgin algoritmi, jota käytetään komennolla Sound: To Formant (burg)... (ks. 7.5.3 alla).
Aluksi äänisignaali näytteistetään uudelleen näytetaajuuteen, joka on kaksi kertaa Maximum formant-kohdassa annettu formanttien ylärajataajuus. Sitten signaali esivahvistetaan (pre-emphasis), jotta myös ylemmillä taajuuksilla olevat, luonnostaan vaimeammat huiput saisivat saman painoarvon kuin alemmat formantit. Näin saadusta signaalista lasketaan tietyin välimatkoin lyhytaikaisspektrejä (spektrien välimatka ja spektri-ikkunan leveys määritellään kohdissa Time step ja Window length).
Sitten approksimoidaan kussakin analyysi-ikkunassa tai -kehyksessä (frame) saatua spektriä lineaariprediktio- eli LP- tai LPC-menetelmällä (Linear Predictive Coding, josta käytetään tässä Burgin algoritmia). Lineaariprediktiossa spektrin muotoa pyritään kuvaamaan pienellä määrällä huippuja, joille arvioidaan keskitaajuus ja kaistanleveys. Näiden huippujen voidaan katsoa edustavan ääntöväylän resonansseja l. formantteja. LPC:n tulos on itse asiassa joukko kertoimia, jotka eivät sinänsä ole ihmiselle lainkaan havainnollisia. Siksi formanttianalyysissa vielä jatkojalostetaan kertoimien antamaa informaatiota formanttien taajuus- ja kaistanleveysarvoiksi.
Koska algoritmi löytää aluksi formantteja myös hyvin matalilta ja korkeilta taajuuksilta, poistaa Burg-algoritmi lisäksi formantit 50 Hz:n alapuolelta sekä formantit jotka ovat korkeammalla kuin Maximum formant - 50 Hz. Jos välttämättä haluat pitää nämäkin taajuuskaistat mukana (jolloin tuskin saat perinteisen näköisiä F1- ja F2-arvoja), kokeile komentoa Sound: To Formant (keep all)... Jos taas haluat välttämättä saada aina pyytämäsi tietyn määrän formantteja tasaisesti jakautuneina koko antamallesi taajuusalueelle, voit kokeilla muuten epäluotettavaa Split-Levinson-algoritmia komennolla Sound: To Formant (sl)...
Huom. Yllä kerrotulla tavalla tuotettu Formant-tyyppinen objekti sisältää vain ne formantit, joita signaalista on kussakin ikkunassa löytynyt, ja taajuusarvot saattavat heittelehtiä paljonkin peräkkäisten ikkunoiden välillä. Peräkkäisten formanttiarvojen "jatkuvuutta" tämä perusanalyysi ei yritä etsiä. Jos haluat tutkia esim. vokaalisegmentin sisällä tapahtuvia formanttiliikkeitä, tee ensin tämä analyysi, mutta katso sitten kohta Tracking (7.5.4).
Jos haluat vain katsella Praatin laskemia formanttiarvoja esimerkiksi yhdessä äänen aaltomuodon ja spektrogrammin kanssa, tee formanttianalyysi äänieditori-ikkunan sisällä.
Kun haluat analysoida tarkemmin, tehdä tarkkoja mittauksia, piirtää kuvia, tai käyttää formanttianalyysia skriptin sisällä, luo formanttiobjekti erikseen objektilistassa.
Jos kaipaat yhtenäisiä ja johdonmukaisen näköisiä formanttikäyriä, laske ensin edellämainitulla tavalla 2 Formant-objekti ja valitse se objektilistasta. Paina sitten objektilistan oikeassa reunassa näkyvää painiketta Track... Tämä komento pyrkii löytämään jokaisesta analyysi-ikkunasta (frame) saman määrän formantteja ja esittämään jokaiselle formantille suorimman mahdollisen "polun" peräkkäisten ikkunoiden välillä. Jotta saisit esille esim. 3 formanttipolkua, pitää Formant-objektin jokaisessa analyysi-ikkunassa olla ainakin kolme formanttiehdokasta (ts. kannattaa laskea alkuperäinen formanttiobjekti esim. 5 formantilla ja käyttää sitten Track-komentoa).
Kannattaa lukea Praatin sisäisestä manuaalista esim. tutoriaalisivu Source-filter synthesis (anna manuaalin hakusanaksi esim. "source-filter"), jossa kuvataan melko helppotajuisesti puheen lähde-suodinteoria ja neuvotaan käytännössä, miten Praatilla voi kokeilla puheen lähdeäänen ja/tai ääntöväylän suodinfunktion laskemista puhenäytteestä. Sivu on hyödyllinen varsinkin jos olet kiinnostunut Praatin puhesynteesiominaisuuksista.
Tässä muutamia esimerkkejä Praatilla piirretyistä kuvista.
Perinteisen, kirjallisuudessa usein esiintyvän F1/F2-vokaalikartan saa piirrettyä, kun ensin on laskenut tutkittavasta vokaalista tms. yhtenäisestä äänteestä Formant-objektin objektilistaan esim. Burg-analyysilla (7.5.3).
Formanttianalyysi perustuu teoreettiseen malliin, jonka mukaan akustinen puhesignaali muodostuu lähdeäänestä (esimerkiksi kurkunpään tuottama "surina") ja ääntöväylän suodinominaisuuksista (esimerkiksi formantit). Jos mitattavaan puheääneen on päässyt vaikuttamaan jokin muu tekijä (esim. huonetila, muut puhujat tai jokin äänitystekninen häiriö), saatat saada vääristyneitä mittaustuloksia.
Formanttianalyysi vaatii aina jonkin verran tulkintaa: tutkija olettaa formanttien löytyvän "sieltä mistä niiden pitäisi löytyä". Tutkijoiden käyttämät referenssiarvot perustuvat lukuisiin tutkimuksiin, joissa yleensä selkeästi äännettyjen vokaalien formantteja on mitattu tietyillä parametreilla kontrolloiduista aineistoista, tai kaavamaiseen malliin "keskimääräisen" ääntöväylän rakenteesta. Formanttilaskennan tuloksia ei saa pitää yksinomaan objektiivisina lukuina, vaan ne on suhteutettava kyseiseen puhujaan, äänneympäristöön, analyysiparametreihin ja äänitteen laatuun. Monet kontekstuaaliset tekijät saattavat muuttaa formanttien taajuuksia ja kaistanleveyksiä, ja jotkut puheen piirteet (esim. nasaalisuus) saattavat vaikeuttaa formanttien tulkintaa. Puhujat ovat myös aina yksilöitä, eikä formanttiarvojen pidäkään osua kaikilla samoille taajuuksille.
Formantteja kannattaa luonnollisesti mitata vain kohdista, joissa ei ole usean puhujan päällekkäispuhuntaa. Näin varmistat, ettei toisten puhujien ääni sekoita analyysia, sillä formanttianalyysi ei pysty erottamaan eri äänilähteitä toisistaan. Myös muu taustahäly tai äänitystilan voimakas jälkikaiku voivat periaatteessa aiheuttaa virheellisiä tuloksia.
Tavanomaiset formanttianalyysin asetukset sopivat parhaiten soinnillisiin äänteisiin, etenkin vokaaleihin. Formantteja sinänsä on tietenkin kaikissa äänteissä, mutta automaattisen formanttianalyysin parametrien antaminen ja tulosten tulkinta on soinnittomilla äänteillä vaikeampaa, joskus järjetöntäkin. Ei myöskään kannata käyttää Track...-komentoa kohdissa, joissa on esim. konsonantin ja vokaalin välinen siirtymä, koska niissä löydettyjen formanttien lukumäärä saattaa äkisti muuttua, jolloin järkevien "formanttipolkujen" löytäminen on mahdotonta.
Kun formantit esiintyvät lähekkäin, kuten esim. F2 ja F3 [y]-vokaalissa tai F1 ja F2 [u]:ssa tai [o]:ssa, on vaarana, että formanttianalyysi tulkitsee vierekkäiset formantit samaksi yhtenäiseksi huipuksi. Näin käy usein, jos tavanomaista viittä formanttia etsitään liian suurelta taajuuskaistalta, esimerkiksi jos olet antanut matalaääniselle miespuhujalle liian suuren yläraja-arvon kohdassa Maximum formant.
Laskennallisesti tavallinen syy formanttien "yhtymiselle" tai "heittelehtimiselle" on, ettei LPC-analyysissa ole käytetty riittävää määrää spektrikertoimia (tämä lukuhan on suhteessa etsittävien formanttihuippujen määrään). Riittävä määrä on vähintään signaalin näytteenottotaajuus hertseinä jaettuna tuhannella (esim. 16 kHz signaalille 16). Praatin Burg-formanttianalyysi näytteistää signaalin automaattisesti ensin näytetaajuuteen, joka on kaksi kertaa Maximum formant, ja jos (2 * Max. number of formants) on tähän taajuuteen sopivassa suhteessa, kertoimia lasketaan automaattisesti riittävä määrä ja analyysin pitäisi onnistua kohtalaisesti. Sinun on kuitenkin otettava vielä tarkemmin huomioon oikea kerrointen määrä, mikäli et käytä Praatin formanttianalyysia suoraan vaan teet erikseen LPC-analyysin Sound-objektista. Silloin sinun on joko itse näytteistettävä signaali uudestaan sopivaan näytetaajuuteen ennen LPC-analyysia, tai annettava LPC:lle riittävä kertaluku (prediction order), esim. 16 kHz ääninäytteelle 16.