Peatükk 17 Kõnesüntees ja resüntees Praatis

Tekst-kõne sünteesiga on tänapäeval ilmselt kokku puutunud igaüks – see on integreeritud uudisportaalidesse võimalusega uudise tekst ette lugeda, auto navigatsiooniseadmes annab kõnesüntees liiklemiseks hääljuhiseid, AI-põhised häälassistendid (nt ChatGPT, Apple Siri, Google Gemini, Amazon Alexa jpt) räägivad kõnesünteesi abil.

Kõnelevaid masinaid on üritatud luua juba arvutieelsel ajal ja varasemad katsetused on olnud üritada kõneloome protsessi järele aimata. Kõne arusaadavuse ja loomulikkuse poolest pole kuigi edukaks osutunud meetodid, mis algusest lõpuni üritavad järgi teha seda, kuidas inimene kõnet toodab. Tänapäeval kasutatakse neid meetodeid aga kõne uurimisel, kuna nende meetodite puhul on võimalik sünteesi parameetreid väga täpselt kontrollida. Kõnetrakti füüsilisel mudelil põhineb näiteks Takayuki Arai loodud Kõriorel,68 mida võib näha Eesti Rahva Muuseumis (vt ka Arai 2019).

Tekst-kõne sünteesis on edukamaks osutunud meetodid, mis kasutavad salvestatud kõne korpust, mitte ei genereeri kõnesignaali akustiliste või artikulatoorsete parameetrite järgi. Üks esimesi edukaid levinud laiatarbe kõnesünteesi meetodeid on difoonsüntees, mida kasutati peamiselt 1990. aastate lõpus ja 2000. aastate alguses. Eesti keele tekst-kõne difoonsüntesaator valmis 1999. aastal.

Difoonsünteesi puhul on loomuliku kõne salvestusest välja lõigatud häälikupaarid, mille kombinatsioonidest pannakse kokku uut kõnet. Häälikupaare kasutatakse sellepärast, et siirded ühelt häälikult teisele oleksid loomulikumad – kõnes liiguvad hääldusorganid ühe hääliku moodustuskohalt teise hääliku moodustuskohale sujuvalt ja iga eelnev häälik mõjutab järgmist. Niimoodi sünteesitaks näiteks sõna tere viiest andmebaasis olemas olevast jupist: (paus + /t/ esimene pool)(/t/ teine pool + /e/ esimene pool)(/e/ teine pool + /r/-i esimene pool)(/r/-i teine pool + /e/ esimene pool)(/e/ teine pool + paus) (vt Mihkla & Meister 2002).

Alates 2000. aastate algusest hakati arendama korpuspõhist sünteesi, mille põhimõte sarnaselt difoonsünteesile oli panna kõne kokku loomulikust kõnest salvestatud lõikudest. Ainult et korpuspõhise sünteesi korpus sisaldab rohkem ja suuremaid kõnelõike ning sagedasemaid sõnu. Korpusepõhine kõnesüntesaator paneb uue teksti kokku võimalikult suurtest andmebaasis olevatest juppidest. Mida suuremaid olemasolevaid juppe on võimalik kasutada, seda loomulikum tulemus on.

Tänapäeval on enim levinud tehisnärvivõrkudel põhinev süntees. See kasutab võimalikult suurt kõnekorpust, mille põhjal õpib loomulikus kõnes esinevaid mustreid. Selle meetodiga on tulemus ka prosoodia ja intonatsiooni osas palju loomulikum kui varasemate meetoditega.

Loe eesti keele kõnesünteesi kohta ja proovi erinevaid süntesaatoreid.

17.1 Tekst-kõne süntees Praatis

Vali menüüst New > Text-to-speech synthesis > Create SpeechSynthesizer. Vali keel, milles tahad sünteesida (valikus on palju keeli, nende hulgas ka eesti) ja sünteeshääl.69

Objektiloendisse tekib objekt SpeechSynthesizer, mille dünaamilises menüüs on kaks käsku: Play text... ja To Sound..., millest mõlemal on üks teksikast, kuhu saab kirjutada teksti ja käskudest esimene loeb selle ette, teine tekitab Sound-objekti (seda saab omakorda salvestada helifailina).

17.2 Resüntees Praatis

Resünteesiks nimetatakse loomulikul viisil hääldatud kõne mingite parameetrite (kestuse, formantide, põhitooni vm) muutmist. Resünteesi kasutatakse peamiselt kõnetaju uurimiseks.

Objektiaknas Sound-objekti dünaamilises menüüs Manipulate on käsk To manipulation.... Avaneb dialoogiaken, kus küsitakse põhitoonianalüüsiks vajalikke parameetreid (põhitoonianalüüsi sammu ja põhitooni ulatuse väärtuseid, nagu ka põhitoonianalüüsi To pitch... käskude puhul). Tekib uus Manipulation-objekt. Manipulation-objektil saab manipuleerida põhitooni ja kestust ning pärast sünteesida tagasi Sound-objektiks.

Käsk View & Edit avab ManipulationEditor’i. Nüüd on ekraan jagatud kolmeks (vt joonis 17.1):

  1. algse Sound-objekti helilaine,
  2. manipuleeritav põhitoonikontuur ja
  3. manipuleeritav kestus.
ManipulationEditor’i ekraanipilt.

Joonis 17.1. ManipulationEditor’i ekraanipilt.

17.2.1 Põhitooni manipuleerimine

Põhitoonikõveral on punktid, mida saab hiirega edasi-tagasi ja üles-alla liigutada (tulevad ilmselt paremini nähtavale, kui natuke sisse suumida). Punktide algsed asukohad on taustal näha hallide punktikestena. Igale pulsile (ehk täisvõnkeperioodile) vastab üks punkt. Niimoodi neid ükshaaval liigutada on kaunis tülikas, kui just ei tahagi muuta põhitooni ühe täisvõnke piires. Kui üldisemat toonikontuuri manipuleerida, siis tasub punktide hulka vähendada.

Käsk Pitch > Stylize pitch... kaotab ära kõik punktid, mille vahel on väiksem erinevus kui kaks pooltooni70 (vaikimisi seadete puhul). Nii on põhitoonikontuur endine, aga punkte on oluliselt vähem. Nüüd on võimalik alles jäänud punkte nihutada ja vormida nii uus kontuur, tõstes ja langetades põhitooniliikumist sõnade või silpide kaupa. Näiteks joonisel 17.2 on lausungi kumb neist on tugevam alguses ja lõpus põhitooni langetatud ja tõstetud sõnal neist.

Stiliseeritud ja manipuleeritud põhitoonikontuur.

Joonis 17.2. Stiliseeritud ja manipuleeritud põhitoonikontuur.

Menüü Pitch > Remove pitch point(s) kustutab valitud punktid. Kui kustutada kõik punktid, kaob manipuleeritud põhitoon ära – sosinaks see ei muutu, kuuled lihtsalt algset tooni. Kui jätta alles üks punkt, on kogu heli põhitoon monotoonselt ühel kõrgusel.

Käsk Add pitch point lisab punkte.

Käsk Shift pitch frequencies... muudab kõigi punktide väärtust mingi ühiku võrra. Käsk Multiply pitch frequencies... korrutab kõigi punktide väärtuse mingi arvuga. Kui tahad põhitooni tõsta oktavi võrra, pane faktoriks 2, kui tahad tõsta 2 oktavit, pane faktoriks 3. Kui tahad langetada oktavi võrra, pane faktoriks 0,5.

Kui soovid võtta ühelt sõnalt (või fraasilt) põhitoonikontuuri ja anda selle teisele, siis seda saab nii:

  • vali Sound-objekt, millelt tahad põhitoonikontuuri võtta, ja vali menüüst Analyse Periodicity > To Pitch (filtered autocorrelation)...;
  • tekkinud Pitch-objekti menüüst vali Convert > Down to PitchTier, millest tekib objekt PitchTier;
  • vali Sound-objekt, millele tahad teist põhitoonikontuuri külge kleepida. Mõõda selle kestus: menüüst Query > Query time domain > Get start time ja Get end time;71
  • vali objekt PitchTier ja menüüst Modify > Modify times > Scale times to... pane uueks algusajaks eelmises sammus küsitud algus- ja lõpuaeg ja vajuta OK;
  • samal Sound-objektil vali menüüst Manipulate > To Manipulation.... Tekib objekt Manipulation;
  • nüüd vali korraga objektid Manipulation ja PitchTier ning vajuta nuppu Replace pitch tier.

PitchTier’i saab ka luua uue objektina ning määrata ise põhitoonipunktid:

  • vali menüüst New > Tiers > Create PitchTier.... Pane kestuseks manipuleeritava Sound-objekti kestus;
  • vali menüüst Modify > Add point.... Lisa nii kõik olulised põhitoonipunktid;
  • vali korraga objektid Manipulation ja PitchTier ning vajuta nuppu Replace pitch tier.

17.2.2 Kestuse manipuleerimine

Kestuse kihil ei ole alguses ühtegi punkti. Kui tahad kogu faili ulatuses ühtlaselt kiirust muuta, lisa üks punkt: menüü Dur käsk Add duration point. Punkti üles-alla liigutades muutub helilõigu kestus. Kui liigutad punkti üles (väärtus 1 on algne kestus), muutub kõne aeglasemaks, kui liigutad alla, siis kiiremaks.

Kui tahad heli ühe osa kestust muuta, lisa neli kestuspunkti: kaks tükki kõrvuti lõigu algusesse, kaks tükki lõigu lõppu. Välimiste punktide väärtus sea 1 peale, sisemiste väärtus suuremaks, kui tahad lõiku aeglustada, või väiksemaks, kui tahad lõiku kiirendada. Joonisel 17.3 on muudetud sõna on kestus 1,5 korda pikemaks: kui algne kestus oli umbes 131 ms, siis nüüd on 130 * 1,5 = 195 ms.

Ühe sõna kestuse pikendamine.

Joonis 17.3. Ühe sõna kestuse pikendamine.

Kui tahad kestuse punktide seadmist alustada otsast peale, kasuta käsku Dur > New duration.

17.2.3 Resünteesitud heli salvestamine

Manipulation-objekt ei ole tavaline helifail, nii et kui see salvestada käsuga Save to text file... või Save to binary file..., saab seda Praatis uuesti avada, aga teised programmid seda ei loe.

Et saada Manipulation-objektist jälle helifail, tuleb see sünteesida ehk tagasi helifailiks muundada. Manipuleeritud heli sünteesimiseks on mitu varianti, millest kõige parema (loomulikuma) tulemuse annab meetod overlap-add. Kui oled töö Manipulation-objektiga lõpetanud, sünteesi selle põhjal helifail, kasutades objektiakna käsku Get resynthesis (overlap-add) (või toimetamisaknas menüüst File > Publish resynthesis). Nüüd tekib objektiaknasse uus Sound-objekt.72 Uue Sound-objekti võid salvestada wav-failina (menüüst Save käsuga Save to WAV file...).

17.3 Allikas-filter süntees Praatis

Allikas-filter ehk formantsüntees ehk Klatti süntees on kõnetrakti akustiline mudel, mille idee on matkida loomuliku kõne moodustamist. See meetod ei ole tänapäeval kasutusel tekst-kõne süntesaatori rakendustes, aga seda kasutatakse kõne uurimiseks, tihti stiimulite sünteesimiseks tajutestide tarvis. Sünteesil on kaks komponenti: allikas ja filter.

Allikas on nagu kõri, st genereeritakse justkui häälekurdudest tulev puhas heli, nii nagu see on enne, kui kõnetrakt mingeid komponente sellest võimendab või summutab. See allikasignaal lastakse läbi filtri, mis on justkui nagu kõnetrakt, mis mingeid etteantud sagedusvahemikke võimendab või summutab.

Praatis on allikas-filtri sünteesi jaoks kaks võimalust: üks võimalus on genereerida allikas ja filter eraldi,73 teine võimalus on kasutada nn Klatti süntesaatorit.74 Mõlemal viisil on võimalik kas sünteesida kõik algusest lõpuni või resünteesida loomulikku kõnet. Siin näites kasutame esimest viisi, et sünteesida vokaale, mida kasutame stiimulitena tajukatses peatükis 18.1. Järgnevalt on esitatud käsud halli taustaga tekstikastides Praati skripti vormis (vt Praati skriptikeele kohta ptk 19) ja eelnevas tekstis on osutatud sellele, kust menüüst käsu leiab.75

Kõigepeal genereerime allika ehk häälekurdudest tuleva signaali. Sõna kestus võiks olla umbes 300 ms ehk 0,3 sekundit. Otsi menüüst New > Tiers > Create PitchTier....

Create PitchTier: "allikas", 0, 0.3

Nüüd tuleks märkida mingid punktid põhitooni sagedusega. Kui tahame, et stiimul oleks monotoonse põhitooniga, siis piisab sellest, kui lisada ainult üks põhitoonipunkt ükskõik kas algusesse (aeg 0 s), lõppu (0,3 s) või kuhugi vahepeale. Aga et anda natuke loomulikum kõla häälele, genereerime siia väikese põhitooniliikumise.

Hääliku alguses võiks olla f0 150 Hz, esimeses silbis kergelt langeda 140 Hz-le ning siis sõna lõpuks langeda 100 Hz peale. Kui avada PitchTier’i toimetamisaken, siis leiab menüüst PitchTier käsu Add point at... ja objektiaknas leiab menüüst Modifiy käsu Add point.... Lisame siis kolm põhitoonipunkti:

Add point: 0, 150 
Add point: 0.16, 140 
Add point: 0.3, 100

Võid seda nüüd kuulata, selleks on dünaamilises menüüs kaks käsku: Play pulses mängib pininana, Hum mängib üminana.

Lähme edasi ja genereerime põhitooni kõverast objekti, mis matkib kõripulsse. Objektiaknas PitchTier-objekti dünaamilisest menüüst Synthesize leiad käsu:

To PointProcess

Nüüd ongi meil allikas peagu valmis, teeme veel PointProcess-objektist Sound-objekti. Dünaamilisest menüüst Synthesize leiad käsu:

To Sound (phonation): 44100, 1.0, 0.05, 0.7, 0.03, 3.0, 4.0

Järgmiseks teeme filtri. Filter peab olema sama pikk kui allikas ehk samuti 300 ms. Kõigepealt teeme ta vaikimisi väärtustega, st formantväärtused, mis võiksid sobida švaavokaalile, kui keel on suus jõudeasendis: F1 = 550 Hz ja iga järgmine formant 1100 Hz võrra kõrgem. Menüüst New > Tiers

Create FormantGrid: "filter", 0, 0.3, 10, 550, 1100, 60, 50

Nüüd anname F1 ja F2 soovitud vokaali väärtused. Teeme esimeseks /i/, seega F1 võiks olla näiteks 200 Hz ja F2 2700 Hz.

Kõigepealt eemaldame kogu sõnast F1 ja F2 punktid. Kui FormantGrid’i toimetamisaknas seda teha, tuleks valida esimene formant Formant > Select first ja seejärel Point > Remove point(s) ning seejärel sama teise formandiga. Objektiakna menüüst Modify:

Remove formant points between: 1, 0, 0.3
Remove formant points between: 2, 0, 0.3

Nüüd anname vokaalile soovitud väärtused F1 = 200 Hz ja F2 2700 Hz:

Add formant point: 1, 0.15, 200
Add formant point: 2, 0.15, 2700

Nii ongi filter valmis! Nüüd paneme allika ja filtri kokku: vali mõlemad objektid: Sound allikas + FormantGrid filter > Filter. Tulemuseks on Sound-objekt (kuula), mille saad salvestada helifailina käsuga Save as WAV file....

Nüüd saame sünteesida teise vokaali, selleks tõstame F1 väärtust 100 Hz ja langetame F2 väärtust samuti 100 Hz. Valime uuesti objekti FormantGrid, eemaldame eelmiste väärtustega F1 ja F2 punktid ning lisame uute väärtustega punktid:

Remove formant points between: 1, 0, 0.3
Remove formant points between: 2, 0, 0.3
Add formant point: 1, 0.15, 300
Add formant point: 2, 0.15, 2600
plusObject: "Sound allikas"
Filter

Korda seda protseduuri veel viis korda, kuni F1 väärtus on 800 Hz ja F2 väärtus on 2000 Hz. Nüüd võiks olla seitsmest stiimulist koosnev vokaaliseeria, mis võiks katta eesvokaale /i/, /e/ ja /æ/. Salvesta Sound-objektid WAV-failidena, et kasutada neid stiimulitena tajukatses (vt ptk 18.1).

17.4 Artikulatoorne süntees Praatis

Artikulatoorse sünteesi idee on lihtsustatult kirjeldades selles, et inimese hääldusaparaati võib käsitleda torustikuna, mille kuju lihased muudavad. Seda torustikku ja lihaspingeid on võimalik modelleerida. Artikulatoorse sünteesi eesmärk tänapäeval ei ole teha võimalikult loomulikku tekst-kõne-süntesaatorit. Ülesande lahendamisele (võimalikult loomulik kõne) suunatud rakenduste puhul ei ole artikulatoorne süntees kuigi efektiivseks osutunud. Artikulatoorse sünteesi eesmärk on paremini aru saada, kuidas inimese hääldusaparaat töötab, ja hääldusprotsesse modelleerida. Praati artikulatoorse sünteesi mudel põhineb Paul Boersma doktoritööl (Boersma 1998).

Täpsemalt on kõnetrakti mudel selline: osa torusid on otsast lahti (huuled, ninasõõrmed), osa kinni (kopsud) ja osa ühendab ühtesid teistega (neel-suu-nina). Torustiku kuju on ajas muutuv. Teatud tingimustel tekitab kopsudest tulev õhk kõris heli (kas paneb häälekurrud vibreerima või hõõrdub neid läbides).

Praatis jaguneb artikulatoorne süntees kahte etappi:

  1. lihaste tegevuse põhjal kujundatakse kõnetrakti kuju,
  2. kõnetrakti kuju põhjal sünteesitakse heli.

Artikulatsioonimudeli põhilised osad on need:

  1. kõrieelne süsteem. Sajad miljonid alveoolid suubuvad kopsutorudesse, mis omakorda suubuvad hingetorru,
  2. kõri,
  3. neeluõõs ja suuõõs,
  4. ninaõõs.

Neelu- ja suuõõnt kujutatakse Praatis 27 torusektsioonina, mille kuju saab muuta, andes neid sektsioone kontrollivatele lihastele pingeid.

Artikulatoorse sünteesi animatsioon.

Joonis 17.4. Artikulatoorse sünteesi animatsioon.

Praatis kasutatav artikulatsioonimudel arvestab ka toru osade kuju muutumisest tuleneva pumpamise ja imemise efektiga: kui üks toru osa muutub väiksemaks, siis surub ta õhku eri suundades, kui muutub suuremaks, siis vaakumi tõttu imeb eri suundadest. Seega õhu liikumist ei määra ainult kopsude tegevus. Kui õhk liigub kitsamast torust laiemasse, põhjustab see õhu kaootilist liikumist.

Artikulatoorne süntees on üsna keerukas ja nõuab oluliselt põhjalikumaid teadmisi füsioloogiast kui siin õpikus käsitletud. Sellegipoolest proovime ka artikulatoorse sünteesiga ühe katsetuse läbi teha ja sünteesime sõna tere.

Kõigepealt on vaja kõnelejat. Vali menüüst New > Articulatory synthesis > Create Speaker.... Paneme kõnelejale nimeks näiteks Maret, aga muidu jätame vaikimisi väärtused:

Create Speaker: "Maret", "female", "2"

Järgmiseks on vaja luua artikulatsioonimuster ehk artikulaatorite liikumine, et hääldada sõna tere. Selleks on vaja tekitada objekt Artword. Vali menüüst New > Articulatory synthesis > Create Artword.... Sõna kestus võiks olla 500 ms ehk 0,5 sekundit.

Create Artword: "tere", 0.5

Kui objekt Artword on objektiloendis valitud ja vajutad nüüd Edit, avaneb selline aken nagu joonisel 17.5. Aknas vasakul on nimekiri sihtmärkidest, st mis ajahetkel millisele lihastele mis pinge on seatud. Aknas paremal on nimekiri lihastest (või hääldusaparaadi osadest, kõik ei ole nimetatud lihastena) ja kui sealt mõni valida, saab akna keskel määrata aja, millal see lihas mingi väärtuse saab. Pingete väärtused muutuvad vahemikus –1 kuni 1, 0 on jõudeasend.

Artikulatoorse sünteesi toimetamisaken.

Joonis 17.5. Artikulatoorse sünteesi toimetamisaken.

Kõigepealt paneme kopsudest õhu liikuma. Seda saab nii, et valid aknas paremalt Lungs ja keskel Time ja Value lahtrites määrad mingile ajahetkele väärtuse ning vajutad nuppu Add target. Alternatiiv on objektiaknas käsuga Set target..., nagu allpool kõik järgnevad käsud. Anname kopsudele kaks väärtust: ajal 0 väärtus 0.2 ja ajal 0.1 väärtus 0:

Set target: 0, 0.2, "Lungs"
Set target: 0.1, 0, "Lungs"

Liigutame pilkkõhresid, et panna häälekurrud võnkuma:

Set target: 0.1, 0.5, "Interarytenoid"
Set target: 0.5, 0.5, "Interarytenoid"

Liigutame pehmet suulage, et sulgeda käik ninaõõnde:

Set target: 0, 1, "LevatorPalatini"
Set target: 0.5, 1, "LevatorPalatini"

Styloglossus on lihas, mis hoiab, et keel kurku/suust välja ei vajuks:

Set target: 0, -0.5, "Styloglossus"
Set target: 0.5, -0.5, "Styloglossus"

Tekitame sulu: LowerTongue liigutab keeletippu, mälurlihas (Masseter) lõualuud:

Set target: 0, -1, "LowerTongue"
Set target: 0.04, -1, "LowerTongue"
Set target: 0, 0.7, "Masseter"
Set target: 0.1, -0.05, "Masseter"

Nüüd vallandame sulu:

Set target: 0.1, -0.2, "LowerTongue"
Set target: 0.25, -0.2, "LowerTongue"
Set target: 0.5, -0.1, "Masseter"

Tekitame /r/-i jaoks keeletipu vibreerimise:

Set target: 0.26, -1, "LowerTongue"
Set target: 0.28, 0, "LowerTongue"
Set target: 0.3, -1, "LowerTongue"
Set target: 0.32, -0.1, "LowerTongue"

Nüüd ongi valmis ja tuleb sõna ja kõneleja omavahel kokku viia. Vali objektiaknas Speaker Maret ja Artword tere ja käsuga To Sound... saad sünteesida heli:

selectObject: "Speaker Maret"
plusObject: "Artword tere"
To Sound: 22050, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0

Tulemus kõlab nii. Vokaalid on võrdlemisi redutseeritud, kuid sõna on äratuntav. Vokaalide parema kvaliteedi saavutamiseks tuleks keele kuju täpsemini vormida.

Peale selle saad vaadata kõnetrakti liikumise animatsiooni: vali kõik kolm objekti: Speaker Maret + Artword tere + Sound tere_Maret > Movie (vt kuvatõmmist joonisel 17.4).

Kirjandus

Arai, Takayuki. 2019. Vocal-tract models in phonetic teaching and research. William F. Katz & Peter F. Assmann (toim), The Routledge Handbook of Phonetics (Routledge Handbooks teoses Linguistics), 570–598. London ; New York: Routledge, Taylor & Francis Group. https://www.doi.org/10.4324/9780429056253-21.
Boersma, Paul. 1998. Functional Phonology: Formalizing the Interactions between Articulatory and Perceptual Drives (LOT 11). The Hague: Holland Academic Graphics. https://www.fon.hum.uva.nl/paul/papers/funphon.pdf.
Mihkla, Meelis & Einar Meister. 2002. Eesti keele tekst-kõne-süntees. Keel ja Kirjandus 45(2-3). 88–97, 173–182.

  1. https://blog.erm.ee/?p=10240↩︎

  2. Tegu on eSpeak süntesaatoriga, mis on küllalti vana difoon/formantsüntesaatori mudel, vt https://github.com/espeak-ng/espeak-ng/.↩︎

  3. Ingl semitone – see on muusikaline mõiste pooltoon, mis vastab 21/12-kordsele (ehk umbes 6%) sagedusmuutusele.↩︎

  4. See on oluline, kui Sound on lõigatud pikemast failist nii, et algusaeg ei ole null, aga kui Sound algab nullist, piisab ka käsust Get total duration.↩︎

  5. Tõenäoliselt on uus fail sama nimega, mis on Manipulation-objektil ja algsel Sound-objektil, millest see tuletatud on, nii et ole ettevaatlik selle salvestamisel, et oma algset faili üle ei kirjuta. Kindlam on see enne ümber nimetada käsuga Rename.↩︎

  6. Vt Praati manuaalist märksõna Source-filter synthesis http://www.fon.hum.uva.nl/praat/manual/Source-filter_synthesis.html.↩︎

  7. Vt manuaalist http://www.fon.hum.uva.nl/praat/manual/KlattGrid.html.↩︎

  8. Kui menüüs on käsu lõpus kolm punkti, siis see tähendab, et selle käsu peale avaneb dialoogiaken, kus küsitakse täiendavaid väärtuseid. Käsureal on kolme punkti asemel koolon ning kooloni järel komadega eraldatud argumendid selles järjekorras, nagu nad graafilise kasutajaliidese dialoogiaknas vastavates lahtrites peaks olema. Skriptis peavad sõnalised väärtused olema jutumärkides, dialoogiakna vastavasse lahtrisse tuleks kirjutada aga ilma jutumärkideta. Siin esitatud protseduur on ka tervikliku skriptina repositooriumis https://github.com/partellippus/akustilised-meetodid-foneetikas/tree/main/syntees.↩︎