+ All Categories
Home > Documents > MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf ·...

MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf ·...

Date post: 06-Mar-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
116
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA ELEKTROTECHNICKÁ MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ ČEŠTINY POMOCÍ LINEÁRNÍ PREDIKCE Dizertační práce Vědní obor: Telekomunikační technika Školitel: Prof. Ing. Jan Uhlíř, CSc. Vypracoval: Ing. Petr Horák Praha, 2002
Transcript
Page 1: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA ELEKTROTECHNICKÁ

MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ ČEŠTINY POMOCÍ LINEÁRNÍ PREDIKCE

Dizertační práce

Vědní obor: Telekomunikační technika Školitel: Prof. Ing. Jan Uhlíř, CSc. Vypracoval: Ing. Petr Horák

Praha, 2002

Page 2: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

2

Rád bych na tomto místě poděkoval Ústavu radiotechniky a elektroniky AV ČR za to, že mi svým vstřícným přístupem umožnil vytvořit tuto dizertační práci, a dále kolektivu oddělení Číslicového zpracování signálů a kolektivu Fonetického ústavu FF UK, jmenovitě pak Ing. Robertu Víchovi, DrSc., Mgr. Betty Slavíkové-Hesounové, Dr. Janě Mejvaldové, Dr. Tomáši Dubědovi a Mgr. Jiřímu Hanikovi za podporu při vzniku této práce. Děkuji také své ženě Jitce a synům Kryštofovi a Prokopovi za to, že se na mne nezlobí, že se občas také věnuji jiným koníčkům, než rodině.

Page 3: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

3

Obsah

Obsah ...................................................................................................................................................................... 3 Seznam obrázků ...................................................................................................................................................... 5 Seznam tabulek ....................................................................................................................................................... 7 1 Úvod................................................................................................................................................................ 9 2 Shrnutí současného stavu problematiky ........................................................................................................ 13

2.1 Co je to řeč? .......................................................................................................................................... 14 2.1.1 Akustická rovina řeči .................................................................................................................... 14 2.1.2 Fonetická rovina řeči ..................................................................................................................... 15

2.2 Syntéza řeči z psaného textu ................................................................................................................. 16 2.2.1 Fonetická transkripce .................................................................................................................... 17 2.2.2 Prozodie řeči.................................................................................................................................. 18 2.2.3 Modelování řečového signálu ....................................................................................................... 18

2.3 Způsoby realizace fonetické transkripce ............................................................................................... 19 2.4 Vlastnosti prozodie řeči......................................................................................................................... 19

2.4.1 Suprasegmentální vrstvy ............................................................................................................... 20 2.4.2 Suprasegmentální charakteristiky v časové oblasti ....................................................................... 21 2.4.3 Suprasegmentální charakteristiky v melodické oblasti.................................................................. 22 2.4.4 Suprasegmentální charakteristiky v intenzitní oblasti ................................................................... 24 2.4.5 Superpozice vlivů jednotlivých vrstev tvoření řeči ....................................................................... 24

2.5 Metody popisu řečových jednotek ........................................................................................................ 24 2.5.1 Popis řečových jednotek v časové oblasti ..................................................................................... 25 2.5.2 Popis řečových jednotek ve kmitočtové oblasti ............................................................................ 25

2.6 Metody popisu suprasegmentálních rysů řeči ....................................................................................... 25 2.6.1 Úrovně reprezentace prozodických jevů ....................................................................................... 25 2.6.2 Intonační modely........................................................................................................................... 26 2.6.3 Pierrehumbertové intonační model ............................................................................................... 26 2.6.4 Systém pro notaci prozodie ToBI.................................................................................................. 26 2.6.5 Intonační model INTSINT ............................................................................................................ 26 2.6.6 Intonační model IPO ..................................................................................................................... 27 2.6.7 Fujisakiho intonační model ........................................................................................................... 27

2.7 Parametrická analýza signálů ................................................................................................................ 29 2.7.1 Parametrické modely signálů ........................................................................................................ 30 2.7.2 Lineární predikce .......................................................................................................................... 30 2.7.3 Metody řešení normálních rovnic predikce................................................................................... 31 2.7.4 Modelování řečového signálu pomocí lineární predikce............................................................... 32

3 Cíle práce ...................................................................................................................................................... 33 4 Lineární predikce průběhu základního tónu řeči ........................................................................................... 37

4.1 Návrh LPC analyzátoru základního tónu řeči ....................................................................................... 37 4.2 Použité metody detekce průběhu základního tónu řeči ......................................................................... 41

4.2.1 Detekce základního tónu řeči autokorelační metodou................................................................... 41 4.2.2 Detekce pitchpulsů v řečovém signálu s označením znělosti ........................................................ 41

4.3 Návrh LPC syntezátoru základního tónu řeči........................................................................................ 42 4.4 Ověření funkčnosti LPC kodéru/dekodéru průběhu základního tónu ................................................... 43

5 Vlastnosti zbytkového signálu lineární predikce........................................................................................... 45 5.1 Aproximace zbytkového signálu lineární predikce ............................................................................... 45

5.1.1 Aproximace zbytkového signálu obdélníkovým signálem............................................................ 47 5.1.2 Aproximace zbytkového signálu impulsovým signálem............................................................... 53 5.1.3 Možnosti aproximace zbytkového signálu .................................................................................... 55

5.2 Závislost zbytkového signálu lineárního prediktoru na stavbě věty...................................................... 55 5.3 Využití zbytkového signálu lineární predikce pro tvorbu prozodických pravidel................................. 55

6 Experimentální část....................................................................................................................................... 59 6.1 Databáze řečového materiálu pro modelování prozodie ....................................................................... 59 6.2 Automatická segmentace řeči................................................................................................................ 59

6.2.1 Použitý syntezátor řeči .................................................................................................................. 59 6.2.2 Vlastní segmentace........................................................................................................................ 59 6.2.3 Testování automatické segmentace ............................................................................................... 63

6.3 Porovnání vlastností LPC intonačního modelu s Fujisakiho modelem ................................................. 67

Page 4: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

4

6.4 Implementace LPC a Fujisakiho intonačního modelu do systému SpeechStudio................................. 68 6.5 Implementace rozšířeného klienta pro systém Epos.............................................................................. 70 6.6 Implementace ladícího modulu pro systém Epos.................................................................................. 71 6.7 Syntéza řeči s použitím generování základního tónu pomocí lineární predikce.................................... 73

6.7.1 Návrh pravidel pro buzení lineárně predikčního intonačního modelu........................................... 73 6.7.2 Realizace lineárně predikčního intonačního modelu v syntezátoru............................................... 74

7 Celkový přínos práce..................................................................................................................................... 77 8 Přílohy........................................................................................................................................................... 79

8.1 Seznam příloh ....................................................................................................................................... 79 8.2 Příloha A – Seznam namluvených vět .................................................................................................. 80 8.3 Příloha B – Tabulka fonetického přepisu češtiny.................................................................................. 83 8.4 Příloha C – Přehled transkripčních a prozodických pravidel systému Epos ......................................... 85

8.4.1 Pravidla využívající slovníky ........................................................................................................ 85 8.4.2 Obsahem řízená pravidla ............................................................................................................... 85 8.4.3 Strukturovaná pravidla .................................................................................................................. 86 8.4.4 Pravidla modelující prozodii ......................................................................................................... 86 8.4.5 Skládání pravidel........................................................................................................................... 86 8.4.6 Podmíněná pravidla....................................................................................................................... 87 8.4.7 Speciální pravidla.......................................................................................................................... 87

Příloha D – Přehled vytvořených programů, procedur a funkcí........................................................................ 88 8.5 Příloha E – Výpisy některých podprogramů a funkcí ........................................................................... 89 8.6 Příloha F – Výpis kódu TD-PSOLA syntezátoru s modelováním prozodie pomocí lineární predikce . 94 8.7 Příloha G – Fonetická transkripce češtiny pro systém Epos ................................................................. 97 8.8 Příloha H – Modelování prozodie češtiny pro systém Epos podle pravidel Prof. Palkové ................. 100 8.9 Příloha I – Modelování prozodie češtiny pro systém Epos pomocí lineárně predikčního modelu...... 105 8.10 Příloha J – Popis přiloženého disku CD-ROM.................................................................................... 110

9 Přehled literatury......................................................................................................................................... 111 10 Rejstřík .................................................................................................................................................... 115

Page 5: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

5

Seznam obrázků

Kapitola 2. Shrnutí současného stavu problematiky

Obr. 2.1 Schéma hlasového ústrojí. 14 Obr. 2.2 Časový průběh a spektrogram řečového signálu (věta „Vědci pracují s virgulí“). 15 Obr. 2.3 Blokové schéma TTS systému. 16 Obr. 2.4 Lingvistická část syntezátoru řeči. 16 Obr. 2.5 Lineární model produkce řeči. 17 Obr. 2.6 Modelování prozodie podle pravidel. 17 Obr. 2.7 Modelování základního tónu řeči neuronovou sítí. 18 Obr. 2.8 Ukázka mikrointonace – spojení hlásek „éza“ ze slova „syntéza“. 20 Obr. 2.9 Fujisakiho model produkce základního tónu řeči. 26 Obr. 2.10 Impulsní odezva úsekového systému Fujisakiho prozodického modelu pro vstupní pulsy

o velikosti Ap = 0.1, 0.25, 0.4, 0.6, 0.8 a 1.0 při α = 2 s-1. 27

Obr. 2.11 Odezva přízvukového systému Fujisakiho prozodického modelu na vstupní jednotkové pulsy trvání T = 50, 100, 150, 200 a 250 ms při β = 20 s-1.

28

Obr. 2.12 Odezva přízvukového systému Fujisakiho prozodického modelu na vstupní pulsy o délce 250 ms a amplitudě Aa = 0.2, 0.4, 0.6, 0.8 a 1.0 při β = 20 s-1.

29

Obr. 2.13 Inverzní (chybový) lineárně predikční filtr. 31 Obr. 2.14 Filtr pro syntézu pomocí lineární predikce. 31 Kapitola 4. Lineární predikce průběhu základního tónu řeči

Obr. 4.1 Charakteristiky filtru pro decimaci průběhu základního tónu řeči. 38 Obr. 4.2 Ukázka interpolace průběhu základního tónu řeči. 39 Obr. 4.3 Ukázka filtrace interpolovaného průběhu základního tónu řeči. 39 Obr. 4.4 a) Ukázka decimace průběhu základního tónu řeči,

b) Vypočtený zbytkový signál včetně vypočtených koeficientů filtru. 40

Obr. 4.5 a) Blokové schéma LPC analyzátoru. b) Blokové schéma vlastního bloku LPC analýzy z obr. 4.5a.

40

Obr. 4.6 Blokové schéma inverzního filtru. 41 Obr. 4.7 Struktura rekonstrukčního filtru syntezátoru základního tónu řeči. 42 Obr. 4.8 Blokové schéma LPC syntezátoru základního tónu řeči. 42 Obr. 4.9 a) Signál průběhu základního tónu řeči po LPC resyntéze a interpolaci,

b) Budící signál rekonstrukčního filtru včetně 4 LPC koeficientů. 43

Obr. 4.10 Ukázka průběhu základního tónu řeči po resyntéze metodou lineární predikce. 43 Obr. 4.11 Blokové schéma řečového LPC vokodéru s LPC analýzou / syntézou průběhu základního

tónu. 44

Kapitola 5. Vlastnosti zbytkového signálu lineární predikce

Obr. 5.1 Statistické vyhodnocení LP koeficientů 144 vět ze souboru „machač1“ a „machač2“. 45 Obr. 5.2 Odezva rekonstrukčního filtru na jednotkový skok a jednotkový impuls (LP koeficienty ze

souboru vět „machač1“ a „machač2“). 46

Obr. 5.3 Statistická analýza lineárně predikčních koeficientů pro jednotlivé mluvčí. 46 Obr. 5.4 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, w = 1, 2, 3; ε = 4. 49 Obr. 5.5 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, w = 4, 5, 6; ε = 4. 49 Obr. 5.6 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 1, 2, 3; ε = 4. 50 Obr. 5.7 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 4, 5, 6; ε = 4. 50 Obr. 5.8 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 2; ε = 1, 3, 5. 51 Obr. 5.9 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 2; ε = 2, 4, 8. 51 Obr. 5.10 Histogramy středních kvadratických chyb pro jednotlivé soubory vět (w = 2; ε = 4). 53 Obr. 5.11 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, ε = 2. 54

Page 6: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

6

Kapitola 6. Experimentální část

Obr. 6.1 TTS systém upravený pro účely automatické segmentace. 60 Obr. 6.2 Blokové schéma automatického segmentátoru řeči. 61 Obr. 6.3 Váhovací koeficienty w pro symetrickou formu bortící funkce. 62 Obr. 6.4 Ukázka DTW algoritmu na matici akumulovaných vzdáleností. 63 Obr. 6.5 Průměrné délky hlásek v jednotlivých kategoriích pro mužský a ženský hlas při automatické

a manuální segmentaci (viz tab. 6.6). 66

Obr. 6.6 Ukázka automatické segmentace. Nahoře je syntetická řeč s vyznačenými hranicemi hlásek, dole pak přirozená promluva s automaticky vyznačenými hranicemi hlásek.

66

Obr. 6.7 Blokové schéma nástroje na transplantaci průběhu základního tónu z jedné promluvy na druhou.

67

Obr. 6.8 Grafické uživatelské rozhraní systému SpeechStudio. 68 Obr. 6.9 Implementace Fujisakiho intonačního modelu v systému SpeechStudio. 69 Obr. 6.10 Implementace lineárně predikčního intonačního modelu v systému SpeechStudio. 70 Obr. 6.11 Grafický klient TTS systému Epos. 71 Obr. 6.12 Nástroj pro výpis a modifikaci vnitřní datové struktury systému Epos. 72 Obr. 6.13 TTS systém s použitím generování základního tónu pomocí lineární predikce. 73

Page 7: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

7

Seznam tabulek

Kapitola 2. Shrnutí současného stavu problematiky

Tab. 2.1 Závislost trvání pauz za větami na interpunkčních znacích dle [PTÁ93] Kapitola 4. Lineární predikce průběhu základního tónu řeči

Tab 4.1 Výpočet decimačního filtru v prostředí Matlab Kapitola 5. Vlastnosti zbytkového signálu lineární predikce

Tab. 5.1 Statistické vyhodnocení LP koeficientů 144 vět ze souboru „Machač1“ a „Machač2“ Tab. 5.2 Analýza střední kvadratické chyby pro věty o1d3a (a) a d3k3a (b) od mluvčího Machač Tab. 5.3 Statistika středních kvadratických chyb pro 72 vět souboru Machač1 Tab. 5.4 Statistika středních kvadratických chyb pro 72 vět souboru Machač2 Tab. 5.5 Statistika středních kvadratických chyb pro 72 vět souboru Záruba Tab. 5.6 Statistika středních kvadratických chyb pro 72 vět souboru Jana Tab. 5.7 Statistika středních kvadratických chyb pro různé prahové úrovně aproximace Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty Kapitola 6. Experimentální část

Tab. 6.1 Rozdělení českých hlásek pro účely testování automatické segmentace Tab. 6.2 Procentuální výskyt chyb segmentace začátků hlásek pro mužský hlas Tab. 6.3 Procentuální výskyt chyb segmentace trvání hlásek pro mužský hlas Tab. 6.4 Počet výskytů hlásek v jednotlivých kategoriích Tab. 6.5 Procentuální výskyt chyb segmentace začátků hlásek pro ženský hlas Tab. 6.6 Procentuální výskyt chyb segmentace trvání hlásek pro ženský hlas Tab. 6.7 Průměrné délky hlásek v jednotlivých kategoriích pro mužský a ženský hlas při automatické a manuální segmentaci Tab. 6.8 Přednastavené druhy značek v systému SpeechStudio Tab. 6.9 Uspořádání úrovní TSR pro češtinu Tab. 6.10 Deklarace proměnných pro lineárně predikční intonačnmí model v souboru tdpsyn.cc Kapitola 8. Přílohy

Tab. A.1 Kategorie vět prozodického korpusu Tab. A.2 Věty prozodického korpusu Tab. B.1 Fonetický přepis českých hlásek

Page 8: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

8

Přehled použitých symbolů Kapitola 2. Shrnutí současného stavu problematiky

B . . . prodloužení hlásky [dC] T . . . doba trvání hlásky [ms] t . . . čas F0(t) . . . průběh základního tónu v závislosti na čase Fb . . . základní kmitočet Fujisakiho modelu Api . . . amplituda i-tého úsekového impulsu Fujisakiho modelu Aaj . . . amplituda j-tého přízvukového pulsu Fujisakiho modelu Gp . . . úseková složka Fujisakiho modelu Ga . . . přízvuková složka Fujisakiho modelu T0i . . . čas i-tého úsekového impulsu Fujisakiho modelu T1j . . . čas počátku j-tého přízvukového pulsu Fujisakiho modelu T2j . . . čas konce j-tého přízvukového pulsu Fujisakiho modelu α . . . koeficient časové konstanty úsekového systému Fujisakiho modelu β . . . koeficient časové konstanty přízvukového systému Fujisakiho modelu γ . . . mezní hodnota přízvukového systému Fujisakiho modelu n . . . pořadové číslo vzorku signálu x(n) . . . n-tý vzorek signálu x̃(n) . . . predikce signálu x(n) e(n) . . . zbytkový signál lineární predikce am . . . m-tý koeficient predikčního filtru M . . . řád parametrického modelu (řád lineární predikce) N . . . počet vzorků signálu Kapitola 4. Lineární predikce průběhu základního tónu řeči

Wp . . . hraniční kmitočet propustného pásma filtru Ws . . . hraniční kmitočet nepropustného pásma filtru Rp . . . útlum filtru v propustném pásmu Rs . . . útlum filtru v nepropustném pásmu Fs . . . vzorkovací kmitočet ri . . . i-tý autokorelační koeficient rci . . . i-tý reflexní koeficient ai . . . i-tý koeficient filtru Kapitola 5. Vlastnosti zbytkového signálu lineární predikce

ej . . . j-tá hodnota zbytkového signálu lineárního prediktoru yi . . . i-tá hodnota aproximovaného zbytkového signálu lineárního prediktoru w . . . šířka aproximačního okna k . . . počáteční index aproximačního okna pro i-tou hodnotu zbytkového signálu ε . . . prahová úroveň aproximace F0i . . . hodnota základního tónu i-tého rámce analyzované promluvy na výstupu pitchdetektoru F̃0i . . . hodnota základního tónu i-tého rámce po resyntéze pomocí lineární predikce n . . . počet hodnot průběhu základního tónu řeči (počet rámců promluvy) V . . . počet nenulových hodnot základního tónu řeči v promluvě (počet znělých rámců) MSE . . . střední kvadratická chyba průběhu základního tónu po resyntéze pomocí lineární predikce Kapitola 6. Experimentální část

c0 . . . nultý kepstrální koeficient cn . . . n-tý kepstrální koeficient α . . . koeficient zisku lineárního prediktoru cj(i) . . . j-tý kepstrální koeficient i-tého rámce μ . . . koeficient překrytí rámců w . . . váhovací funkce f . . . obecná funkce D . . . distanční matice

Page 9: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

9

1 Úvod

Lidská řeč je základním komunikačním prostředkem mezi lidmi a v dnešní době, kdy se mnoho věcí nedávno ještě neskutečných stává realitou díky stále většímu výpočetnímu výkonu současných počítačů, se syntetická řeč stává běžnou součástí každodenního života. Pokusy o umělou řeč jsou zaznamenány již ve druhé polovině 18. století, kdy Kratzenstein reprodukoval zvuk samohlásek spojením jazýčkové píšťaly s trubicemi rozmanitých tvarů a velikostí (1780) a von Kempelen sestavil mechanický syntezátor řeči (1791). První elektronické syntezátory, které generují rovněž pouze samohlásky, se objevují až v první polovině dvacátého století. Výraznější výsledky v této oblasti jsou datovány až v období po II. světové válce a zejména po r. 1960, kdy byla uveřejněna Fantova práce o modelování hlasového traktu [FAN60]. Bouřlivý rozvoj v oblasti syntézy řeči nastal však až s rozvojem osobních počítačů v 80. a zejména pak v 90. letech.

V současné době, kdy syntetickou řeč můžeme slyšet každý den v nejrůznějších telekomunikačních či informačních systémech, se kladou stále větší požadavky na její kvalitu a přirozenost. Přestože se syntetická řeč již prakticky používá, její kvalita stále není dokonalá. Jsme schopni produkovat syntetickou řeč s velmi dobrou srozumitelností, ale s malou přirozeností. Rozdíl mezi syntetickou a přirozenou řečí je stále propastný, a to jak z hlediska modelování vlastního řečového signálu, tak z hlediska modelování prozodie řeči.

Na mém pracovišti v Ústavu radiotechniky a elektroniky AV ČR se syntetickou řečí zabýváme od počátku devadesátých let. První v praxi používaný řečový syntezátor, založený na principu lineárně prediktivního kódování, pochází z roku 1992 [VÍC94a,b][VÍC95a,b][VÍC96a,b]. Syntezátory vyvinuté na našem pracovišti používají modelování prozodických rysů podle pravidel definovaných ve Fonetickém ústavu Filozofické fakulty Karlovy univerzity. V letech 1996 až 1998 probíhala spolupráce mezi naším pracovištěm a TU Drážďany na společné česko-německé syntéze řeči [HEL96]. Hledáním lepšího způsobu modelování řečového signálu se na našem pracovišti zabývá Dr. Přibil ve svých pracích o kepstrálním modelování řeči [PŘI95][PŘI97]. Od roku 1996 se provádí výzkum v oblasti modelování prozodie syntetické řeči pomocí umělých neuronových sítí (UNS), který však zatím nepřinesl praktické výsledky [VÍC96c][TUČ96][TUČ97a,b,c,d,e][TUČ98][KRK98].

Prozodii řeči jsem se začal věnovat v r. 1995, kdy jsem vytvořil nástroj pro modelování prozodie ModProz, který se používá převážně ve Fonetickém ústavu Filozofické fakulty pro tvorbu nových prozodických pravidel. Tento nástroj byl založen na syntéze řeči z psaného textu s možností měnit prozodické parametry pro jednotlivé hlásky nebo řečové jednotky (difony) [HOR96a,b,c,d]. Z hlediska přirozenosti řeči, zejména při poslechovém testování nových prozodických pravidel, vyvstala potřeba modelování prozodie na přirozeném řečovém signálu. Z tohoto důvodu jsem v r. 1996 začal pracovat na programovém systému SpeechStudio umožňujícím manuální segmentaci a popisování úseků signálu a resyntézu řečového signálu s pozměněnými prozodickými hodnotami [HOR97a,b,d]. Systém SpeechStudio byl využíván při experimentech popisovaných v této práci a byl pro její potřeby průběžně zdokonalován a rozšiřován [HOR98b,c,e,f][HOR99a,b,c,f][HOR00c][HOR01c].

Při definování nových prozodických pravidel vznikla také potřeba jejich pružného testování. V dosavadních syntezátorech bylo nutno prozodická pravidla psát přímo do zdrojového kódu syntezátoru, což byl v našem případě assembler 8086. Z toho vyplývá, že prozodická pravidla mohl modifikovat v podstatě pouze autor zdrojového kódu syntezátoru (doc. Ptáček). Na základě této situace byl v r. 1996 prof. Dohalskou motivován vývoj otevřeného systému pro převod psaného textu na řeč, jehož jsem se ujal společně s mgr. Hanikou z Karlovy univerzity. Ve spolupráci s mgr. Hanikou jsme vytvořili systém, ve kterém se jak transkripční, tak prozodická pravidla mohou zapisovat pomocí speciálního makrojazyka do konfiguračních souborů bez nutnosti znalosti zdrojového kódu a kompilace. Tento systém později dostal jméno Epos a byl rovněž rozšiřován pro potřeby této práce, zejména pak o možnost automatické segmentace řečového signálu [HOR98d][HAN98a,b].

V této práci se zabývám vedle stručného úvodu do problematiky prozodie češtiny především možnostmi parametrického popisu prozodie řeči, zejména pak průběhu základního tónu řeči, a jeho využitím pro automatickou syntézu řeči z psaného textu. Cílem práce nebyla tvorba celého nového systému pro modelování prozodie pomocí prozodických modelů, neboť tak rozsáhlý cíl je možné splnit pouze v rámci širšího kolektivu spolupracovníků v časovém horizontu několika let. Tato práce by měla ukázat výhody prozodických modelů pro modelování prozodie a možné směry dalšího výzkumu.

Page 10: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

10

Page 11: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

11

Část I

Teoretická část

Page 12: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

12

Page 13: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

13

2 Shrnutí současného stavu problematiky

První prakticky použitelný systém pro převod psaného textu na mluvenou řeč (Text-to-Speech – TTS System), pocházející z našeho ústavu, byl vyvinut ve spolupráci s Fonetickým ústavem Filozofické fakulty Karlovy univerzity (FF UK) v letech 1990 až 1993. Tento TTS systém byl založen na časovém spojování modelů jednotek řeči popsaných pomocí lineárně prediktivního kódování (LPC – Linear Predictive Coding) [ITA69][VÍC95a]. Inventář řečových jednotek se skládal celkem ze 441 difonu a těl samohlásek vyskytujících se v češtině a ve slovenštině. Syntéza řeči pracovala se vzorkovacím kmitočtem 8 kHz při použitém osmém řádu lineární predikce. Prozodie byla v tomto syntezátoru generována pomocí pravidel sestavených fonetiky z FF UK. Tato pravidla byla zapsána přímo ve zdrojovém kódu TTS systému, a nebylo je tedy možné během používání měnit. Tento původní TTS systém vycházel z předchozí dlouholeté práce doc. Ptáčka z FF UK v oboru syntézy řeči a zkušeností kolektivu Dr. Vícha z ÚRE AV ČR s lineárně prediktivním kódováním řeči. Popisovaný TTS systém se dodnes prakticky používá především jako pomůcka pro nevidomé a slabozraké, dále pak v telekomunikačních a informačních systémech.

Vývoj našeho TTS systému probíhal od r. 1990 v několika směrech současně na pracovištích ÚRE AV ČR a Fonetického ústavu FF UK. Ve Fonetickém ústavu se pracovalo především na návrhu nového inventáře řečových prvků foneticky lépe popisujícího mluvenou češtinu a na návrhu lepších pravidel pro modelování prozodie [HOR97c]. Odchodem doc. Ptáčka z Fonetického ústavu práce na nových inventářích ve Fonetickém ústavu ustaly, přičemž žádný z do této doby vytvořených inventářů nebyl lepší, než původní, dosud používaný, inventář, jehož autorkou je E. Víchová z ÚRE a jehož poslední verze je z r. 1993. Díky příchodu nové pracovnice do ÚRE v r. 1999 pracujeme nyní na novém inventáři přímo v ÚRE. Tento nový inventář, založený na použití trifonů, obsahuje 1856 řečových jednotek [HOR01b]. V současné době jsou před dokončením trifonové inventáře pro mužský i ženský hlas. Od března 1999 je v činnosti plně automatizovaný informační systém INFOCITY vyvinutý na TU v Liberci Prof. Nouzou, ve kterém je použita syntéza řeči vyvinutá v ÚRE (možno vyzkoušet na telefonním čísle 048/5353100).

Vývoj v oblasti generování prozodie probíhal v letech 1993 až 1998 ve Fonetickém ústavu pod vedením doc. Ptáčka. Prozodická pravidla, vycházející z předchozích výzkumů, definovaná v r. 1998 prof. Palkovou z FÚ, byla zapracována také do systému Epos. Od r. 1996 do r. 2000 jsme se ve spolupráci s doc. Tučkovou z ČVUT FEL snažili najít lepší způsob generování prozodie syntetické řeči s využitím umělých neuronových sítí (UNS) [TUČ97a,b,c,d,e][TUČ98]. Tato spolupráce bohužel nepřinesla žádné prakticky použitelné výsledky. To však neznamená, že by modelování prozodie pomocí UNS nebylo perspektivní, je však potřeba hledat nové přístupy k řešené problematice.

V současné době pracuje na syntéze češtiny z psaného textu několik na sobě nezávislých pracovišť. V akademické sféře je to především kolektiv z Fakulty informatiky z Masarykovy univerzity v Brně pod vedením doc. Kopečka vyvíjející syntezátor Demosthenes založený na použití poloslabik a syntézy v časové oblasti. Na Katedře kybernetiky Západočeské univerzity v Plzni pracuje kolektiv pod vedením prof. Psutky na syntéze řeči založené na automatické segmentaci jednotek pomocí skrytých Markovových modelů (Hidden Markov Models – HMM). Jako jednotka je použit foném závislý na svém pravém i levém okolí; složitostí se tedy jedná v podstatě o trifonovou syntézu, kde počet řečových jednotek je cca 5000. Na Drážďanské univerzitě je vyvíjena syntéza češtiny ve spolupráci s FÚ Filozofické fakulty. Z komerční sféry lze zmínit např. firmu FROG Systems a její TTS systém CSVoice.

Jak již bylo v úvodu řečeno, byla v prvních TTS systémech pravidla pro fonetickou transkripci a pro modelování prozodie zapsána přímo v programovém kódu TTS systému, a proto bylo obtížné tato pravidla vyvíjet a měnit. Z tohoto důvodu se v roce 1996 započalo ve spolupráci s FÚ FF UK s vývojem nové koncepce TTS systému, ve kterém by byla všechna transkripční i prozodická pravidla konfigurovatelná bez nutnosti rekompilace kódu. Tento systém byl posléze nazván Epos a dnes je i prakticky používán a je možné jej bezplatně získat na internetu na adrese http://epos.ure.cas.cz/ včetně zdrojových kódů [HOR98a,d][HAN01][EPOS]. Na této internetové stránce je možné tímto systémem ozvučit libovolný text. Výhodou systému Epos je plná kontrola uživatele nad procesem fonetické transkripce a modelování prozodie. Z tohoto důvodu se na Epos budu odvolávat při popisu problematiky fonetické transkripce a modelování prozodie a také při vlastních experimentech využívajících TTS systém Epos. Systém Epos používá architekturu klient/server s komunikací prostřednictvím speciálního autory navrženého protokolu pracujícího na TCP vrstvě [HAN99]. Díky tomu je Epos nezávislý na hardwarové platformě i na použitém operačním systému. Tím, že byly ze zdrojových kódů všechny jazykové závislosti přesunuty do konfiguračních souborů, stal se systém Epos nezávislý na jazyku. Přidání dalšího jazyka je pak v podstatě otázkou vytvoření konfiguračních souborů a hlasových inventářů pro daný jazyk [HAN00].

Page 14: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

14

2.1 Co je to řeč?

Jazyk nám umožňuje předávat myšlenky prostřednictvím souboru znaků ať už grafických (latinka, řecká abeceda, azbuka, čínské ideogramy apod.), akustických (např. pomocí řeči), anebo jiných. Řeč je jedním z nejstarších a nejpřirozenějších prostředků komunikace mezi lidmi a je také jako prostředek komunikace nejčastěji užívána. Není divu, že se lidé snaží vytvářet zařízení umožňující automatické vytváření, příp. i rozpoznávání řeči. Informaci, kterou lidská řeč přenáší, můžeme analyzovat mnoha způsoby. Vědci zabývající se řečí obvykle rozlišují několik vzájemně překrývajících se úrovní popisu řeči, a to: akustická, fonetická, morfologická, syntaktická, sémantická a pragmatická. Pro vlastní syntézu řeči jsou nejdůležitější úrovně akustická a fonetická. 2.1.1 Akustická rovina řeči

Řečový akustický signál je speciálním případem akustického signálu nesoucím řečovou informaci. Podstatou akustického signálu je vlnění elastického prostředí v oboru slyšitelných frekvencí vznikající kontrolovanými pohyby struktur hlasového ústrojí patrných na obr. 2.1. Hlasové ústrojí lze z akustického hlediska považovat za soustavu zvukových zdrojů a rozvětveného zvukovodu. Jedna z větví tohoto zvukovodu (větev nazální) má prakticky stálý tvar (průřezovou funkci) a mění se pouze v oblasti svého vstupu (lze ji otevřít nebo uzavřít, eventuálně nastavit mezi těmito dvěma stavy). Druhá větev (orální) může svůj tvar v určitých mezích měnit (má časově proměnnou průřezovou funkci). Obě větve vyúsťují do vnějšího prostoru v těsné blízkosti a jejich výstupní signály se skládají do signálu jediného. Původní spektra zvukových zdrojů se modifikují filtračními účinky zvukovodů (vokálního traktu).

Akustická soustava vokálního traktu je buzena dvěma druhy akustického signálu. Jednak je to kvazi-periodický signál, vznikající přerušováním výdechového proudu vzduchu kmitajícími hlasivkami, jednak signál šumový, vznikající turbulentním prouděním výdechového proudu vzduchu úžinami. Hlasivkový tón má bohaté kmitočtové spektrum, které lze s určitou nepřesností považovat za čárové (ve skutečnosti je hlasivkový tón nutno považovat za zvuk kvaziperiodický). Filtračním účinkem jedné nebo obou větví zvukovodu se určitá spektrální pásma (formanty) zesilují, případně se mohou i zeslabovat (antiformanty při nazalizaci). Dalším zvukovým zdrojem, budícím orální větev mluvidel, je zdroj šumový. Šum vzniká turbulentním prouděním vzduchu úžinami, které mění svou polohu podle druhu artikulované hlásky. Nejblíže vstupu do orální větve (přímo v hlasivkách) vzniká šum při artikulaci souhlásky „h“, nejdále od vstupu šum souhlásky „f“. Pokud je šumový zdroj umístěn mimo začátek orální větve, je pro něj filtrační účinek zvukovodu (vlastně již jen jeho části směrem

Obr. 2.1 Schéma hlasového ústrojí.

Page 15: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

15

k výstupu z úst) jiný, než pro hlasivkový tón, který prochází celým zvukovodem. Spektrum šumu je však ovlivněno i prostorem, který šumovému zdroji předchází, a to obvykle tak, že jsou určitá kmitočtová pásma šumu potlačena.

Spojitý artikulační pohyb mluvidel (koartikulace) při tvorbě souvislé řeči se projevuje modifikací charakteristických zvuků jednotlivých hlásek zvuky hlásek sousedících. Tuto modifikaci pozorujeme nejen v oblasti spektrálních tranzientů (přechodových oblastí mezi stacionárními úseky hlásek), ale někdy i ve středních hláskových oblastech – záleží na typu hlásek, na tempu řeči a na artikulačních schopnostech mluvčího.

Akustická skladba jednotlivých hlásek souvislé řeči je dále modifikována v rámci delších časových úseků (slova, taktu, větného úseku, věty) tzv. modulačními faktory, jimiž se vytvářejí prozodické rysy promluvy. Jde o modifikace časové, intenzitní a melodické. Změny v těchto parametrech se přičítají ke změnám daným vlastnostmi jednotlivých hlásek a koartikulací.

Ukázku řečového signálu vidíme na obr. 2.2. V horní části je časový průběh řečového signálu a pod ním spektrogram tohoto průběhu. Spektrogram je zobrazení časových změn intenzit jednotlivých spektrálních složek řečového signálu. V tomto zobrazení čas odpovídá vodorovné ose, kmitočet spektrálních složek svislé ose a hladina zvuku (tj. logaritmická míra intenzity) stupni zčernání příslušné plochy. 2.1.2 Fonetická rovina řeči

Na spektrogramu na obr. 2.2 dole lze rozlišit spektrum periodického signálu od spektra signálu šumového. U periodického signálu je většina energie rozložena v nižší části spektra a je zde patrné zřetelné vertikální šrafování způsobené periodicitou hlasivkových pulsů. Spektrum šumového signálu toto šrafování nemá a většina energie je u šumového signálu rozložena ve vyšší části spektra. Dobře odlišitelné jsou i oblasti bez signálu (např. okluzní pauzy). Ve vodorovném směru se táhnou výrazné pruhy s vertikálně kolísajícími polohami. Jsou to oblasti spektrálních maxim – formanty. Časové změny formantových poloh se nazývají formantovými tranzienty.

Obr. 2.1 Časový průběh a spektrogram řečového signálu (věta „Vědci pracují s virgulí“).

Obr. 2.2 Časový průběh a spektrogram řečového signálu (věta „Vědci pracují s virgulí“).

Page 16: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

16

Počet samohláskových formantů je závislý na tvaru vlny hlasivkového buzení (na způsobu kmitání hlasivek). Hlasy, které mají velký počet formantů, znějí většinou plně a jasně, na rozdíl od hlasů s menším počtem formantů, které znějí zastřeně a chudě. Kmitočty formantů se u jednotlivých samohlásek odlišují a jsou pro ně charakteristické. Kromě formantů lze na spektrogramech ještě nalézt (obvykle slaběji vyjádřená) spektrální maxima, která přispívají k individuální charakteristice mluvčího (k barvě hlasu).

V souvislé řeči se vlivem koartikulace polohy samohláskových formantů mohou odlišovat od poloh, odpovídajících samostatně vyslovované samohlásce (od tzv. cílových hodnot). Při rychlé mluvě formanty v samohláskových polohách ani nemusejí dosáhnout svých cílových hodnot, a přesto posluchač samohlásky (v daném kontextu) považuje za správně vyslovené. Pokud se však pomocí počítače ozvučí odpovídající samohláskové úseky bez kontextu, jsou vnímány jako chybně vyslovené.

2.2 Syntéza řeči z psaného textu

Pro syntézu řeči z psaného textu je třeba zvládnout fonetickou transkripci, tj. přepis psaného textu na posloupnost hlásek (zvuků), a následné přiřazení zvolených jednotek řeči (difony, trifony apod.) transkribovanému textu. První syntezátory z psaného textu nepracovaly s prozodií a produkovaly tedy monotónní, poslechově nepříjemnou řeč. Pro přijatelnější kvalitu syntetické řeči bylo nezbytné přidat modelování prozodie. Zpočátku se používalo pouze modelování průběhu základního tónu, které je z prozodického hlediska nejdůležitější. Pro dosažení lepší přirozenosti řeči je však nezbytné pracovat také s modelováním rychlosti (časového členění) a intenzity řeči. Řada dnešních syntezátorů však vůbec neprovádí modelování intenzity řeči, nebo intenzitu modeluje značně zjednodušeně. I když výzkumy prokázaly význam modelování intenzity pro přirozenost syntetické řeči, je tento význam menší v porovnání s modelováním průběhu základního tónu a časového členění [WIT82][KEL94].

Každý systém pro syntézu řeči z psaného textu se skládá z několika vzájemně více či méně provázaných částí, které můžeme rozdělit do dvou skupin. První skupina, zabývající se zpracováním textu, provádí převod psaného textu na vnitřní fonetickou reprezentaci syntezátoru spolu s generováním prozodických informací. Tato část TTS systému sestává z analýzy textu, fonetické transkripce, modelování prozodie a příp. generování posloupnosti řečových jednotek. Druhá část TTS systému pak převádí vnitřní fonetickou reprezentaci spolu s prozodií na posloupnost řečových jednotek z řečové databáze, ze které se pak tvoří řečový signál modelováním řeči v časové nebo kmitočtové oblasti, popř. modelováním hlasového traktu. Základní blokové schéma TTS systému můžeme nalézt na obr. 2.3. Lingvistická část syntézy řeči z psaného textu je znázorněna na obr. 2.4,

Obr. 2.4 Lingvistická část syntezátoru řeči.

Obr. 2.3 Blokové schéma TTS systému.

Page 17: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

17

vlastní produkce řeči založená na principu modelování hlasového traktu v kmitočtové oblasti je znázorněna na obr. 2.5.

2.2.1 Fonetická transkripce

Fonetická transkripce je určena ke schematickému zápisu hlásek mluvené řeči odpovídající dané konvenci. K zápisu fonetické transkripce se užívá mezinárodní fonetická abeceda IPA [IPA96]. Pro počítačové zpracování se používá SAMPA (Speech Assessment Methods Phonetic Alphabet) [WEL92][WEL00]. Pro počítačové zpracování fonetického přepisu češtiny byl definován zápis Doc. Ptáčkem (viz Příloha B), později byl definován zápis ve společné práci Prof. Nouzy, Prof. Uhlíře a Prof. Psutky [NOU97]. Pro fonetický přepis češtiny vznikly v minulosti dva různé návrhy SAMPA notace pro češtinu. Jeden pochází z ČVUT a slouží pro potřeby rozpoznávání, druhý pochází z Fakulty informatiky v Brně a slouží především pro potřeby syntézy řeči. Z těchto návrhů vznikl později návrh kompromisní, který se zřejmě stane standardem SAMPA notace pro češtinu [HNŽ01].

Je známo, že výslovnost slov se často liší od jejich pravopisu, i když v češtině není tento rozdíl tak velký jako např. ve francouzštině nebo v angličtině. Fonetická transkripce češtiny se dá až na malé výjimky popsat pomocí pravidel bez nutnosti použití rozsáhlých slovníků. Z tohoto důvodu používají všechny české TTS systémy pouze pravidla, která mohou být doplněna slovníky výjimek.

Složitějším problémem pro fonetickou transkripci jsou číslovky, především pak řadové. V systému Epos je čtení číslovek realizováno pomocí regulárních výrazů, které představují velmi výkonný nástroj pro práci s textem.

Obr. 2.5 Lineární model produkce řeči.

Obr. 2.6 Modelování prozodie podle pravidel.

Page 18: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

18

2.2.2 Prozodie řeči

Prozodie řeči nese informaci o melodii (průběhu základního tónu F0), intenzitě a časovém členění jednotlivých řečových jednotek na suprasegmentální úrovni. Původní české řečové syntezátory nepracovaly s prozodií, a proto byla jejich řeč nepříjemně monotónní. Současné řečové syntezátory pracují většinou pouze s modelováním průběhu základního tónu, jenž je z prozodického hlediska nejdůležitější. Řečové syntezátory vyvíjené v ÚRE pracují se všemi třemi základními prozodickými parametry.

V teoretické oblasti je stav prozodie češtiny poměrně neuspokojivý. Existují zde sice práce Romportla a Daneše, ty se však zabývají popisem pravidel, které byly dále propracovány Palkovou. V současné době neexistuje žádný moderní pohled na teorii prozodie češtiny.

V praktických aplikacích prozodie češtiny, tj. u syntézy české řeči, je stav obdobný jako u teorie – existuje několik syntezátorů používajících modelování prozodie pomocí pravidel, která je pro běžného posluchače většinou nepřijatelná. Bohužel lepší prozodické vlastnosti mají dnes spíše syntezátory pocházející z komerční sféry.

Při modelování prozodie řeči pomocí pravidel se na základě analýzy textu přiřazuje jednotlivým řečovým jednotkám pomocí pevně stanovených pravidel jejich základní tón, intenzita a trvání. Prozodická pravidla doposud používaná ve Fonetickém ústavu a v ÚRE jsou výsledkem dlouholetého výzkumu ve Fonetickém ústavu Univerzity Karlovy pod vedením doc. Ptáčka. Blokové schéma syntézy řeči s modelováním prozodie pomocí pravidel je na obr. 2.6. Při použití neuronových sítí pro modelování prozodie je hodnota základního tónu (popř. i intenzity a trvání) jednotlivých řečových jednotek získána pomocí umělé neuronové sítě, na jejíž vstupy jsou přivedeny výsledky analýzy textu.

Modifikace TTS systému pro modelování průběhu základního tónu řeči pomocí neuronové sítě, vyvíjeného ve spolupráci ÚRE a ČVUT FEL, je zobrazena na obr. 2.7.

V tomto TTS systému je vstupní text analyzován a relevantní informace jsou předávány do umělé neuronové sítě (UNS), která potom na jejich základě generuje prozodické hodnoty pro jednotlivé hlásky. Výsledky této metody zatím nejsou uspokojivé nejspíše proto, že UNS je nucena generovat přímo absolutní hodnoty základního tónu řeči, čímž je v podstatě zahlcena. Lepších výsledků by se jistě dosáhlo použitím nějakého intonačního modelu či použitím více jednodušších neuronových sítí kombinovaných s prozodickými pravidly. Zajímavou aplikací by také bylo použití neuronové sítě pro modelování prozodie pomocí lineární predikce, kdy by UNS generovala průběh buzení syntetizujícího filtru namísto přímého generování průběhu základního tónu. Průchodem generovaného budícího signálu syntetizujícím filtrem by se odstranila hlavní nevýhoda UNS – nepřirozené chvění výstupního průběhu základního tónu. 2.2.3 Modelování řečového signálu

Z hlediska objemu inventáře řečových jednotek je čeština také poměrně jednoduchý jazyk, neboť obsahuje jen 5 základních samohlásek. Poměrně dobrých výsledků lze pro češtinu dosáhnout s použitím inventáře o rozsahu cca 300 řečových jednotek obsahujícího těla samohlásek, iniciální a finální části hlásek, difony samohláska–souhláska (VC) a difony souhláska samohláska (CV). Ve Fonetickém ústavu FF UK byl T. Dubědou definován difonový inventář o rozsahu cca 1300 jednotek obsahující navíc difony souhláskových skupin. Na Fakultě informatiky Masarykovy univerzity v Brně používají inventář obsahující cca 3000

Obr. 2.7 Modelování základního tónu řeči neuronovou sítí.

Page 19: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

19

poloslabik. Na Katedře kybernetiky ZČÚ v Plzni vytvořili trifonový inventář (spíše než o trifonech by bylo vhodnější mluvit o monofonech závislých na svém pravém a levém okolí) s využitím automatického definování trifonové databáze a automatické segmentace na bázi skrytých Markovských řetězců (HMM – Hidden Markov Models). Takto automaticky definovaný inventář obsahuje cca 5000 jednotek. Nejnovější inventář definovaný v ÚRE je založen rovněž na použití trifonů a obsahuje cca 1850 řečových jednotek. Ve světě jsou stále více populární TTS systémy pracující s rozsáhlými databázemi, kde mohou řečové jednotky tvořit celé slabiky i slova, popř. slovní spojení. Pro syntézu tónových jazyků (např. japonština) se začínají používat inventáře obsahující každou řečovou jednotku v několika intonačních variantách.

Nejstarší české TTS systémy používaly pro modelování řečového signálu formantovou syntézu (známý je např. Ptáčkův dvouformantový syntezátor používající Baumwollspinerovu metodu). TTS systémy vyvinuté v ÚRE používají modelování řečového signálu v kmitočtové oblasti buď pomocí lineární predikce, nebo pomocí kepstrální syntézy. Největší předností modelování řečového signálu v kmitočtové oblasti je plynulá změna prozodických parametrů ve velkém rozsahu. Většina konkurenčních produktů je dnes založena na modelování řečového signálu v časové oblasti metodou PSOLA, popř. jejími modifikacemi, které mají oproti modelování řeči v kmitočtové oblasti nevýhody v oblasti modelování prozodie a spektrální nevyváženosti na přechodech jednotek, poskytují však řeč s vyšší přirozeností. Jako spojení výhod obou přístupů se dnes začíná prosazovat syntéza řeči využívající harmonické modelování. Pro možnost porovnání kvality nových inventářů používajících vzorkovací kmitočet 16 a 32 kHz byla v ÚRE rovněž implemetována metoda PSOLA v časové oblasti.

2.3 Způsoby realizace fonetické transkripce

Pro automatický převod psaného textu na posloupnost hlásek se používají buď metody založené na použití slovníků, nebo metody založené na použití transkripčních pravidel. Zvláštní kapitolu pak tvoří fonetická transkripce pomocí umělých neuronových sítí. Transkripční systémy používající pravidla se pak dělí na expertní na pravidlech založené systémy a na učící se na pravidlech založené systémy. V prvním případě jsou fonetická pravidla definovaná skupinou expertů z oblasti fonetiky nebo lingvistiky, v druhém případě bývají systémy, založené většinou na použití skrytých Markovských řetězců, trénovány na příkladech. Není tudíž nutné spolupracovat s vyškolenými fonetickými experty, kterých může být pro konkrétní jazyk nedostatek, což je zvlášť důležité při vývoji multilingválních TTS systémů.

Čeština je z hlediska fonetické transkripce ve srovnání např. s angličtinou nebo francouzštinou výrazně jednodušší jazyk. Zde by nasazení neuronových sítí nemělo takový smysl jako při fonetické transkripci již zmiňované francouzštiny či angličtiny. Fonetická transkripce češtiny se dá uspokojivě vyřešit pomocí pravidel doplněných o slovník výjimek.

Jak již bylo řečeno, používají řečové syntezátory vyvíjené v ÚRE pro přepis psaného textu na posloupnost hlásek transkripční pravidla doplněná o slovníky výjimek.

2.4 Vlastnosti prozodie řeči

Termín prozodie postihuje jisté vlastnosti řečového signálu jako jsou slyšitelné změny základního tónu, hlasitosti a časového členění. Jelikož se prozodické změny aplikují na jednotky vyšší, než jednotlivé segmenty řeči (krátkodobé úseky řeči o délce řádově desítek ms), mluvíme o prozodii jako o suprasegmentálním jevu. Prozodie tedy postihuje větší jednotky, jako jsou slabiky, přízvukové takty, a také celé věty nebo souvětí. Změny v časové, intenzitní a melodické oblasti, ke kterým dochází na segmentální úrovni (např. ve spojení souhláska – samohláska), nazýváme mikrointonací, změny ve stejných dimenzích, které jsou výsledkem suprasegmentálních vlivů (např. přízvukového taktu, větného úseku, věty) nazýváme intonací [PTÁ93]. Ukázku mikrointonace můžeme vidět na obr. 2.8. Jedná se o spojení hlásek „éza“ ze slova „syntéza“. Z obrázku je zřejmé, že u hlásky „z“ dochází k lokálnímu poklesu základního tónu o cca 10 Hz.

Termín intonace používají někteří autoři jako synonymum pro prozodii, jiní jím označují pouze melodickou stránku prozodie. V této práci budu intonací označovat melodický průběh řeči.

Rozdělení suprasegmentálních účinků do tří nezávislých popisů v časové, kmitočtové a intenzitní oblasti je prakticky nemožné. Suprasegmentální rysy souvislé řeči se realizují ve všech třech oblastech současně, na sobě závisle a s možností vzájemné zastupitelnosti jednotlivých složek. Např. časové členění řeči je výrazně ovlivňováno melodií.

Page 20: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

20

2.4.1 Suprasegmentální vrstvy

Přízvukový takt je lineární jednotka, která váže jednu slabiku nesoucí slovní přízvuk a jistý počet slabik nepřízvučných. V krajním případě tvoří přízvukový takt přízvučná slabika sama. Zvukovou charakteristiku taktu určují především dvě složky: přízvukový vrchol a umístění mezitaktové hranice. V rámci hiearchické jazykové stavby je přízvukový takt jednotkou na úrovni slova a je realizován buď jen jedním slovem, nebo primární předložkou a slovem, nebo slovem a jemu následujícím jedním monosylabem či několika monosylaby, nebo samostatnou skupinou monosylab, apod. Zde je třeba podotknout, že zacházení s monosylaby je většinou záležitostí sémantickou nebo fakultativní. V systému Epos je pro přízvukový takt použito označení „word“ a pro slabiku označení „syll“.

Slovní přízvuk je v češtině pevný a váže se na první slabiku slova. Z toho plyne, že není fonologicky účinný, není možno ho využít pro rozlišení slovních významů. Je však považován za signál mezislovní hranice. Výjímečně však může před slovem s přízvukem v rámci téhož přízvukového taktu předcházet jednoslabičné slovo bez přízvuku nebo s přízvukem slabším. Pak mluvíme o předrážce (předtaktí) - např. „pan Novák“, „A nestůjte“.

Akustickým základem slovního přízvuku je kontrast dané slabiky vzhledem k slabikám sousedním, ne však nějaká absolutní hodnota zvukových kvalit. Množství variant, jimiž může být přízvuk realizován, se zatím nepodařilo uspokojivě zobecnit. V češtině se při realizaci slovního přízvuku může uplatnit melodický průběh, intenzitní proporce a trvání.

V kmitočtové oblasti vyvolává dojem přízvučnosti slabiky jak zvýšení, tak snížení tónu. Přijatelná či optimální velikost výškových změn je závislá na kontextu a pohybuje se kolem 1 – 2 čtvrttónu [PTÁ93]. Větší melodické změny jsou vnímány na úrovni větné melodie

V intenzitní oblasti odpovídá přízvučné slabice, dle [PTÁ93], zvýšení intenzity cca o 3 dB, což je na hranici subjektivního vnímání. V přirozeném signálu však často nacházíme i přízvučné slabiky, intenzitně nevyjádřené, nebo dokonce slabší, než jejich okolí. V komplexu zvukových kvalit zřejmě není intenzita přízvučné slabiky kvalitou určující.

V časové oblasti není zřetelné prodloužení samohlásky jako signál přízvuku přijatelné, protože rozdíl trvání dlouhých a krátkých samohlásek je fonologicky funkční. V malých mezích, cca 1 dC - decichron, pro který platí definiční vztah:

B = 10 log T1/T2 = 1 dC, (2.1)

kde T1 a T2 jsou srovnávané doby trvání [BOR67],

se však může i prodloužení nebo zkrácení samohlásky stát faktorem, podporujícím hodnocení přízvučnosti. Pro názornost lze uvést, že změna trvání o velikosti 1 dC je právě percepčně postřehnutelná.

Obr. 2.8 Ukázka mikrointonace – spojení hlásek „éza“ ze slova „syntéza“.

Page 21: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

21

Promluvový (intonační) úsek je podle Palkové [PAL94] lineární jednotka souvislé řeči nadřazená taktu. Je to jednotka v první řadě zvuková. O její existenci rozhoduje především intonační průběh řeči. Z hlediska jazykové stavby je intonační úsek jednotkou fakultativní. Prosazuje se jak při produkci, tak i při percepci řeči. Z hlediska posluchače si lze intonační úsek představit jako skupinu taktů, které jsou svým intonačním průběhem vázány do určitého celku. Posluchač má dojem, že mluvčí vytvořil tento úsek řeči jakoby "jedním tahem". Předěl mezi sousedními intonačními úseky může být tvořen pauzou, nebo jen intonační linií, nebo oběma těmito způsoby najednou. Nadále budu o promluvovém úseku hovořit jako o úseku intonačním (v systému Epos „colon“).

Pauza je důležitým faktorem pro členění souvislé řeči na menší jednotky (frázování). Správné umístění pauzy je mnohdy zásadně důležité pro správné pochopení promluvy. Předěl, který je vyznačován pauzou, však obvykle nevyznačuje pauza sama, nýbrž společně s melodickým tvarem podle druhu úseku. Důležité je rovněž správné rozložení přízvuků a důrazů. Velmi často vnímáme pauzu i tam, kde není řeč ve skutečnosti vůbec přerušena, ale kde je zachován melodém, vyznačující předěl. K vytvoření předělu (u nedbalé mluvy) přispívá i protažení koncové slabiky před pauzou (cca o 50 až 100%). Trvání pauzy je velmi proměnlivé a záleží na mnoha faktorech (především na umístění pauzy v promluvě a na tempu).

Tempo mluvené řeči obvykle vyjadřujeme počtem slabik za vteřinu. Kromě počtu a délky slabik jsou však pro celkové tempo projevu důležité pauzy, jejich distribuce a délka. Při větších změnách tempa (zvl. při jeho zrychlování), se nemění délky všech hlásek stejně. Ke kvantitativnímu popisu tohoto jevu však doposud chybí potřebné údaje.

Větný přízvuk je prozodický prostředek, jímž se zvýrazňuje určitá informace, obsažená v posledním přízvukovém taktu. Větný přízvuk může nebo nemusí tvořit součást meziúsekové hranice. Pro počet větných přízvuků v intonačním úseku neexistuje žádný apriorní předpoklad. V akustické oblasti se větný přízvuk realizuje stejnými prostředky jako přízvuk slovní, ale většinou ve zvýšené míře (výjimku tvoří např. větný přízvuk v posledním přízvukovém taktu posledního intonačního úseku před interpunkčním znakem, kde může být realizován jako přízvuk slovní).

Věta v češtině představuje stabilní zvukovou jednotku. Rozhodujícím z tónového průběhu v české větě je obvykle melodie závěrečné části většinou počínající přízvučnou slabikou jádra výpovědi, tedy nejčastěji posledního slova (přízvukového taktu), popř., je-li tzv. větný přízvuk (resp. důraz) přenesen na jiné než poslední slovo, celé části od přízvučné (důrazné) slabiky tohoto slova. Pro označení této části melodického průběhu, která se pokládá za melodický jazykový prostředek, se užívá často označení kadence [DAN57]. Romportl zavedl ve svých novějších pracích [ROM85] pro funkční melodické schéma termín melodém, aby se vyhnul víceznačnosti termínu kadence [PAL94]. Namísto termínu kadence Romportl používá termín intoném. Palková užívá termínu melodém pro základní typ melodického průběhu, určený na základě jeho gramatické funkce, tedy pro soubor melodických schémat, která se v jazyce uplatňují ve stejném typu vět, a termín kadence ponechává pro tato melodická schémata sama. V této práci budu rovněž používat pro vlastní melodická schémata termín kadence. Pro větu je v systému Epos použito označení „sent“. 2.4.2 Suprasegmentální charakteristiky v časové oblasti

Popis vychází z předpokladu, že na realizaci promluvy se podílí několik hierarchicky rozlišitelných úrovní. Oddělení vlivů těchto úrovní na výsledný signál je největším problémem popisu.

Vliv přízvukového taktu: V rámci přízvukového taktu má počet hlásek v přízvukovém taktu vliv na průměrné trvání hlásky, a to

zvlášť pro izolovaná slova, pro finální přízvukové takty a pro přízvukové takty v ostatních pozicích věty (nebo intonačního úseku). Pro izolovaná slova a finální (předpauzové) přízvukové takty věty (větného úseku) bylo zjištěno, že hledanou závislost lze přibližně popsat vztahem:

T(m)/T(n) = (n/m)0,405 (2.2)

kde m, n znamenají počty hlásek ve dvou srovnávaných přízvukových taktech a T(m) a T(n) průměrná trvání hlásek v odpovídajících přízvukových taktech [PTÁ95].

Pro ostatní (tj. nefinální) přízvukové takty nebyla nalezena žádná výrazná změna v průměrném trvání hlásek v závislosti na počtu hlásek, což je v souladu se všeobecně uváděným izosylabickým mluvním rytmem češtiny [PAL94].

Úroveň přízvukového taktu se v časovém členění řeči dále uplatňuje změnou délky hlásek přízvučné slabiky. V přirozené řeči se hlásky prodlužují o 1 až 2 dC. Poslechové testy se syntetickým signálem však ukázaly, že prodloužení samohlásky o více než 1 dC se již může vnímat jako dlouhá samohláska. Vjem přízvuku u tohoto signálu lze však vyvolat i zmenšením trvání hlásek přízvučné slabiky asi o 1 dC.

Page 22: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

22

Vliv intonačního úseku: Úsek promluvy, zakončený pauzou, se může při nedbalé výslovnosti uplatit prodloužením finální hlásky

o cca 1,7 dC (50%) a předcházející hlásky finální slabiky o 0,4 až 1,1 dC (10 až 30%). Po meziúsekové pauze obvykle dochází ke zkrácení některých iniciálních hlásek následujícího větného úseku. Kvantitativní údaje k tomuto jevu lze nalézt v již zmíněné publikaci Borovičkové a Maláče [BOR67].

Trvání pauzy mezi intonačními úseky je v přirozené řeči velmi proměnné. U syntetického signálu neutrálních výpovědí je percepčně tolerovatelná pauza o trvání asi 100 ms. Střídání různých délek pauz ve větě může neutralitu výpovědi narušit.

Vliv úrovně věty: Úroveň věty se projevuje prodloužením trvání hlásek slabiky s větným přízvukem na začátku tzv. jádra

výpovědi o cca 1,5 dC. V přirozené řeči toto jádro většinou leží v posledním taktu věty a větný přízvuk se pak v časové oblasti nerealizuje.

Trvání pauzy mezi větami je v přirozené řeči značně proměnné. Podle poslechových testů se u syntetického signálu osvědčilo trvání pauz za větami v závislosti na interpunkčních znacích podle tab. 2.1 [PTÁ95].

Tab. 2.1 Závislost trvání pauz za větami na interpunkčních znacích dle [PTÁ93]

Interpunkční znak za větou (intonačním úsekem)

Percepčně přijatelné trvání pauzy u syntetického signálu

. ! ? 420 ms

; : - 280 ms

, ( ) 140 ms 2.4.3 Suprasegmentální charakteristiky v melodické oblasti

Hledání zákonitostí, jimiž se suprasegmentální rysy uplatňují v melodii řeči, je vzhledem ke vzájemným souvislostem a komplexnosti problému velmi obtížné. Zvláště těžké je tyto zákonitosti popsat kvantitativně v rovině akustické, neboť akustické realizace suprasegmentálních rysů mohou být velmi variabilní.

Vliv přízvukového taktu: Slovní přízvuk v češtině je v melodické oblasti realizován zvýšením nebo snížením základního tónu

přízvučné slabiky (podle kadence, ve které je umístěna) asi o 1/4 tónu. Překročením hodnoty 1/2 tónu ztrácí příslušná akustická realizace charakter přízvuku.

Vliv intonačního úseku: Intonační úsek se skládá buď ze skupiny přízvukových taktů, nebo může být tvořen i taktem jediným.

Členění věty na úseky je v hlavní míře ovlivňováno délkou promluvy, syntaktickou stavbou promluvy, sémantikou a kontextem. Předěl mezi jednotlivými úseky je (může být) tvořen pauzou, před níž předchází kadence zvukově realizovaná tzv. větným přízvukem (obvykle na přízvučné slabice závěrečného taktu úseku, jinak na tzv. jádru výpovědi) a příslušnou melodickou formou. Melodií intonačního úseku ve funkci sdělovací se zabýval Daneš [DAN57]. Podle Daneše je pro tuto funkci relevantní směr pohybu melodie, rozložený po slabikách (nebo v rámci slabiky); vytvářejí se tak jistá melodická schémata s vlastní fonologickou strukturou. Daneš jimi nechce popsat melodii celé věty, ale snaží se postihnout průběh melodie posledního taktu věty, jehož funkční důležitost zdůrazňuje. Z hlediska významové výstavby výpovědi Daneš rozlišuje východisko a jádro výpovědi. Rozeznává ukončené a neukončené oddíly promluvy. Ukončené dělí na ukončené uspokojivě a neuspokojivě. Intonační schémata oddílů uspokojivě ukončených nazývá kadencemi konkluzívními, schémata oddílů neuspokojivě ukončených jako antikadence. Pro oddíly neukončené má termín polokadence.

Kadence konkluzívní je charakterizována klesavým pohybem melodie po přízvuku. Vyskytuje se ve dvou variantách: příznakové a nepříznakové. Tyto varianty se liší polohou přízvučné slabiky, na níž je umístěno intonační centrum.

Antikadence (tj. kadence v oddílech promluv ukončených neuspokojivě) má ve spisovné češtině dvě podoby, tvarově samostatné:

Antikadence stoupavá - lze ji najít v taktech jednoslabičných i víceslabičných. Charakteristické pro ni je to, že začíná na slabice přízvučné nízkým tónem a končí tónem vysokým. V podobě jednoslabičné se objevuje setrvávání v nízké poloze, po něm následuje výrazné stoupnutí.

Page 23: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

23

Antikadence stoupavě klesavá - s antikadencí stoupavou má společnou nízkou polohu přízvučné slabiky, následující slabika prudce stoupne a poslední slabika mírně klesne. Slabika nebo slabiky uvnitř zůstávají na stejné výši. Daneš se domnívá, že tato kadence se objevuje jen na taktech nejméně tříslabičných.

Polokadence (tj. oddíl promluvy neukončené) má také dvě základní podoby. První z nich, stoupavá, je bezpříznaková, druhá, klesavá, je příznaková:

Bezpříznaková stoupavá polokadence má dvě varianty, jímž je společný vzestup tónu z nízké hlasové oblasti do konce taktu (vrcholu je dosaženo v koncové slabice). Rozdíl mezi nimi je v tom, že v prvé variantě je slabika přízvučná níže než slabika před přízvukem, u druhé varianty je přízvučná slabika výše (v linii stoupavé) a slabika před přízvukem je nižší než přízvučná. Pro obě varianty však platí, že slabika před přízvukem poklesne.

Příznaková stoupavá polokadence má také dvě varianty, charakterizované poklesem slabiky před přízvukem: první varianta má přízvučnou slabiku nejníže z celého taktu, následující prudce stoupne (dosáhne melodického vrcholu), slabiky do konce taktu stoupají nevýrazně, nebo zůstávají na stejné výši; druhá varianta má melodický vrchol už ve slabice přízvučné. V jednoslabičném taktu se při této variantě neobjeví zřetelné stoupání v průběhu slabiky.

Příznaková polokadence klesavá má s předchozími společné klesnutí slabiky před přízvukem. Přízvučná slabika prudce stoupá, slabika následující je v nejvyšší poloze, slabika poslední klesá. V taktu dvojslabičném dosahuje melodického vrcholu už slabika přízvučná, v taktu jednoslabičném se projevuje klesání z vysoké do nízké polohy.

Větná melodie podle Romportla [ROM85] je z hlediska funkčního systémem kadencí, který spolu se složkou dynamickou slouží a) k odlišení věty ukončené od věty (úseku), která bude (po pauze, za předělem) dále pokračovat; b) k odlišení různých druhů vět, především k odlišení otázky zjišťovací od ostatních druhů vět; c) k odlišení vět neutrálních (bez citového zabarvení) od vět, které jsou citově zabarveny, a k odlišení druhu takového zabarvení. Pro syntézu řeči je nezbytně nutné zvládnout první dvě funkce a z třetí je třeba alespoň umět zbavit simulovanou řeč všech nechtěných citových prvků, které by mohly posunovat nebo měnit smysl věty.

Aby věta zůstala neutrální oznamovací větou, je podle Romportla rozhodující, aby byl zachován pozvolna klesavý průběh melodie posledního taktu počínaje přízvučnou slabikou; platí to i o větě rozkazovací a doplňovací tázací (začínající tázacím zájmenem). Melodie předcházející části věty je velmi variabilní a není příznaková. Pokud je třeba jádro výpovědi zdůraznit, zvýší se obvykle výška tónu přízvučné slabiky a pokles melodie je pak strmější. Jestliže je důraz na přízvučné slabice jiného než posledního taktu, rozprostře se klesavá kadence od této důrazné slabiky až do konce věty.

Neutrální otázkové kadence vyjadřující otázku zjišťovací nebo otázku doplňovací se vyskytují ve dvou podobách: stoupavé (otázka zjišťovací) a stoupavě-klesavé (otázka doplňovací). Obě se vyznačují hlubokým tónem na přízvučné slabice a poslední slabika taktu se pohybuje zhruba ve střední poloze hlasu. V první podobě je druhá slabika zhruba ve výši přízvučné slabiky (nebo jen mírně vyšší); v druhé podobě se slabika po přízvuku výrazně zvýší (asi o sextu) a v následující slabice hlas opět mírně poklesne. Při důrazu se výrazně zvětší intervaly (např. vzestup v druhé podobě kadence se může zvětšit o oktávu i více), zejména se však prohloubí přízvučná slabika kadence. V případě, že jádrem výpovědi se stane jiný než poslední takt, se pak přesouvá počátek kadence na přízvučnou slabiku jádra výpovědi a celá kadence se rozprostírá do konce věty.

Základním typem předpauzové kadence (věta neukončená) je tzv. typ stoupající. Přízvučná slabika kadence je hluboká a následující slabiky stoupají. Obvykle bývá i slabika předcházející před přízvučnou hlubší než slabika přízvučná a můžeme ji považovat za součást kadence. Z dalších možných kadencí je častá kadence rovná, jíž obvykle předchází slabika s poněkud nižším tónem. Někdy se objeví i kadence klesavá, která má však mírnější pokles než kadence věty oznamovací.

Melodie citově zabarvené řeči bývají většinou odvozovány od forem, užívaných ve větách citově neutrálních tak, že jsou buď intervaly zvětšovány, někdy naopak zmenšovány (např. při lítosti, smutku, kdy navíc ještě poklesá celková výška hlasu), jindy se kadence kromě zvětšení intervalů opakují i v předcházejících částech věty (např. ve větách zvolacích, silně citově zabarvených otázkách, ve větách přacích nebo rozkazovacích). Ustálenou formu mívá melodie varovací a tzv. melodické vytýkání [ROM85].

Oba systémy prozodických prostředků řeči, jak Danešův, tak i Romportlův, postrádají přesný popis intervalů mezi jednotlivými tóny melodického průběhu, v některých příkladech ho však alespoň naznačují. Při simulačních pokusech Borovičkové a Maláče [BOR67], které vycházely z naznačených hodnot, měly téměř všechny syntetické věty větší nebo menší emociální zabarvení (interval v otázkové kadenci byl sexta). Při simulaci kadencí s minimálními kroky (jeden až dva půltóny) bylo sice emociální zabarvení odstraněno, ale posluchač neměl vždy jistotu, o kterou kadenci jde.

Page 24: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

24

Základní tónový průběh v neutrální oznamovací větě lze charakterizovat jako mírně obloukovitě klesavý. Tvar průběhu F0 v logaritmické stupnici připomíná značně plochou vzhůru vydutou parabolu s vrcholem na druhé nebo třetí slabice od počátku věty (popř. i na další při výrazně delší větě). Tento průběh Romportl matematicky aproximoval rovnicí paraboly.

Na základě vlastních pokusů Romportl sestavil matematickou aproximaci melodického průběhu I. (stoupavé) otázkové formy. Dílčí analýzy a pokusy přitom ukázaly, že kmitočtové rozpětí v neutrálních větách je obecně menší než ve větách s expresí. Individuálně i toto rozpětí kolísá u jednotlivých mluvčích. Pokud se např. u jednoho mluvčího rozpětí v neutrální oznamovací větě s čtyřslabičným jádrem výpovědi realizovalo v rozmezí zhruba 1 oktávy (cca 160 - 75 Hz), pak se u něho v základním melodému klesavém v jednoslabičném taktu realizuje pokles asi mezi 120 až 75 Hz, v čtyřslabičném 140 - 75 Hz, v I. tázacím jednoslabičném vzestup mezi 110 - 150 Hz (někdy až 110 - 180 Hz), nikoli však více. Přesáhne-li vzestup asi sextu, přestává být např. tázací věta neutrální a nabývá jistého emocionálního zabarvení, jehož druh je závislý na kontextu a situaci. 2.4.4 Suprasegmentální charakteristiky v intenzitní oblasti

Přízvuk se v intenzitní oblasti projevuje zvýšením intenzity přízvučné slabiky o 1 až 3 dB. U synteticky vytvářeného signálu řeči umělého charakteru (např. LPC syntetizérem) se k zachování neutrálního charakteru výpovědi osvědčují spíše menší hodnoty z výše uvedeného rozsahu. Je zajímavé, že při poslechových testech syntetického signálu souvisle mluvené české řeči posluchači slovní přízvuk většinou registrovali i tam, kde nebyl realizován ani intenzitně, ani jinými prostředky (melodicky, časově). Přitom nebyl nijak narušen ani vjem slovní segmentace, který se o realizaci přízvuku zřejmě příliš neopírá [PTÁ93].

Větný přízvuk (logický přízvuk, důraz), jímž se obvykle označuje jádro výpovědi vně posledního taktu věty, je realizován zvýšením intenzity přízvučné slabiky o cca 2 - 3 dB oproti ostatním přízvučným slabikám. Větší úlohu v percepci jádra výpovědi hrají melodické změny.

Vedlejší přízvuk, vyskytující se někdy v delším taktu promluvy, je intenzitně prakticky neregistrovatelný. O variabilitě umístění přízvuku ve spontánní promluvě podle extralingvistických faktorů verbální komunikace, o zachovávání hiearchizace přízvuku ve vztahu k hiearchii sémantické, o neutralizaci přízvuku v místech, kde by přízvuk být mohl a o neočekávaných prominencích přízvuku různé kvality a funkce mj. pojednává monografie Dohalské [DOH91]. Kvantitativní údaje o intenzitní modulaci souvisle mluvené češtiny vlivem hiearchicky vyšších suprasegmentálních složek však doposud chybí. 2.4.5 Superpozice vlivů jednotlivých vrstev tvoření řeči

V souvislé mluvené řeči je koartikulace hlásek ve slabikách první (nejnižší) vrstvou výsledného akustického popisu. Další nejbližší vrstva je na úrovni slova (taktu), v němž se uplatňuje např. přízvuk. Následuje vrstva intonačního úseku, kde se může uplatnit kontrast mezi různými slovy (takty), např. slovní důraz. Na úrovni věty se pak uplatňují melodémy, rozlišující např. větu oznamovací od zjišťovací věty tázací. Vrstva na úrovni promluvy obsahuje kontrasty různých stylů a emocionálních postojů [HÁL75]. To, co bylo řečeno o průběhu melodie, platí samozřejmě o celém frekvenčním spektru a o jeho intenzitní a časové dimenzi. Mimořádně důležitou veličinou je trvání jednotlivých segmentů; je to veličina, která podléhá mnoha změnám. Pokud jde o první vrstvu, o hlásky a jejich spojení, je jejich trvání závislé na typu hlásky a na jejím kontextu. U spojení typu CV se ukazuje tendence k zachování konstantní délky spojení, tzn. že za kratší souhláskou následuje delší samohláska a naopak. Výrazné změny trvání (až 1:4) nastávají v souhláskových skupinách. Přízvukový takt (druhá vrstva) ovlivňuje trvání hlásek podle počtu hlásek v taktu a podle přízvuku. Ve třetí vrstvě (větný úsek) se ovlivňuje např. trvání slabiky se slovním důrazem nebo trvání koncové slabiky před pauzou, ve čtvrté vrstvě (věta) se prodlužuje trvání slabiky s větným přízvukem apod. 2.5 Metody popisu řečových jednotek

Syntetickou řeč můžeme získat dvěmi základními způsoby:

● explicitně, formou souboru pravidel popisujících chování hlásek a jejich přechodů (např. formantová syntéza nebo modelování mechanických parametrů hlasového ústrojí);

● implicitně, uschováním vzorků fonetických přechodů a koartikulací v databázi řečových jednotek a jejich použitím jako základních akustických jednotek (místo hlásek). Tomuto způsobu syntézy se také říká konkatenativní syntéza, neboť výsledný řečový signál vzniká zřetězením základních řečových jednotek.

Konkatenativní syntéza se dále dělí dle způsobu modelování řečového signálu na:

● modelování řečových jednotek v časové oblasti (TD-PSOLA);

Page 25: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

25

● modelování řečových jednotek ve kmitočtové oblasti (LPC syntéza, formantová syntéza, kepstrální syntéza, harmonické modelování)

● hybridní systémy (LP-PSOLA, MBROLA)

V následujících odstavcích se zmíním o dvou hlavních způsobech konkatenativní syntézy řeči, a to o modelování řečových jednotek v časové a ve kmitočtové oblasti. 2.5.1 Popis řečových jednotek v časové oblasti

Syntéza řeči v časové oblasti je založena na skládání navzorkovaných úseků řeči, přičemž jednotlivé navzorkované úseky mohou mít proměnlivou délku. Dnes se pro syntézu řeči z psaného textu používá zejména metoda TD-PSOLA1 (Time Domain Pitch Synchronous Overlap Add) vyvinutá v 80. letech ve Francii [CHA86] pro svou jednoduchost, vysokou segmentální kvalitu a přirozenost syntetické řeči [MOU90]. Nevýhodou metody TD-PSOLA je poněkud omezená možnost modelování prozodie z důvodu provádění prozodických změn přímo na řečovém signálu (bez použití jakéhokoli parametrického modelu). Další nevýhodou této metody jsou nespojitosti ve fázi, v hodnotě základního tónu a ve spektrální obálce vznikající při syntéze. Ve snaze eliminovat tyto nevýhody vzniklo mnoho modifikovaných, popř. hybridních systémů (např. MBROLA) [DUT97]. 2.5.2 Popis řečových jednotek ve kmitočtové oblasti

Nejdůležitější skupinou řečových syntezátorů pracujících ve kmitočtové oblasti jsou syntezátory založené na principu lineární predikce, tzv. LPC syntezátory. Jejich teoretickým ekvivalentem jsou pak syntezátory založené na modelování mechanických parametrů hlasového traktu, které je však numericky poměrně náročné a výsledkem je nepříliš srozumitelná řeč s malou přirozeností. Modelování mechanických parametrů hlasového ústrojí má význam především teoretický.

Další významnou skupinou řečových syntezátorů pracujících ve kmitočtové oblasti jsou kepstrální syntezátory. Kepstrální model hlasového traktu na rozdíl od AR modelu zahrnuje jak nulové body, tak póly přenosové funkce, a je tudíž obecnější. Výhodou této metody oproti LPC modelování je lepší segmentální kvalita, nevýhodou je složitější realizace rekonstrukčního filtru.

Formantová syntéza (může být ve formě explicitní i implicitní) je založena na modelování charakteristických (rezonančních) kmitočtů hlasového traktu pomocí banky filtrů. Formantová syntéza nevede k příliš přirozené řeči a má spíše historický význam, na mnoha pracovištích se však dodnes používá, především však k pedagogickým účelům.

Posledním významným zástupcem řečových syntezátorů pracujících ve kmitočtové oblasti jsou syntezátory založené na harmonickém modelování řeči, které jsou hlavně v poslední době velmi populární. Harmonické syntezátory pracují na podobném principu jako kepstrální, používají podobný postup analýzy, ale zcela odlišný postup syntézy. U syntezátorů řeči používajících harmonického modelování se na základě kepstrálních koeficienů vytváří syntetická řeč skládáním sinusovek, kdežto u kepstrální syntézy se syntetická řeč vytváří přímo pomocí složité struktury filtrů. 2.6 Metody popisu suprasegmentálních rysů řeči

Absolutní vyjádření prozodických jevů nebývá, vzhledem k jejich povaze, vždy nejvýhodnější, a proto se obvykle snažíme tyto jevy popsat pomocí nejrůznějších modelů. Nejlépe jsou tyto modely rozpracovány pro účely modelování průběhu základního tónu řeči. Stejně jako ostatní vlastnosti řečového signálu mohou být prozodické jevy studovány na různých úrovních.

2.6.1 Úrovně reprezentace prozodických jevů

Prozodické jevy můžeme zkoumat na třech základních úrovních:

● první, akustická úroveň: akustické projevy prozodických jevů (základní tón řeči, intenzita a trvání) mohou být přímo měřeny za pomoci speciálního vybavení či algoritmů (jako je např. algoritmus detekce základního tónu řeči);

● druhá, percepční úroveň reprezentuje prozodické jevy, jak by je slyšel (průměrný) posluchač. Percepční reprezentace prozodie je přístupná jednotlivým posluchačům, může však jen těžko být měřena. Zjišťuje se, s nevelkou přesností, na základě poslechových testů;

1 PSOLA/TD® je registrovaná ochranná známka společnosti France Telecom

Page 26: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

26

● třetí, lingvistická úroveň reprezentuje prozodii promluvy jako sekvenci abstraktních jednotek (znamének, symbolů), z nichž některé plní sdělovací funkci, zatímco jiné naplňují syntaktické požadavky.

2.6.2 Intonační modely

Jak vyplývá z předchozí podkapitoly, je popis prozodických průběhů poměrně složitá úloha, jejíž zjednodušení nám umožňují prozodické, především pak intonační, modely. Za poslední léta bylo ve světě vyvinuto mnoho intonačních transkripčních formalismů a metod. Pro češtinu však nikdo žádný intonační model ani nevyvinul, ani nepřevzal model cizí. Z nejznámějších cizojazyčných intonačních modelů, které se všeobecně rozšířily i na jiné jazyky, než pro které byly původně vytvořeny, bych zmínil zejména:

● Pierrehumbertová (1983)

● ToBI (1992)

● IPO (1990)

● INTSINT (1991)

● Fujisaki (1984) Z hlediska úrovní popisu, uvedených v předchozím odstavci, můžeme intonační modely rozdělit na modely

akustické, percepční a lingvistické. Nejznámějším intonačním modelem, patřícím do první skupiny, je Fujisakiho intonační model [FUJ92]. Do třetí skupiny pak patří model Pierrehumbertové a modely IPO a INTSINT a notace ToBI [MATE], [MEN00]. 2.6.3 Pierrehumbertové intonační model

Pierrehumbertová popisuje průběh základního tónu řeči jako sekvenci vysokých (H) a nízkých (L) tónů. Ty jsou asociovány s přízvučnými slabikami a prozodickými hranicemi. Na základě prací Pierrehumbertové a ostatních autorů vznikl v roce 1992 systém pro zápis intonačních průběhů ToBI [SIL92]. 2.6.4 Systém pro notaci prozodie ToBI

ToBI je systém určený pro zápis intonace a prozodických struktur mluvených promluv. Systém ToBI byl původně určený pouze pro angličtinu, dnes však existuje více variant notace ToBI pro různé jazyky (s výjimkou češtiny) [TOBI]. ToBI systém používá tzv. intonační vrstvu (Tone Tier) pro zápis intonačních jevů jako jsou tóny (tones) pokrývající okrajové hodnoty intonace a intonaci slovního a úsekového přízvuku podle definice Pierrehumbertové (1980), dále cílové body (targets) a maximální hodnoty intonace (F0 range). 2.6.5 Intonační model INTSINT

INTSINT (INTernational Transcription System for INTonation) je systém pro kódování intonačních vzorů mluvené řeči, který navrhl Daniel Hirst na Univerzitě v Aix-en-Provence [HIR00]. Systém je založen na předpokladu, že intonační vzory promluvy na fonologické úrovni mohou být reprezentovány zřetězením tzv. tónových úseků (tonal segments) dvou typů, a to globálních (absolutních) a lokálních (relativních). Globální tónové úseky se dále dělí na vysoké (Top – T), střední (Mid – M) a nízké (Bottom – B). Lokální tónové úseky se pak dělí na vyšší (Higher – H), nižší (Lower – L), shodné (Same – S), zvyšující se (Upstep – U) a snižující se (Downstep – D).

Obr. 2.9 Fujisakiho model produkce základního tónu řeči.

Page 27: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

27

2.6.6 Intonační model IPO

Metodika analýzy intonace IPO je založena na dvou hlavních předpokladech: a) co není posluchčem vnímano je pro lingvistický popis intonace nedůležité, b) člověk více vnímá tónové změny (klesání, stoupání) než tónové úrovně (nízká, vysoká). Z tohoto důvodu systém IPO používá ke kódování intonace inflexní body a přechody z jednoho inflexního bodu do druhého.

2.6.7 Fujisakiho intonační model

Blokové schéma Fujisakiho modelu je na obr 2.9. V tomto obrázku uvádím anglické termíny zavedené Fujisakim. V textu budu používat jejich české ekvivalenty. Jelikož nikdo zatím tyto ekvivalenty nedefinoval, budu používat následující termíny: phrase command - úsekový impuls accent command - přízvukový puls phrase control mechanism - úsekový systém accent control mechanism - přízvukový systém phrase component - úseková složka accent component - přízvuková složka Fujisakiho kvantitativní intonační model vychází z dřívějších prací Öhmana [ÖHM67], ale byl Fujisakim a jeho spolupracovníky podstatně rozšířen a propracován. Fujisaki sám se matematickým intonačním modelem zabývá od šedesátých let. Fujisakiho model, který je definován vztahem

( ) ( ) ( ) ( )0 0 1 21 1

ln ln ,I J

i p i j j ji j

F t Fb Ap G t T Aa Ga t T Ga t T= =

⎡ ⎤= + − + − − −⎣ ⎦∑ ∑ (2.3)

kde

( ) ( )2 exp pro 0,0 pro 0,

t t tGp t

tα α⎧ − ≥⎪= ⎨

<⎪⎩

K

K (2.4)

Obr. 2.10 Impulsní odezva úsekového systému Fujisakiho prozodického modelu pro vstupní pulsy o velikosti Ap = 0.1, 0.25, 0.4, 0.6, 0.8 a 1.0 při α = 2 s-1.

Page 28: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

28

( ) ( ) ( )min 1 1 exp , pro 0,

0 pro 0.

t t tGa t

t

β β γ⎧ ⎡ ⎤− + − ≥⎪ ⎣ ⎦= ⎨<⎪⎩

K

K (2.5)

modeluje průběh základního tónu v oblasti přirozeného logaritmu kmitočtu. Tento model byl původně navržen pro japonštinu, ale v principu je použitelný i pro jiné jazyky. Fujisaki ověřil jeho funkčnost pro mnoho tónových i netónových jazyků. Fujisakiho model generuje průběh základního tónu řeči v oblasti logaritmu kmitočtu (log F). Průběh základního tónu řeči je zde získán jako lineární superpozice globální (úsekové) a lokální (přízvukové) složky. Tyto složky tvoří výstupní signály dvou lineárních systémů druhého řádu, jejichž vstupy tvoří dvě různé funkce: úsekové impulsy (phrase commands) a přízvukové pulsy (accent commands). Matematicky je vztah těchto funkcí popsán rovnicí 2.3. O proměnných Ap, T0, α, Aa, T1, T2, β a Fb budu nadále hovořit jako o Fujisakiho parametrech. Základní kmitočet Fb zde označuje asymptotickou, na mluvčím závislou, hodnotu základního tónu F0, při absenci přízvukových pulsů. Úseková složka (phrase component) Gp(t) (viz rovnice 2.4) označuje impulsní odezvu úsekového systému (phrase control mechanism). Vstupní signál tohoto systému tvoří impulsy, které jsou definovány amplitudou Ap a časem T0 . Symbol α označuje koeficient časové konstanty úsekového systému a během promluvy je konstantní. Charakteristika této složky je znázorněna na obr 2.10 pro hodnoty Ap rovnající se 0.1, 0.2, 0.3, 0.45 a 0.6 při konstantě α = 2.0 s-1. Z obrázku je patrné, že strmost sestupné hrany úsekové složky, vytvářející úsekovou deklinaci základního tónu, se zvyšuje se zvyšující se amplitudou úsekového impulsu Ap . Amplituda úsekového impulsu Ap také určuje počáteční hodnotu průběhu F0 , pokud není přítomen přízvukový puls.

Přízvuková složka (accent component) Ga(t) (viz rovnice 2.5) označuje odezvu přízvukového systému na skok. Vstupním signálem tohoto systému jsou přízvukové pulsy definované jejich amplitudou Aa , počátkem T1 a koncem T2 . Koeficient β označuje časovou konstantu přízvukového systému a během promluvy se nemění (podobně jako koeficient α). Na obrázku 2.11 můžeme pozorovat odezvu přízvukového systému na jednotkové pulsy trvání T = 50, 100, 150, 200 a 250 ms při konstantě β = 20.0 s-1 . Můžeme vidět, že pro přízvukové pulsy kratší než 150 ms nedosahuje přízvuková složka Fujisakiho prozodického modelu své plné velikosti (vzhledem ke konečné velikosti konstanty β ). Z tohoto důvodu není v těchto případech ovlivnění základního tónu amplitudou přízvukových pulsů Aa proporcionální.

Obr. 2.11 Odezva přízvukového systému Fujisakiho prozodického modelu na vstupní jednotkové pulsy trvání T = 50, 100, 150, 200 a 250 ms při β = 20 s-1.

Page 29: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

29

Další obrázek (2.12) nám ukazuje odezvu přízvukového systému na přízvukové pulsy trvající 250 ms při amplitudě Aa rovnající se 0.2, 0.4, 0.6, 0.8 a 1 ( β = 20.0 s-1 ). Mezní hodnota přízvukového systému γ (obvykle nastavená na 0.9) zajišťuje, aby přízvuková složka dosáhla svého maxima v konečném čase. Protože sestupná hrana přízvukové složky je modelována pomocí funkce inverzní k funkci modelující vzestupnou hranu, klesá tato sestupná hrana strměji. To odpovídá pozorování, že klesající změny průběhu základního tónu jsou obvykle rychlejší než stoupající (bez nutnosti měnit časovou konstantu systému).

Fujisaki popsal stanovení parametrů svého modelu metodou analýzy pomocí syntézy (v originále Analysis-

by-Synthesis). Základem této metody je měnit počet a parametry vstupních pulsů tak dlouho, až získáme co možná nejpřesnější aproximaci průběhu základního tónu. Pro Fujisakiho prozodický model platí, že libovolným počtem přízvukových pulsů a úsekových impulsů můžeme aproximovat jakýkoli průběh základního tónu s libovolnou přesností. Z tohoto důvodu je nutné při této metodě zavést taková omezení, aby vypočtený model byl z lingvistického hlediska co nejsmysluplnější. V novějších pracích (např. [MIX98][MIX00]) se objevují nové přístupy umožňující automatické získávání parametrů Fujisakiho modelu z řečového signálu.

Použití intonačních modelů nám může zároveň podstatně zjednodušit proces generování průběhu základního tónu syntetické řeči v řečovém syntezátoru, což je také jedním z cílů této práce. Např. při použití prozodických pravidel není nutno generovat těmito pravidly přímo složitou konturu základního tónu řeči, ale postačí generování výrazně jednoduššího buzení intonačního modelu pomocí jednoduššího systému pravidel. 2.7 Parametrická analýza signálů

Pro popis různých faktorů vyskytujících se v procesu tvorby či percepce řeči již bylo navrženo mnoho různých modelů. S jistotou můžeme říci, že žádný navržený model není schopen popsat beze zbytku všechny známé vlastnosti lidské řeči. Základní vlastností modelu je najít matematické vztahy použitelné pro popis určitého fyzikálního stavu s maximální jednoduchostí a přesností. Mnoho základních modelů produkce řeči je nepochybně založeno na principu zdroj signálu – filtr. Zdrojem signálu jsou zde buď hlasivky rozkmitané proudem vzduchu (znělé buzení), nebo šum vznikající turbulencemi (neznělé buzení). Jeden z nejúspěšnějších modelů v oblasti zpracování řeči je bezesporu Fantův model lineární produkce řeči publikovaný G. Fantem

Obr. 2.12 Odezva přízvukového systému Fujisakiho prozodického modelu na vstupní pulsy o délce 250 ms a amplitudě Aa = 0.2, 0.4, 0.6, 0.8 a 1.0 při β = 20 s-1.

Page 30: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

30

v r. 1960 [FAN60], kde byla poprvé publikována parametrická metoda produkce řeči. Klíčovou publikací shrnující dosavadní poznatky v oblasti lineární predikce signálů je [MAR76]. 2.7.1 Parametrické modely signálů

Parametrické modely jsou založeny na myšlence nalezení vhodného modelu, který v určitém smyslu co nejlépe aproximuje zvolenou charakteristiku signálu (např. spektrální hustotu). Pokud zúžíme problém parametrických modelů tak, že hledání parametrického popisu signálu budeme považovat za úlohu nalezení racionální lomené přenosové funkce číslicového filtru, pak úloha nalezení vhodného parametrického modelu k signálu je ekvivalentní úloze aproximace naměřených dat racionální lomenou funkcí stupně M metodou nejmenších čtverců. Ačkoli aproximaci metodou nejmenších čtverců použil Gauss již před více než dvěma sty lety, zdá se, že první praktické použití této metody pro predikci signálů pochází od Wienera. První vědci, kteří přímo aplikovali metodu lineární predikce pro analýzu a syntézu řeči, byli Saito a Itakura v r. 1966 [ITA69].

Předpokládejme, že signál vznikl průchodem budícího signálu, jehož spektrální hustota je konstantní (tj. bílý šum nebo jednotkový impuls), přes lineární časově invariantní (LTI) filtr. Tento proces vzniku signálu budeme označovat jako syntézu a příslušný filtr jako syntetizující filtr. Úkolem je určení koeficientů tohoto filtru ze vzorků signálu. Koeficienty filtru parametrizují signál v tom smyslu, že kvadrát amplitudové frekvenční charakteristiky filtru aproximuje skutečnou spektrální hustotu signálu. Parametrizací signálu dochází k redukci počtu dat, neboť jednu konečnou realizaci signálu o N vzorcích nahradíme M parametry, přičemž musí být splněna nerovnost 1 ≤ M ≤ N/2. Kritériem pro určení modelu je nejčastěji kvadratické kritérium [UHL95].

Chceme-li určit kmitočtovou charakteristiku syntetizujícího filtru, je nutné provést analýzu signálu. Smyslem analýzy je provedení dekorelace signálu x(n) tak, aby informace o jeho korelační (spektrální) struktuře zůstala uchycena v analyzujícím filtru. Kmitočtová charakteristika analyzujícího filtru je tedy inverzní ke kmitočtové charakteristice syntetizujícího filtru, proto se analyzující filtr rovněž označuje jako inverzní filtr. Jelikož provádí dekorelaci signálu (bělí jeho spektrální hustotu), nazývá se rovněž dekorelační (bělící) filtr [UHL95].

Syntetizující filtr může mít tři typy přenosových funkcí H(z) (typy modelů). Jsou to ARMA model (pole-zero model), používající IIR filtr s póly i nulovými body, MA model (all-zero model), používající FIR filtr obsahující nulové body a autoregresní (AR) model (all-pole model), používající IIR filtr s póly. Jedině u autoregresního modelu je určení jeho parametrů lineární úloha, a proto je nejčastěji používaný, především v analýze řeči i spektrální analýze. Všechny tři modely aproximují skutečné spektrum signálu pomocí kvadrátu modulu frekvenční charakteristiky LTI filtru. Volbou řádu filtru (řádu modelu) volíme stupeň aproximace. Čím nižší řád modelu, tím je kmitočtová charakteristika hladší a hůře modeluje skutečnou spektrální hustotu signálu. Řád modelu souvisí i s počtem spektrálních špiček a údolí, které lze modelovat. Syntetizující filtr si lze představit jako kaskádu rezonátorů, z nichž každý může modelovat jednu špičku. Proto modelem řádu M lze modelovat nejvýše M/2 špiček (M/2 údolí). Důsledkem tohoto tvrzení je skutečnost, že AR model nemůže ve spektrální hustotě zachytit periodicitu signálu. 2.7.2 Lineární predikce

Pro autoregresní modely lze úlohu identifikace parametrického modelu interpretovat jako úlohu aproximace spektrální hustoty signálu metodou nejmenších čtverců polynomem stupně M. Tímto polynomem je určena kmitočtová charakteristika inverzního filtru. Pomocí této interpretace lze rovněž vysvětlit, jak dochází k redukci dat. Použijeme-li k výpočtu spektrální hustoty signálu DFT, získáme tolik čar, kolik je vzorků signálu (např. N) [ČÍŽ81]. Po aproximaci snížíme počet parametrů na M < N. Např. pro analýzu řeči při vzorkování 8 kHz volíme typicky N = 128 až 256 a M = 8 až 12.

M-tý řád lineární predikce vzorku x(n) vyžaduje lineární kombinaci M předchozích vzorků. Definujeme-li x̃ jako predikovaný (předpovídaný) vzorek, potom chyba predikce e(n) je určena rovnicí [MAR76]

(3.1)

kde

(3.2)

( ) ( ) 01 0

( ) ( ) , 1, 0, 1, , 1 ,M M

m mm m

e n x n a x n m a x n m a n N M= =

= + − = − = = + −∑ ∑ K

( ) ( ) ( )e n x n x n= − %

( ) ( )1

.M

mm

x n a x n m=

= − −∑%

Page 31: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

31

Výstupem inverzního filtru je chyba predikce e(n) určená rozdílem aktuální hodnoty vzorku x(n) a jeho předpovědi x̃(n). Předpověď x̃(n) je dána lineární kombinací M minulých hodnot signálu x(n–m), m = 1, 2, …, M (viz vztah 3.2). Inverzní (chybový) lineárně predikční filtr je znázorněn na obr. 2.13.

Poznámka: Volba znaménka v rovnicích 3.1 a 3.2 ovlivňuje znaménka ve všech souvisejících vztazích, a proto je nutné dávat pozor na formulaci rovnice, která definuje chybu predikce, a nelze mechanicky přebírat algoritmy uváděné v literatuře. Chyba predikce bývá rovněž definována vztahem

(3.3)

Lineárně predikční filtr pro syntézu signálu pomocí AR modelu je zobrazen na obr. 2.14.

2.7.3 Metody řešení normálních rovnic predikce

Autokorelační metoda se používá téměř výhradně při analýze řeči především díky přijatelné výpočetní náročnosti a stabilitě. Tato metoda při výpočtu korelace používá všechna dostupná data. Proto jsou autokorelační koeficienty pro větší zpoždění určovány z méně součinů. To způsobuje růst chyby odhadu a má závažné důsledky pro spektrální vlastnosti autokorelační metody, které lze vysvětlit následujícím způsobem. Tvrzení, že s rostoucím zpožděním klesá počet sčítaných součinů, je ekvivalentní tvrzení, že autokorelační metoda při výpočtu korelačních koeficientů „naráží“ na okraje dostupných dat a nemůže sahat „vně“. To znamená, že autokorelační metoda používá časové okno, kterým váhuje data. Tím je zároveň řečeno, že data vně intervalu (x(0), …, x(N–1)) jsou nulová. Proto při aplikaci této metody pro spektrální analýzu musíme počítat s tím, že výsledný odhad spektrální hustoty je dán konvolucí skutečné spektrální hustoty a kvadrátu modulu kmitočtového okna. To má za následek ztrátu detailů (rozlišení) a vznik systematické chyby – „rozmazávání spektra“. Typickým představitelem této metody je Lewinson-Durbinův algoritmus založený na Lewinsonově rekursi, která váže koeficienty filtrů různých řádů.

Kovarianční metoda se používá pro spektrální analýzu, protože poskytuje větší frekvenční rozlišení. Pro analýzu řeči se téměř nepoužívá, neboť pro větší počet vzorků signálu (N ≈ 100) poskytuje výsledky shodné s autokorelační metodou, vyžaduje více výpočetních operací a pro řečové signály není tak stabilní jako autokorelační metoda.

( ) ( ) ( )1

( ) ( ) , 0, 1, , 1.M

mm

e n x n x n x n a x n m n N M=

= − = − − = + −∑% K

Obr. 2.14 Filtr pro syntézu pomocí lineární predikce.

Obr. 2.13 Inverzní (chybový) lineárně predikční filtr.

Page 32: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

32

2.7.4 Modelování řečového signálu pomocí lineární predikce

Lineární model řeči se poprvé objevil ve Fantově práci [FAN60]. Z fonologického hlediska se řeč zkládá z hlásek, které jsou obecně dvojího typu – znělé a neznělé. Znělé hlásky vznikají buzením lidského vokálního traktu tlakovými impulsy vzduchu proudícího hlasivkami, zatímco neznělé hlásky jsou vytvářeny vzduchovými turbulencemi uvnitř vokálního traktu, viz obr. 2.1. Lineární model řeči nahrazuje hlasivky zdrojem periodického signálu pro znělé hlásky a zdrojem bílého šumu pro neznělé hlásky. Hlasový trakt je pak nahrazen časově proměnným číslicovým filtrem. Lineární model tvorby řeči můžeme vidět na obr. 2.5.

Page 33: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

33

3 Cíle práce

Vzhledem k výsledkům provedeného zhodnocení současného stavu problematiky v oblasti modelování prozodie řečového signálu jsem si stanovil následující cíle práce:

● realizovat LPC kodér a dekodér průběhu základního tónu řeči a ověřit jeho funkčnost,

● zkoumat vliv aproximace zbytkového signálu lineární predikce na výslednou kvalitu řeči, optimalizovat parametry LPC kodéru a dekodéru průběhu základního tónu řeči s ohledem na minimální složitost a maximální kvalitu řeči,

● zkoumat prozodicky relevantní závislosti zbytkového signálu lineární predikce průběhu základního tónu řeči,

● ověřit možnost využití LPC analýzy průběhu základního tónu řeči pro tvorbu nových prozodických pravidel,

● ověřit možnost automatické generace zbytkového signálu lineární predikce z psaného textu za účelem použití LPC modelování při automatické syntéze z psaného textu.

Page 34: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

34

Page 35: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

35

Část II

Praktická část

Page 36: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

36

Page 37: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

37

4 Lineární predikce průběhu základního tónu řeči

Pro analýzu prozodických průběhů pomocí lineární predikce je nutné, aby tyto průběhy byly spojité nebo aby se s nimi jako se spojitými mohlo pracovat. Jak již bylo řečeno, skládá se prozodie řeči z melodie (průběhu základního tónu), průběhu intenzity a časového členění. Z percepčního hlediska je nejdůležitějším prozodickým parametrem melodie, která se rovněž nejsnáze modeluje. Absolutní hodnota základního tónu se dá přesně odečíst z řečového signálu, a naopak při syntéze je řečový signál generován s patřičnou absolutní okamžitou hodnotou základního tónu.

Okamžitá hodnota energie řeči (intenzity) je závislá na právě vyslovované hlásce a na pozici v rámci této hlásky (např. exploze u eploziv se vyznačuje značným nárůstem energie). Prozodicky zajímavá je jen hodnota intenzity řeči relativně vztažená k nějaké standardní hodnotě intenzity, udávající, o kolik procent či decibelů se v daném úseku intenzita řeči liší od standardní hodnoty intenzity. Tyto relativní hodnoty intenzity řečového signálu však nelze získat přímo z přirozeného signálu, je nutné je získat porovnáváním intenzity přirozeného signálu s intenzitou jakéhosi standardního signálu nebo pomocí syntezátoru řeči, u kterého měníme prozodické parametry tak dlouho, až je výsledný průběh syntetické řeči totožný s porovnávaným vzorkem (tzv. metoda analýzy pomocí syntézy)

Stejný problém jako u intenzity se objevuje i časového členění s tím rozdílem, že informace o absolutní délce jednotlivých suprasegmentálních úseků určená z přirozeného řečového signálu a vyjádřená v časových jednotkách (obvykle v milisekundách) je prozodicky zajímavá, ale pro další zpracování nevhodná. Posloupnost hodnot absolutního trvání řečových jednotek je jednak nespojitá a jednak neekvidistantní. K získání spojitého průběhu nesoucího informaci o časovém členění je nutné ekvidistantně porovnávat přirozený signál s jakýmsi řečovým signálem se standardním časovým členěním, anebo použít výše zmiňovanou metodu analýzy pomocí syntézy.

Jelikož má význam určovat hodnotu základního tónu pouze u znělých úseků řeči, je průběh základního tónu nespojitá veličina. Pro LPC analýzu tohoto průběhu je nutné stanovit hodnoty tohoto průběhu i v neznělých částech signálu tak, aby průběh základního tónu řeči byl spojitý.

Na základě získaných poznatků o lineárně prediktivním kódování a o modelování prozodie řečového signálu byl realizován LPC analyzátor průběhu základního tónu řečového signálu, jehož struktura a činnost bude popsána v této kapitole.

4.1 Návrh LPC analyzátoru základního tónu řeči

Průběh základního tónu řeči získáme pomocí detektoru základního tónu (pitchdetektoru), na jehož vstup přivedeme řečový signál. Pokud bude krok pitchdetekce 8 ms, vzorkovací kmitočet detektoru základního tónu bude 125 Hz, a tudíž budou v tomto průběhu obsaženy změny základního tónu do kmitočtu cca 60 Hz. Z percepčního hlediska je tato informace značně redundantní, neboť melodie, jako suprasegmentální jev, se projevuje od úrovně slabik výše. Z toho vyplývá, že dostatečná šířka pásma pro průběh základního tónu je cca 5 Hz, což je přibližně jedna desetina oproti signálu na výstupu pitchdetektoru. Jak již bylo řečeno, je průběh základního tónu řeči nespojitý signál. Pro získání spojitého průběhu základního tónu se šířkou pásma cca 5 Hz je třeba nejprve aproximovat neznělé úseky signálu, poté omezit dolní propustí jeho spektrální složení potlačením všech složek nad 5 Hz a nakonec provést decimaci signálu v poměru 1:10.

Pro filtraci aproximovaného průběhu základního tónu byl navržen pomocí nástroje „sptool“ v prostředí MATLAB Čebyševův filtr 2. typu s propustným pásmem do 5 Hz, ve kterém je útlum maximálně 3 dB, a s potlačeným pásmem nad 6 Hz s útlumem minimálně 35 dB. Kmitočtová charakteristika je na obr. 4.1a, její detail je pak na obr. 4.1b. Impulsní charakteristiky jsou pak znázorněny na obr. 4.1c a 4.1d. Zpoždění filtru činí 13 vzorků. Filtr byl realizován nejprve v jazyce Matlab a následně implementován v jazyce C (viz program filtc). Výpočet filtru v prostředí Matlab je uveden v tabulce 4.1. Tab 4.1 Výpočet decimačního filtru v prostředí Matlab

Fs=125; Wp=5; Ws=6; Rp=3; Rs=35; [n,wn]=cheb2ord(Wp*2/Fs,Ws*2/Fs,Rp,Rs) [b,a]=cheby2(n,35,wn);

Page 38: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

38

Obr. 4.1 Charakteristiky filtru pro decimaci průběhu základního tónu řeči.

Page 39: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

39

Pro definování průběhu základního tónu v neznělých oblastech (tj. tam, kde je výstup z detektoru základního tónu nulový) se používá lineární interpolace, což je vyhovující vzhledem k následné filtraci a decimaci. V neznělé části na začátku signálu je jako F0 dosazena konstantně první nenulová hodnota z výstupu pitchdetektoru a obdobně v neznělé části na konci signálu je dosazována konstantně poslední nenulová hodnota z výstupu pitchdetektoru. V neznělých částech uprostřed signálu je hodnota F0 lineárně interpolována mezi poslední nenulovou hodnotou z výstupu pitchdetektoru před začátkem neznělého úseku a první nenulovou hodnotou po skončení neznělého úseku. Po interpolaci neznělých úseků jsou ještě odstraněny chyby pitchdetektoru a signál je vyhlazen průměrujícím FIR filtrem o délce 5. Výpisy funkcí f0interp, f0remerr a f0smooth provádějící lineární interpolaci, odstraňování chyb a vyhlazování průběhu základního tónu řeči jsou uvedeny v příloze. Ukázka interpolace průběhu základního tónu včetně aplikace odstraňování chyb a vyhla-zování je uvedena na obr. 4.2.

Obr. 4.2 Ukázka interpolace průběhu základního tónu řeči.

Obr. 4.3 Ukázka filtrace interpolovaného průběhu základního tónu řeči.

Page 40: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

40

Před decimací signálu a vlastní lineárně predikční analýzou decimovaného signálu je nutné ještě ze signálu odstranit nebo podstatně omezit stejnosměrnou složku. Z výpočetního hlediska je výhodné, odečteme-li od průběhu základního tónu namísto stejnosměrné složky první nenulovou hodnotu z výstupu pitchdetektoru. Ukázky filtrace interpolovaného průběhu základního tónu řeči a minimalizace stejnosměrné složky tohoto průběhu jsou znázorněny na obr. 4.3.

Pro následný výpočet LPC koeficientů je použita autokorelační metoda. Vypočtené LPC koeficienty jsou pak s pomocí inverzního filtru použity pro výpočet zbytkového signálu lineární predikce. Ukázku decimace filtrovaného signálu bez stejnosměrné složky můžeme vidět na obr. 4.4a. zbytkový signál lineárního prediktoru získaný analýzou průběhu z obr. 4.4a můžeme vidět na obr. 4.4b.

Obr. 4.4 a) Ukázka decimace průběhu základního tónu řeči, b) Vypočtený zbytkový signál včetně vypočtených koeficientů filtru.

Obr. 4.5 a) Blokové schéma LPC analyzátoru. b) Blokové schéma vlastního bloku LPC analýzy z obr. 4.5a.

Page 41: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

41

Na obr. 4.5a vidíme celé funkční blokové schéma LPC analyzátoru řeči obsahující detektor základního tónu, blok interpolace a odečtení stejnosměrné složky, decimační filtr, decimátor a nakonec vlastní blok LPC analýzy. Vstupem popisovaného analyzátoru je řečový signál, výstupem pak zbytkový signál lineární predikce, lineárně predikční koeficienty a stejnosměrná složka průběhu základního tónu. Podrobnou strukturu bloku LPC analýzy vidíme na obr. 4.5b. Vstupem tohoto bloku je decimovaný spojitý průběh základního tónu, ze kterého jsou pomocí autokorelace vypočteny autokorelační koeficienty r (program aukor je uveden v příloze). Z těchto koeficientů jsou pomocí Leroux-Guegenova algoritmu, uvedeném v [LER77], vypočteny koeficienty odrazu rc , které jsou pomocí transformační funkce lpt42 (popsané v [MAR76] str. 229–233) převedeny na koeficienty filtru a, tvořící zároveň výstup bloku LPC analýzy. Z těchto koeficientů a ze vstupního decimovaného průběhu základního tónu je pomocí inverzní filtrace vypočten zbytkový signál lineární predikce tvořící druhý výstupní signál bloku LPC analýzy. Schéma inverzního filtru pro výpočet zbytkového signálu lineární predikce je uvedeno na obr. 4.6.

Celý analyzátor byl pro účely ověření popisované metody naprogramován v jazyce Matlab a následně byl

realizován v jazyce C v prostředí Matlab i v systému SpeechStudio. Výpis kódu LPC analyzátoru zapsaný pro prostředí Matlab jako funkce lpan1 je uveden v příloze. Jednou z nejdůležitějších součastí popisovaného LP analyzátoru je detektor základního tónu řeči. Všechny chyby na jeho výstupu se významnou měrou podílejí na zkreslení získaných výsledků. Popisem použité metody detekce základního tónu se podrobně zabývá následující podkapitola.

4.2 Použité metody detekce průběhu základního tónu řeči

Jak již bylo řečeno, hraje detektor základního tónu klíčovou roli při LPC analýze průběhu základního tónu. V literatuře bývají zmiňovány detektory základního tónu pracující přímo s řečovým signálem nebo používající jeho spektrální obraz. Nejdůležitějším zástupcem první skupiny je autokorelační metoda, do druhé skupiny pak patří detekce základního tónu využívající periodicitu zbytkového (chybového) signálu lineární predikce [MAR76], využívající periodicitu kepstra [PRI97] nebo detekující harmonické kmitočty základního tónu korelací spektra [SCH95].

Po dlouhodobých experimentech s různými detektory základního tónu jsem se rozhodl pro potřeby analýzy, která neprobíhá v reálném čase, používat automatické označování pitchpulsů v řečovém signálu s možností manuální korekce. Výsledný průběh základního tónu je pak přepočítán přímo z poloh jednotlivých pitchpulsů a může být případně konfrontován s výstupem autokorelačního pitchdetektoru.

4.2.1 Detekce základního tónu řeči autokorelační metodou

Bezesporu nejčastěji užívanou metodou k detekování základního tónu je metoda autokorelace řečového signálu, která existuje v nejrůznějších variantách, a to i jako součást hybridních systémů. Tato metoda je založena na hledání korelačních maxim, z nichž jsou vybráni „kandidáti“ na možnou hodnotu základního tónu. Z těchto kandidátů je následně za pomoci určitých podmínek vybrán „vítěz“, případně je daný úsek signálu prohlášen za neznělý. Tato metoda je podrobně popsána v [RAB78] str. 141 až 158.

Pro účely detekce základního tónu byla tato metoda implementována v prostředí Matlab i v jazyce C v programu pitchn, jenž je uveden v příloze.

4.2.2 Detekce pitchpulsů v řečovém signálu s označením znělosti

Máme-li namluvenou řečovou databázi, u které opakovaně vyvstává potřeba určení průběhu základního tónu, je výhodné určovat základní tón řeči pomocí označených pitchpulsů a znělých úseků v této databázi.

Obr. 4.6 Blokové schéma inverzního filtru.

Page 42: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

42

K tomuto účelu je vhodný algoritmus automatického označování pitchpulsů a znělých úseků s možností ruční korekce. Robustní algoritmus pro označování pitchpulsů je uveden např. v [GON98]. Pro účely této práce byl navržen algoritmus automatického určování pitchpulsů využívající analýzu průběhů krátkodobé energie signálu a počtu průchodů nulou. Této informace se využívá také k určení znělosti signálu. Algoritmus automatického označování pitchpulsů byl následně doplněn o algoritmus umožňující lineárně interpolovat pitchpulsy v neznělých oblastech signálu, což je důležité pro získání spojitého průběhu základního tónu (i když z fonetického hlediska jsou pitchpulsy v neznělých oblastech nesmyslné). Popisovaný algoritmus automatického označování pitchpulsů umožňuje zvolit zda chceme vkládat kladné či záporné pitchpulsy, neboť (v závislosti na mluvčím a použité nahrávací aparatuře) mohou být v nahrávce pitchpulsy orientovány kladně i záporně. Tento problém jde samozřejmě řešit i změnou polarity řečového signálu. Algoritmus pro označování pitchpulsů a znělých úseků byl odladěn v prostředí Matlab (bez možnosti korekce určených pitchpulsů) a poté byl přenesen do systému SpeechStudio umožňující manuální korekci pitchpulsů i znělých úseků včetně jejich exportu do prostředí Matlab. 4.3 Návrh LPC syntezátoru základního tónu řeči

V podkapitole 4.1 byl popsán návrh lineárně prediktivního analyzátoru průběhu základního tónu řeči, jehož výstupem byl parametrický popis tohoto signálu. Tento analyzátor tvoří první část komplexního systému a má svůj logický protějšek v lineárně prediktivním syntezátoru průběhu základního tónu řeči. Vzájemným propojením obou funkčních celků vznikne tzv. kodér/dekodér základního tónu řeči založený na metodě lineární predikce, který umožňuje provést posouzení vhodnosti použití lineární predikce pro modelování základního tónu řeči.

Průběh základního tónu řeči získáme použitím rekonstrukčního LPC filtru, který budíme zbytkovým signálem lineární predikce získaným pomocí analýzy popsané v článku 4.1. Parametry filtru tvoří 4 LPC koeficienty získané rovněž pomocí analýzy popsané v článku 4.1. Struktura rekonstrukčního filtru je znázorněna na obr. 4.7.

Na výstupu rekonstrukčního filtru získáme spojitý signál základního tónu řeči o vzorkovacím kmitočtu 12,5 Hz. Pro resyntézu řeči potřebujeme mít opět průběh základního tónu řeči s původními parametry, tj. se vzorkovacím kmitočtem 125 Hz včetně informace o znělosti (nulová hodnota základního tónu v neznělých úsecích). Toho dosáhneme desetinásobným převzorkováním a následnou filtrací. Pro filtraci je použit stejný filtr jako při analýze (viz článek 4.1). Následně je přičtena hodnota minimalizující stejnosměrnou složku (viz článek 4.1) a přidána informace o znělosti. Nulové hodnoty jsou vloženy tam, kde se nacházejí v původním signálu na výstupu pitchdetektoru (tj. v neznělých oblastech signálu). Blokové schéma LPC syntezátoru základního tónu řeči je uvedeno na následujícím obrázku. Signál základního tónu řeči po resyntéze a převzorkování a po následné filtraci je vyobrazen na obr. 4.9. Ukázka průběhu základního tónu řeči na výstupu z LPC syntezátoru v porovnání s původním průběhem je na obr. 4.10.

Syntezátor byl rovněž pro účely ověření metody nejprve realizován v jazyce Matlab a následně implementován v jazyce C. Výpis kódu LPC syntezátoru zapsaný pro prostředí Matlab jako funkce lpsyn1 je uveden v příloze. Ve spojení s analyzátorem popsaným v předchozí kapitole tvoří kodér/dekodér průběhu

Obr. 4.8 Blokové schéma LPC syntezátoru základního tónu řeči.

Obr. 4.7 Struktura rekonstrukčního filtru syntezátoru základního tónu řeči.

Page 43: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

43

základního tónu řeči. Tento kodér/dekodér byl začleněn do LPC vokodéru pro ověření funkčnosti kódování průběhu základního tónu. Vypočtené výsledky i poslechové testy ukazují, že šířka kanálu pro přenos základního tónu (4 LPC koeficienty a zbytkový signál lineární predikce) je dostatečná pro věrnou reprodukci prozodie. V dalších podkapitolách se budu zabývat informačním obsahem zbytkového signálu lineární predikce a možnostmi jeho aproximace.

4.4 Ověření funkčnosti LPC kodéru/dekodéru průběhu základního tónu

Pro praktické ověření je nutné propojit analyzátor a syntezátor průběhu základního tónu z předchozích podkapitol a včlenit je do řečového vokodéru. Blokové schéma vzniklého systému pro LPC vokodér pracující se vzorkovacím kmitočtem 8 kHz je uvedeno na obr. 4.11. Tento LPC vokodér s LPC kodérem-dekodérem základního tónu byl realizován v prostředí Matlab jako program f0lpkodek a byl otestován na větách z prozodického korpusu vytvořeného pro účely této práce (viz článek 6.1 a příloha A). Poslechově byla prozodie

Obr. 4.9 a) Signál průběhu základního tónu řeči po LPC resyntéze a interpolaci, b) Budící signál rekonstrukčního filtru včetně 4 LPC koeficientů.

Obr. 4.10 Ukázka průběhu základního tónu řeči po resyntéze metodou lineární predikce.

Page 44: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

44

u všech 288 vět z korpusu téměř nerozeznatelná od originální prozodie, což ukázalo, že použitá metoda je k modelování prozodie vhodná. Další výzkum byl zaměřen na možnosti co největšího zjednodušení zbytkového signálu lineární predikce při poslechově přijatelné prozodii na výstupu vokodéru.

Obr. 4.11 Blokové schéma řečového LPC vokodéru s LPC analýzou / syntézou průběhu základního tónu.

Page 45: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

45

5 Vlastnosti zbytkového signálu lineární predikce

5.1 Aproximace zbytkového signálu lineární predikce

Z prozodického hlediska je informační obsah zbytkového signálu lineární predikce stále značně redundantní, a proto je vhodné jej dále co nejvíce zjednodušit při zachování prozodicky důležité informace. Jako nejjednodušší se jeví možnost aproximace zbytkového signálu lineární predikce obdélníkovým signálem. Zvláštním případem aproximace obdélníkovým signálem je pak aproximace jednotlivými impulsy.

Pro posouzení možnosti buzení rekonstrukčního filtru obdélníkovým či impulsovým signálem je dobré znát odezvu rekonstrukčního filtru na jednotkový skok a na jednotkový impuls. Pro tyto účely byly ze souborů vět od mluvčího „Machač“ (2x 72 vět – Machač1 a Machač2) vypočteny průměrné hodnoty lineárně predikčních koeficientů. Statistické vyhodnocení vypočtených hodnot je uvedeno v tabulce 5.1 (řád lineární predikce je 4, vzorkovací kmitočet průběhu základního tónu je 125 Hz a decimační poměr je 1:10). Na obrázku 5.1 je pak statistické vyhodnocení vypočtených koeficientů znázorněno graficky.

Tab. 5.1 Statistické vyhodnocení LP koeficientů 144 vět ze souboru „Machač1“ a „Machač2“

koeficient průměr směrodatná odchylka

střední chyba minimum maximum rozsah

a1 -1,23761 0,15542 0,01295 -1,65578 -0,86500 0,79078a2 0,60009 0,24162 0,02014 0,20307 1,21729 1,01422a3 -0,32046 0,18243 0,01520 -0,78066 0,19665 0,97731a4 0,10699 0,10326 0,00860 -0,11667 0,42493 0,54160

Hodnoty vypočtených koeficientů byly následně použity jako parametry rekonstrukčního filtru z obr. 4.8,

který byl nejprve buzen jednotkovým skokem a následně jednotkovým impulsem. Výsledné průběhy vypočtené v prostředí Matlab programem lpsyn1 můžeme vidět na obrázku 5.2.

Z průběhů na obrázku 5.2 je patrné, že vhodným obdélníkovým či impulsním buzením je teoreticky možné modelovat poměrně přesně průběh základního tónu. Jako vhodná informace pro generování budících pulsů z hlediska syntézy řeči se zdá být informace o hranicích suprasegmentálních celků (slabik, přízvukových taktů či

intonačních úseků) spolu s informací o jejich délce a postavení ve větě. Z odezvy na jednotkový skok vyplývá, že časová konstanta rekonstrukčního filtru se pohybuje v oblasti řádově stovek milisekund. Popisovaným způsobem tedy můžeme velice dobře modelovat intonační konturu na úrovni slabik a přízvukových taktů, úsekovou složku je pak nutno modelovat jiným způsobem. Jelikož úseková složka má většinou především deklinační funkci, je možné řešit úsekovou složku samostatnými pravidly udávajícími sklon deklinační křivky.

a1 a2 a3 a4

-2

-1

0

1

2

LP coefficients statistic - speaker Machac - 144 sentences

Coe

ff. v

alue

LP coefficients

Obr. 5.1 Statistické vyhodnocení LP koeficientů 144 vět ze souboru „Machač1“ a „Machač2“.

Page 46: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

46

Obr. 5.2 Odezva rekonstrukčního filtru na jednotkový skok a jednotkový impuls (LP koeficienty ze souboru vět „machač1“ a „machač2“).

V první fázi zatím nebudu s hranicemi suprasegmentálií pracovat a omezím se na generování budících pulsů přímo z průběhu zbytkového signálu.

jana machac1 machac2 zaruba-2,0-1,8-1,6-1,4-1,2-1,0-0,8-0,6-0,4-0,20,00,20,4 LP Coefficient a1

Coe

ffici

ent a

1

Speakerjana machac1 machac2 zaruba

-0,4-0,20,00,20,40,60,81,01,21,41,61,82,0 LP Coefficient a2

Coe

ffici

ent a

2

Speaker

jana machac1 machac2 zaruba-1,0-0,8-0,6-0,4-0,20,00,20,40,60,81,01,21,4 LP Coefficient a3

Coe

ffici

ent a

3

Speakerjana machac1 machac2 zaruba

-1,0-0,8-0,6-0,4-0,20,00,20,40,60,81,01,21,4 LP Coefficient a4

Coe

ffici

ent a

4

Speaker

Obr. 5.3 Statistická analýza lineárně predikčních koeficientů pro jednotlivé mluvčí.

Page 47: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

47

5.1.1 Aproximace zbytkového signálu obdélníkovým signálem

Pro snížení informační redundance zbytkového kanálu lineárního prediktoru budeme zbytkový signál aproximovat obdélníkovými pulsy o délce w se zvolenou prahovou hodnotou ε. Pro jednoduchost rozdělíme zbytkový signál na úseky o délce w , ve kterých bude hodnota nastavena na průměrnou hodnotu zbytkového signálu v daném úseku tehdy, bude-li tato průměrná hodnota větší než zvolená prahová úroveň ε. V opačném případě bude hodnota nastavena na nulu. Potom tedy i-tou aproximovanou hodnotu yi j-tého vzorku zbytkového signálu ej určíme pomocí následujícího vztahu:

(5.1)

kde ej . . . j-tá hodnota zbytkového signálu lineárního prediktoru, yi . . . i-tá hodnota aproximovaného zbytkového signálu lineárního prediktoru, w . . . šířka aproximačního okna ve vzorcích, k . . . počáteční index aproximačního okna pro i-tou hodnotu zbytkového signálu, ε . . . prahová úroveň aproximace, a funkce y = floor(x) do proměnné y dosadí oříznutou celočíselnou část proměnné x.

Z hlediska hodnocení výsledného průběhu základního tónu je vhodné definovat chybu popisující rozdíl mezi původním průběhem základního tónu analyzované promluvy a průběhem základního tónu získaného pomocí lineárně predikční analýzy a syntézy. Tuto chybu má smysl počítat pouze ve znělých oblastech řečového signálu, neboť v neznělých úsecích je hodnota základního tónu řeči rovna nule. Jako vhodná chybová veličina se pro tento účel jeví střední kvadratická chyba, která je dána vztahem:

(5.2)

kde F0i . . . hodnota základního tónu i-tého rámce analyzované promluvy na výstupu pitchdetektoru, F̃0i . . . hodnota základního tónu i-tého rámce po resyntéze pomocí lineární predikce, n . . . počet hodnot průběhu základního tónu řeči (počet rámců promluvy), V . . . počet nenulových hodnot základního tónu řeči v promluvě (počet znělých rámců), MSE . . . střední kvadratická chyba průběhu základního tónu po resyntéze pomocí lineární predikce.

Aproximaci zbytkového signálu lineárního prediktoru společně s odpovídajícím průběhem základního tónu

pro větu „o1d3a“ od mluvčího „Machač“ můžeme vidět na obr. 5.4 a 5.5. Na obr. 5.4 jsou zobrazeny aproximované průběhy zbytkového signálu pro šířky aproximačního okna w = 1, 2, 3 při prahové úrovni aproxi-mace ε = 4 a na obr. 5.5 jsou pak zobrazeny aproximované průběhy zbytkového signálu pro šířky aproximačního okna w = 4, 5, 6 rovněž při prahové úrovni aproximace ε = 4. Ekvivalent obrázků 5.4 a 5.5, ale pro větu „d3k3a“ od mluvčího „Machač“, představují obrázky 5.6 a 5.7. Na obr. 5.8 jsou zobrazeny aproximované průběhy zbytkového signálu věty „d3k3a“ od mluvčího „Machač“ pro prahové úrovně aproximace ε = 1, 2, 3 při šířce aproximačního okna w = 2 a na obr. 5.9 jsou zobrazeny aproximované průběhy zbytkového signálu pro prahové úrovně aproximace ε = 2, 4, 8 rovněž při šířce aproximačního okna w = 2. V pravém horním rohu každého obrázku jsou uvedeny příslušné hodnoty střední kvadratické chyby pro jednotlivé intonační průběhy.

Z obrázků 5.4 až 5.7 vyplývá, že při šířce aproximačního okna větší než 3 vzorky nastává již velké zkreslení výstupního průběhu základního tónu, což je dobře patrné rovněž na velikosti střední kvadratické chyby průběhu základního tónu po resyntéze pomocí lineární predikce. Z obrázků 5.8 a 5.9 je zřejmé, že do hodnoty prahové úrovně aproximace ε = 5 je střední kvadratická chyba v přijatelných mezích (menší než 150) a rovněž zkreslení výstupního průběhu základního tónu je subjektivně přijatelné. Poslechovými experimenty, které se poměrně dobře shodují s velikostí střední kvadratické chyby definované vztahem 5.2, byly pro popisovanou metodu aproximace zbytkového signálu lineárního prediktoru stanoveny jako optimální hodnoty aproximačních parametrů w = 2 a ε = 4. Pro hodnotu šířky aproximačního okna w = 1 jsou sice průměrné hodnoty střední kvadratické chyby ještě lepší, ale úroveň snížení redundance zbytkového signálu je zde nízká, neboť aproximovaný zbytkový signál v podstatě kopíruje původní zbytkový signál (viz obr. 5.4 a 5.6). Při šířce aproximačního okna w = 1 se jedná o aproximaci zbytkového signálu impulsy a budu se jí zabývat v následujícím odstavci. Analýza střední kvadratické pro dvě věty ze souboru „Machač1“ je uvedena ve dvou následujících

1 1

1

;floor ,

0;

k w k w

j jj k j k

i k w

jj k

e epro

iw wy k ww

epro

w

ε

ε

+ − + −

= =

+ −

=

⎧⎪⎪ >⎪ ⎛ ⎞= = ⋅⎨ ⎜ ⎟

⎝ ⎠⎪⎪

≤⎪⎩

∑ ∑

( )1 2

0 00

1 ,n

i ii

MSE F FV

=

= −∑ %

Page 48: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

48

tabulkách (tabulka 5.2a pro větu „o1d3a“ a tabulka 5.2b pro větu „d3k3a“). Pro každou větu zde byla určena střední kvadratická chyba průběhu základního tónu po resyntéze pomocí lineární predikce pro čtyři různé šířky aproximačního okna w = 1, 2, 3, 4 při čtyřech různých hodnotách prahové úrovně aproximace ε = 2, 4, 6 a 8 (čili pro každou větu šestnáct různých hodnot střední kvadratické chyby).

Tab. 5.2 Analýza střední kvadratické chyby pro věty o1d3a (a) a d3k3a (b) od mluvčího Machač

šířka aproximačního okna w a) MSE

Machač o1d3a 1 2 3 4

2 84,9 112,6 178,5 155,5

4 84,8 122,2 165,9 173,8

6 92,5 146,5 216,5 154,7prah

ová

úrov

apro

xim

ace

ε

8 103,6 165,3 263,6 207,1

Aproximace zbytkového signálu obdélníkovým signálem byla otestována také statistickým vyhodnocením hodnot střední kvadratické chyby pro všech 288 vět z prozodické databáze (viz příloha A). Výsledky této statistické analýzy jsou uvedeny ve čtyřech tabulkách pro jednotlivé soubory 72 vět. Statistika střední kvadratické chyby průběhu základního tónu po resyntéze pomocí lineární predikce pro soubor vět „Machač1“ je uvedena v tabulce 5.3, pro soubor vět „Machač2“ v tabulce 5.4, pro soubor vět „Záruba“ v tabulce 5.5 a pro soubor vět „Jana“ v tabulce 5.6. Pro každý soubor vět zde byl určen aritmetický průměr středních kvadratických chyb průběhů základního tónu po resyntéze pomocí lineární predikce všech 72 vět pro čtyři různé šířky aproximačního okna w = 1, 2, 3, 4 při čtyřech různých hodnotách prahové úrovně aproximace ε = 2, 4, 6 a 8. Dále jsou zde uvedeny pro každý aritmetický průměr středních kvadratických chyb směrodatná odchylka, střední chyba a minimální a maximální hodnota střední kvadratické chyby pro daný soubor vět a příslušné hodnoty aproximačních parametrů.

Tab. 5.3 Statistika středních kvadratických chyb pro 72 vět souboru Machač1

šířka aproximačního

okna w

prahová úroveň

aproximace ε

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

1 2 93,2 29,0 3,4 40,3 183,5 2 2 105,6 29,1 3,4 51,3 182,6 3 2 147,1 45,3 5,3 73,5 253,4 4 2 196,9 89,2 10,5 87,3 623,5 1 4 98,4 30,3 3,6 45,3 177,4 2 4 128,8 35,6 4,2 58,0 234,2 3 4 182,0 61,4 7,2 88,1 373,7 4 4 259,4 122,4 14,4 99,0 749,5 1 6 107,6 29,4 3,5 61,0 219,0 2 6 176,4 64,6 7,6 77,6 452,3 3 6 248,7 91,4 10,8 111,9 637,7 4 6 331,1 189,2 22,3 142,8 1249,3 1 8 124,2 31,1 3,7 61,6 197,9 2 8 209,6 66,5 7,8 97,2 382,7 3 8 312,8 145,7 17,2 111,9 982,2 4 8 453,6 288,7 34,0 163,6 2209,9

šířka aproximačního okna w b) MSE

Machač d3k3a 1 2 3 4

2 69,0 60,1 106,4 226

4 66,3 62,7 102,6 288

6 82,5 100,5 283,5 328,2prah

ová

úrov

apro

xim

ace

ε

8 81,9 106,1 283,5 527,9

Page 49: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

49

Obr. 5.4 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, w = 1, 2, 3; ε = 4.

Obr. 5.5 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, w = 4, 5, 6; ε = 4.

Page 50: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

50

Obr. 5.6 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 1, 2, 3; ε = 4.

Obr. 5.7 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 4, 5, 6; ε = 4.

Page 51: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

51

Obr. 5.8 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 2; ε = 1, 3, 5.

Obr. 5.9 Aproximace zbytkového signálu lineárního prediktoru pro větu d3k3a, w = 2; ε = 2, 4, 8.

Page 52: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

52

Tab. 5.4 Statistika středních kvadratických chyb pro 72 vět souboru Machač2

šířka aproximačního

okna w

prahová úroveň

aproximace ε

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

1 2 103,5 33,2 3,9 49,2 216,1 2 2 124,7 40,1 4,7 55,1 246,3 3 2 180,0 73,7 8,7 59,7 475,9 4 2 217,7 68,9 8,1 81,9 392,9 1 4 107,1 32,6 3,8 53,6 216,1 2 4 143,5 39,7 4,7 74,0 265,1 3 4 229,9 91,3 10,8 85,4 506,5 4 4 265,8 92,3 10,9 111,0 500,7 1 6 118,8 33,1 3,9 62,1 216,1 2 6 184,4 60,8 7,2 80,1 371,6 3 6 293,7 119,0 14,0 91,5 830,5 4 6 396,5 274,1 32,3 150,3 2043,3 1 8 135,8 35,6 4,2 76,1 239,4 2 8 246,6 74,3 8,8 93,3 426,5 3 8 384,0 173,8 20,5 106,8 1173,0 4 8 526,7 348,3 41,0 150,3 2744,6

Tab. 5.5 Statistika středních kvadratických chyb pro 72 vět souboru Záruba

šířka aproximačního

okna w

prahová úroveň

aproximace ε

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

1 2 77,8 43,8 5,2 29,2 300,1 2 2 96,5 52,5 6,2 28,2 291,1 3 2 144,4 114,7 13,5 46,0 750,2 4 2 176,2 117,0 13,8 37,0 869,7 1 4 83,9 42,0 4,9 32,0 262,2 2 4 119,1 54,8 6,5 54,1 345,7 3 4 195,5 122,8 14,5 69,1 750,2 4 4 239,9 126,3 14,9 61,2 869,7 1 6 95,5 42,3 5,0 48,8 266,4 2 6 151,9 58,7 6,9 66,5 345,7 3 6 282,8 182,1 21,5 98,1 1137,5 4 6 337,1 158,0 18,6 61,2 905,7 1 8 113,6 46,8 5,5 51,3 292,9 2 8 208,5 86,0 10,1 90,8 563,3 3 8 351,6 177,4 20,9 130,3 995,6 4 8 463,1 233,4 27,5 154,8 1140,2

Tab. 5.6 Statistika středních kvadratických chyb pro 72 vět souboru Jana

šířka aproximačního

okna w

prahová úroveň

aproximace ε

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

1 2 258,3 115,4 13,6 101,6 684,4 2 2 299,7 131,7 15,5 74,2 829,3 3 2 435,5 201,4 23,7 120,9 1111,1 4 2 599,4 349,3 41,2 181,7 1972,7 1 4 263,2 117,3 13,8 101,6 700,8 2 4 317,6 136,7 16,1 95,1 819,7 3 4 467,1 210,9 24,9 120,9 1111,1 4 4 660,1 380,6 44,9 174,1 2369,3 1 6 268,5 121,1 14,3 113,3 774,4 2 6 357,6 166,2 19,6 120,5 1065,4 3 6 524,7 231,8 27,3 120,9 1656,2 4 6 734,8 489,2 57,6 281,4 3594,9 1 8 280,9 114,4 13,5 123,4 718,9 2 8 405,9 187,1 22,0 141,7 1327,8 3 8 639,8 270,9 31,9 120,9 1651,3 4 8 822,3 517,4 61,0 281,4 3594,9

Page 53: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

53

Z tabulek 5.3 až 5.6 je patrné, že pro tři soubory vět od mužských mluvčí se výsledky poměrně dobře shodují na rozdíl od souboru vět „Jana“, u kterého jsou hodnoty střední kvadratické chyby podstatně větší. To může být dáno vyšíí hodnotou základního tónu u mluvčí „Jana“ (250–450 Hz) a tím pádem nižší rozlišovací schopností signálu přenášet základní periodu. Při použitém vzorkovacím kmitočtu 8 kHz a základní periodě hlasivek T = 19,5 bude detekovaná hodnota základního tónu řeči buď F0 = 8000/19 421 Hz nebo F0 = 8000/20 = 400 Hz. Z toho vyplývá, že rozdíl jednoho vzorku v délce periody nám zde způsobí skokovou změnu detekovaného základního tónu o více jak 5%. Pro přesnější analýzu ženských hlasů je nutné použít vyšší vzorkovací kmitočty – alespoň 16 kHz, lépe však 32 kHz.

Statistické vyhodnocení středních kvadratických chyb pro jednotlivé soubory vět při hodnotách aproximačních parametrů w = 2 a ε = 4 můžeme vidět na obr. 5.10. Nejrovnoměrnější rozdělení chyb mají oba soubory „Machač“, soubor vět „Záruba“ má však maximum níže, než oba soubory Machač, ale dvě věty zde spadají do oblasti do 300 Hz a jedna věta dokonce do oblasti do 350 Hz. Z obrázku 5.10 je zřejmé, že hodnoty středních kvadratických chyb u souboru vět „Jana“ jsou podstatně vyšší než u ostatních souborů vět.

Z výsledků experimentů s aproximací průběhu zbytkového signálu pulsním signálem vyplývá, že dobrých výsledků by mohlo být dosaženo pouhým impulsním buzením při nalezení vhodnějšího aproximačního algoritmu, než představuje vztah 5.1. Aproximaci průběhu zbytkového signálu lineárního prediktoru základního tónu řeči jednotlivými impulsy se budu zabývat v následujícím odstavci. 5.1.2 Aproximace zbytkového signálu impulsovým signálem

Při aproximaci zbytkového signálu lineárního prediktoru jednotlivými impulsy musíme řešit problém umístění a velikosti těchto impulsů. Pro tyto účely byl vytvořen program errimp provádějící aproximaci zbytkového signálu impulsovým signálem. Aproximaci zbytkového signálu lineárního prediktoru pro větu „o1d3a“ ze souboru „Machač1“ pro prahovou hodnotu aproximace ε = 2 můžeme vidět na obr. 5.11.

50 100 150 200 2500

2

4

6

8

10

12

14

16 Soubor vět Machač1Č

etno

st

Střední kvadratická chyba50 100 150 200 250

0

2

4

6

8

10

12

14

16 Soubor vět Machač2

Čet

nost

Střední kvadratická chyba

50 100 150 200 250 300 3500

2

4

6

8

10

12

14

16 Soubor vět Záruba

Čet

nost

Střední kvadratická chyba

200 400 600 8000

1

2

3

4

5

6

7

8

9 Soubor vět Jana

Čet

nost

Střední kvadratická chyba

Obr. 5.10 Histogramy středních kvadratických chyb pro jednotlivé soubory vět (w = 2; ε = 4).

Page 54: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

54

Pro všechny čtyři soubory vět byla následně provedena statistická analýza středních kvadratických chyb

srúznými prahovými hodnotu aproximace ε = 0, 2, 4, 6 a 8. Hodnota ε = 0 slouží především pro porovnání, neboť se při této hodnotě aproximovaný zbytkový signál lineárního prediktoru shoduje s původním zbytkovým signálem.

Tab. 5.7 Statistika středních kvadratických chyb pro různé prahové úrovně aproximace

soubor vět prahová úroveň

aproximace ε

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

Machač1 0 91,9 28,8 3,4 41,6 177,5 Machač2 0 102,8 33,2 3,9 47,7 221,4 Záruba 0 76,7 43,0 5,1 26,1 290,3 Jana 0 257,4 115,2 13,6 100,5 684,4

Machač1 2 270,0 323,6 38,1 53,6 1971,6 Machač2 2 355,8 356,0 42,0 82,5 1946,5 Záruba 2 227,4 183,7 21,7 47,8 1339,5 Jana 2 947,8 995,0 117,3 135,9 6084,3

Machač1 4 235,3 225,9 26,6 61,2 1691,6 Machač2 4 316,0 351,1 41,4 72,4 2356,3 Záruba 4 221,7 201,5 23,7 38,4 1202,9 Jana 4 861,9 899,5 106,0 131,3 5304,2

Machač1 6 242,6 205,9 24,3 75,6 1376,6 Machač2 6 263,1 153,5 18,1 72,7 843,9 Záruba 6 262,4 185,4 21,8 68,7 1161,9 Jana 6 732,2 688,9 81,2 78,9 4492,2

Machač1 8 282,9 198,3 23,4 85,4 1166,3 Machač2 8 300,7 158,1 18,6 105,1 774,0 Záruba 8 358,9 315,3 37,2 62,4 2003,3 Jana 8 690,5 556,8 65,6 78,9 3182,5

Obr. 5.11 Aproximace zbytkového signálu lineárního prediktoru pro větu o1d3a, ε = 2.

Page 55: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

55

Z tabulky 5.7 je zřejmé, že použitý aproximační algoritmus pro aproximaci zbytkového signálu lineárního prediktoru jednotlivými impulsy nepracuje tak dobře jako algoritmus aproximace zbytkového signálu obdélníkovým signálem popsaný v odstavci 5.1.1. 5.1.3 Možnosti aproximace zbytkového signálu

V předchozích dvou odstavcích byly popsány jednoprůchodové algoritmy pro aproximaci zbytkového signálu lineárního prediktoru. Z uvedených výsledků vyplývá, že menších hodnot střední kvadratické chyby bylo dosaženo aproximací podle algoritmu popsaného v odstavci 5.1.1 vzorcem 5.1. Lepších výsledků by bylo zřejmě dosaženo použitím víceprůchodových algoritmů založených na postupné minimalizaci hodnot střední kvadratické chyby a to především u algoritmu popsaném v odstavci 5.1.2. 5.2 Závislost zbytkového signálu lineárního prediktoru na stavbě věty

Míra závislosti zbytkového signálu lineární predikce na stavbě věty byla určována pomocí aproximace zbytkového signálu lineární predikce s využitím informace o hranicích suprasegmentálních celků. Polohy hranic těchto celků byly do přirozeného signálu doplněny pomocí systému automatické segmentace řeči, popsané ve článku 6.2, ve spojení se systémem Epos. Pro účely vlastní aproximace zbytkového signálu lineárního prediktoru byl upraven algoritmus popsaný v odstavci 5.1.1. Jelikož funkce intonačních úseků je především deklinační, a je nutno ji řešit doplněním lineárně predikčního intonačního modelu o funkci deklinace, zajímají nás ze suprasegmentálií především slabiky a přízvukové takty. Analýzu středních kvadratických chyb pro všechny soubory vět s použitím aproximace zbytkového signálu lineární predikce po slabikách i přízvukových taktech vidíme v tabulce 5.8. Výpis použitého aproximačního algoritmu errinterp3 je uveden v příloze. Je zřejmé, že jednoprůchodový aproximační algoritmus provádějící aproximaci zbytkového signálu lineární predikce na úrovni suprasegmentálních celků není nejvodnější, jelikož výsledné hodnoty středních kvadratických chyb jsou příliš vysoké. Pro použitelnou aproximaci zbytkového signálu lineární predikce na úrovni suprasegmentálních celků je zřejmě nutné použít víceprůchodový optimalizační algoritmus minimalizující velikost střední kvadratické chyby.

Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

soubor vět aproximační jednotky

aritmetický průměr

směrodatná odchylka

střední chyba minimum maximum

Machač1 slabiky 179,8 122,7 14,5 51,2 806,3 Machač2 slabiky 318,0 235,6 27,8 71,5 1068,1 Záruba slabiky 153,7 152,0 17,9 38,3 906,5 Jana slabiky 502,2 580,6 68,4 118,1 3595

Machač1 přízvukové takty 540,9 340,6 40,1 137,8 1873,7 Machač2 přízvukové takty 801,7 431,7 50,9 139,2 1892 Záruba přízvukové takty 513,8 439,5 51,8 122,1 3404,2 Jana přízvukové takty 212,4 178,0 21,0 32,1 1128,9

5.3 Využití zbytkového signálu lineární predikce pro tvorbu prozodických pravidel

Pro využití zbytkového signálu lineární predikce pro návrh prozodických pravidel je nutné buď implementovat lexikální analýzu psaného textu, což je problém pro češtinu dosud nevyřešený, nebo využít zbytkový signál lineární predikce pro natrénování umělé neuronové sítě. Na vstupy neuronové sítě by byly přivedeny informace o haranicích suprasegmentálíí a jejich vzájemné četnosti a neuronová síť by byla trénována na zbytkový signál lineárního prediktoru. Po skončení trénovací fáze by neuronová síť generovala přímo budící signál lineárně predikčního syntetizujícího filtru, na jehož výstupu by se objevil průběh základního tónu syntetické promluvy. Na modelování buzení lineárně predikčního intonačního modelu umělou neuronovou sítí se v současné době pracuje, ale jeho podrobný popis přesahuje rámec této práce.

Page 56: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

56

Page 57: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

57

Část III

Experimentální část

Page 58: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

58

Page 59: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

59

6 Experimentální část

Obsahem této kapitoly je popis prováděných experimentů s cílem ověřit modelování průběhu základního tónu v praxi. 6.1 Databáze řečového materiálu pro modelování prozodie

Pro ověřování navrhovaných algoritmů byla navržena a posléze namluvena řečová databáze o rozsahu cca 80 vět od několika mluvčích. Věty byly v rámci databáze rozděleny podle několika hledisek: podle typu věty na větu oznamovací, rozkazovací a otázku zjišťovací a doplňovací. Podle stavby věty na větu jednoduchou, souvětí skládající se ze dvou vět a na souvětí skládající se ze tří vět. Dále pak z hlediska délky na krátkou (stručnou) a dlouhou (rozvitou) větu. Tím bylo definováno 12 základních kategorií vět, přičemž v každé kategorii byly vybrány tři různé realizace, čímž jsme získali databázi 72 vět (souvětí), která byla ještě doplněna o krátký text sestávající celkem z 10 vět (souvětí). Seznam vět obsažených v databázi včetně jejich znění je uveden v příloze.

Popisovaná databáze byla namluvena od jednoho profesionálního mluvčího pro mužský hlas (Robert Záruba – ČT), od jednoho neprofesionálního mluvčího (Pavel Machač) a od jedné neprofesionální mluvčí pro ženský hlas (Jana Mejvaldová). Celkem máme tedy 72 vět namluvených od dvou mluvčích pro mužský a od jedné mluvčí pro ženský hlas, přičemž mluvčí Machač je pokaždé ve dvou realizacích. Prozodický korpus pro účely této práce tedy obsahuje 288 vět. Všechny nahrávky byly pořízeny ve studiu ve Fonetickém ústavu FF UK na digitální magnetofon DAT SONY PCM-R300 vzorkovacím kmitočtem 48kHz. Poté byly nahrávky převedeny do počítače a převzorkovány na 8 kHz programem Sound Forge 4.5, který je k dispozici rovněž ve Fonetickém ústavu FF UK.

6.2 Automatická segmentace řeči

Pro experimenty s modelováním prozodie bylo třeba namluvenou databázi opatřit informací o hranicích suprasegmentálních jednotek (hlásky, slabiky, přízvukové takty a intonační úseky). Jelikož ruční označování těchto jednotek je velice pracné, byla vyvinuta metoda automatické segmentace řeči založená na porovnávání přirozeného řečového signálu, ve kterém chceme označit suprasegmentální úseky, s totožným syntetickým signálem, ve kterém tyto hranice známe. K porovnání se používá algoritmus dynamického borcení časové osy (DTW – Dynamic Time Warping), jehož vstup tvoří časové i kmitočtové analýzy obou porovnávaných signálů. Myšlenka automatické segmentace s použitím syntézy řeči není nová. Automatická segmentace francouzštiny s využitím TTS je velmi dobře popsána v [MAL97a] a v [MAL97b]. Na uvedené autory navazují práce [STR99] a [TUČ99], ze kterých jsem při vývoji systému automatické segmentace řeči vycházel. 6.2.1 Použitý syntezátor řeči

Pro účely automatické segmentace přirozené promluvy musíme nejprve vytvořit pomocí TTS systému totožnou syntetickou promluvu s vyznačenými suprasegmentálními hranicemi. Pro tyto účely byl upraven TTS systém Epos využívající mimo jiné LPC syntezátor řeči vyvinutý v ÚRE [HAN98a,b], [HAN01]. Pro účely automatické segmentace byl vybrán mužský hlas „Kubec“ používající 441 českých a slovenských segmentů řeči (difony, iniciální a finální části hlásek a těla samohlásek) při vzorkovacím kmitočtu 8 kHz a osmém řádu lineární predikce [PTÁ92], [VÍC95a]. Pro automatickou segmentaci vyšších než segmentálních celků bylo zapotřebí do LPC inventáře doplnit informaci o hranicích hlásek v rámci segmentů. Upravený systém Epos včetně modifikovaného LPC inventáře spolu s přidanou informací o hranicích hlásek umožňuje vytvářet syntetické promluvy z psaného textu spolu s informací o poloze řečových segmentů, hlásek, slabik, přízvukových taktů (celky na úrovni jednotlivých slov), intonačních úseků (celky na úrovni jednoduchých vět) a celých větných celků v tomto syntetickém signálu [HOR99d,e]. Blokové schéma systému Epos, včetně přidaných částí pro účely automatické segmentace, je znázorněno na obr. 6.1. 6.2.2 Vlastní segmentace

Jelikož vlastní segmentační algoritmus pracuje s jednotlivými větami (souvětími), musí být přirozená řeč, kterou chceme automaticky segmentovat, nejprve rozdělena na jednotlivé věty, respektive v ní musí být jednotlivé věty označeny. Vstupem do automatického segmentátoru jsou tedy jednotlivé přirozené věty spolu se svým textovým zápisem. Z textového zápisu jsou pak pomocí syntezátoru řeči (Epos + LPC syntéza) generovány ekvivalentní syntetické věty obsahující navíc informaci o hranicích řečových segmentů a vyšších suprasegmen-tálních celků.

Page 60: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

60

První krok automatické segmentace spočívá v analýze přirozeného i referenčního syntetického řečového signálu v časové i ve kmitočtové oblasti. Analýza se provádí v obou signálech po jednotlivých rámcích v každé označené větě. V každém rámci je vypočteno šest základních skupin parametrů. První skupinu parametrů tvoří kepstrální koeficienty ci získané přepočtem z LPC koeficientů dle vztahů 6.1 a 6.2, reprezentující okamžitou obálku spektra [MAR76].

01

1

ln( ) ,1 ( ) for 0,

n

n n n k kk

c

c a n k c a nn

α−

−=

=

= − − − >∑

(6.1) (6.2)

kde α . . . koeficient zisku lineárního prediktoru, a0 = 1 a ak = 0 pro k > M,

M . . . řád lineárně predikční analýzy. Delta kepstrální koeficienty Δci určené pomocí vztahů 6.3 a 6.4 tvoří druhou skupinu parametrů.

0 0( ) ( ) ,( ) ( ) ( 1) ,n n n

c i c ic i c i c i

Δ =Δ = − −

(6.3)

(6.4)

kde cj(i) . . . j-tý kepstrální koeficient i-tého rámce. Třetí a čtvrtou skupinu parametrů tvoří krátkodobá energie signálu v jednotlivých rámcích a její první diference určené dle vztahů 6.5 a 6.6 [RAB78].

( )2( ) ( ) ( (1 ) ) ,

( ) ( ) ( 1) ,m

E i x m w i N m

E i E i E i

μ∞

=−∞

= ⋅ ⋅ − −

Δ = − −

(6.5) (6.6)

kde x . . . řečový signál, i . . . pořadí rámce, N . . . délka rámce, μ . . . koeficient překrytí rámců, M . . . řád lineárně predikční analýzy,

1 : 0 ,( )

0 : .a N

w ajinde≤ <⎧

= ⎨⎩

Konečně pátou a šestou skupinu parametrů tvoří počet průchodů nulou v jednotlivých rámcích spolu se svou první diferencí dle vztahů 6.7 a 6.8 [OPP75].

Obr. 6.1 TTS systém upravený pro účely automatické segmentace (tučné bloky byly přidány).

Page 61: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

61

( ) ( )( ) ( ) ( 1) (1 ) ,

( ) ( ) ( 1) ,m

Z i f x m x m w i N m

Z i Z i Z i

μ∞

=−∞

= − ⋅ ⋅ − −

Δ = − −

(6.7) (6.8)

kde x . . . řečový signál, i . . . pořadí rámce, N . . . délka rámce, μ . . . koeficient překrytí rámců,

1 : 0 ,( )

0 : ,a N

w ajinde

≤ <⎧= ⎨

1 : ( 0) ,( )

0 : .z za k k

f ajinde< <⎧

= ⎨⎩

Průběhy všech výše uvedených parametrů jsou před dalším zpracováním normalizovány do intervalu 0,1 .

Blokový diagram vlastního automatického segmentátoru je znázorněn na obr. 6.2.

Ve druhém kroku automatické segmmentace je prováděna vlastní segmentace pomocí klasického algoritmu borcení časové osy (DTW) s použitím matice akumulovaných vzdáleností D (viz 6.9).

D =

(1, ) (2, ) ( , )(1, 1) (2,1) ( , 1)

( , )(1, 2) (2,2) ( , 2)(1,1) (2,1) ( ,1)

D J D J D I JD J D D I J

D i jD D D ID D D I

⎛ ⎞⎜ ⎟− −⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

L

L

M M M

L

L

(6.9)

kde I . . . počet rámců signálu 1 (např. přirozený řečový signál), J . . . počet rámců signálu 2 (např. referenční syntetický řečový signál).

Tento DTW algoritmus používá váhovací koeficienty symetrické formu bortící funkce [SAK78]. Váhovací koeficienty pro symetrickou formu bortící funkce jsou znázorněny na obr. 6.3.

Obr. 6.2 Blokové schéma automatického segmentátoru řeči.

Page 62: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

62

Na počátku DTW algoritmu jsou krajní prvky matice vzdáleností inicializovány dle vztahů 6.10 – 6.12. Ostatní prvky matice vzdáleností jsou vypočítány dle vztahu 6.13 [SAK78].

( )( )( )

(1,1) (1), (1)

( ,1) ( 1,1) ( ), (1) 1

(1, ) (1, 1) (1), ( ) 1

D d x y

D i D i d x i y i I

D j D j d x y j j J

=

= − + =

= − + =

K

K

(6.10)

(6.11)

(6.12)

( )( )

( )

( 1, ) ( ), ( )

( , ) ( 1, 1) ( ), ( )

( , 1) ( ), ( )

1 ; 1

D i j d x i y j

D i j MIN D i j d x i y j

D i j d x i y j

i I j J

⎛ ⎞− +⎜ ⎟

= − − +⎜ ⎟⎜ ⎟⎜ ⎟− +⎝ ⎠

= =K K

(6.13)

kde d(x(i),y(j)) . . . vzdálenost mezi i-tým rámcem prvního signálu a j-tým rámcem druhého signálu (viz vztah 6.14)

MIN(*) . . . funkce počítající minimální vzdálenost. Výsledná vzdálenost d(x,y) je váhovaným součtem kepstrální vzdálenosti, energetické vzdálenosti a vzdálenosti počtu průchodů nulou. Tato vzdálenost se používá k porovnání rámce přirozeného signálu x s rámcem referenčního syntetického signálu y (vztah 6.14).

( ) ( )

( ) ( )

( ) ( )( )

20

0

2 2

02 2

2

, ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( )

cep

cep

n

i ii

n

i ii

d x y c x c y

c x c y E x E y

E x E y Z x Z y

Z x Z y

α

β γ

δ ϕ

η

=

=

= − +

+ Δ − Δ + − +

+ Δ − Δ + − +

+ Δ − Δ

∑ (6.14)

Empiricky byly zjištěny nejlepší hodnoty váhovacích koeficientů pro 20 ms rámce s překryvem n = 0.7 (14 ms), vzorkovacím kmitočtem 8 kHz a řádu lineární predikce M = 8 takto:

α = 1.5; β = 1.25; γ = 1.5; δ = 1; ϕ = 1; η = 1.5 prahová hodnota počtu průchodů nulou kz = -20000.

Příklad akumulované distanční matice je na obr. 6.4.

Obr. 6.3 Váhovací koeficienty w pro symetrickou formu bortící funkce.

Page 63: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

63

6.2.3 Testování automatické segmentace

Automatický segmentátor, popsaný v předchozím odstavci, byl testován na větách z řečového korpusu (viz článek 6.1 a příloha A). Byl použit jeden soubor vět mužského hlasu „Machač1“ a jeden soubor vět ženského hlasu „Jana“. Každý mluvčí namluvil 72 vět obsahujících celkem 4066 hlásek. Výsledky automatické segmentace byly potom porovnávány s ruční segmentací stejného materiálu. Chyby přesnosti segmentace byly stanovovány pro začátek každé hlásky, které byly pro tyto účely rozděleny do deseti kategorií uvedených v tabulce 6.1.

Tab. 6.1 Rozdělení českých hlásek pro účely testování automatické segmentace

označ. kategorie

vow krátké a dlouhé vokály [a,,,,,a:,e:,i:,o:,u:] exv znělé explozívy [b,d,,] exu neznělé explozívy [p,t,c,k] frv znělé frikatívy [v,z,,,,r] fru neznělé frikatívy [f,s,,x,r] afv znělé afrikáty [dz,d] afu neznělé afrikáty [ts,t] liq likvidy [r,l] app aproximanta [j] nas nazály [m,,n,,]

Chyby automatického určení začátku hlásek jako funkci jejich absolutní hodnoty v milisekundách můžeme

vidět v tabulce 6.2. Chyby automatického určení trvání hlásek jako funkci jejich absolutní hodnoty v milisekundách vidíme v tabulce 6.3. Tabulka 6.4 nám pak ukazuje absolutní i procentuální zastoupení hlásek v jednotlivých kategoriích. Chyby automatického určení začátku hlásek a automatického určení trvání hlásek pro ženský hlas jsou uvedeny v tabulkách 6.5 a 6.6. Je zajímavé, že ve většině případů jsou výsledky automatické segmentace ženského hlasu lepší než výsledky automatické segmentace hlasu mužského, a to i přesto, že pro

Obr. 6.4 Ukázka DTW algoritmu na matici akumulovaných vzdáleností.

Page 64: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

64

generování srovnávacích promluv byla použita syntéza mužského hlasu. V tabulce 6.7 jsou uvedeny průměrné délky hlásek v jednotlivých kategoriích pro mužský a ženský hlas při automatické i manuální segmentaci, které jsou rovněž vyobrazeny na obr. 6.5.

Tab. 6.2 Procentuální výskyt chyb segmentace začátků hlásek pro mužský hlas

t [ms] < 5 < 10 < 20 < 30 < 40 < 50 ≥ 50nall [%] 19.3 37.6 64.5 79.4 86.3 95.2 4.8nvow [%] 19.1 35.5 61.2 76.0 83.0 95.0 5.0nexv [%] 21.5 45.0 75.7 87.4 91.2 95.9 4.1nexu [%] 21.2 42.2 73.5 86.7 93.1 97.9 2.1nfrv [%] 20.9 41.4 68.9 83.6 91.4 95.9 4.1nfru [%] 11.5 26.2 54.4 74.1 87.2 96.7 3.3nafv [%] 0.0 10.0 40.0 70.0 70.0 100.0 0.0nafu [%] 26.1 51.1 75.0 88.0 92.4 100.0 0.0nliq [%] 18.5 37.6 66.5 85.3 91.2 98.1 1.9napp [%] 13.5 27.0 52.7 76.4 83.8 92.6 7.4nnas [%] 22.9 42.5 63.3 73.5 79.3 86.2 13.8

Tab. 6.3 Procentuální výskyt chyb segmentace trvání hlásek pro mužský hlas

t [ms] < 5 < 10 < 20 < 30 < 40 < 50 ≥ 50nall [%] 19.4 37.5 64.8 80.0 87.2 90.9 9.1nvow [%] 19.1 35.7 61.5 76.4 83.7 87.6 12.4nexv [%] 21.5 45.4 75.7 87.4 91.2 94.0 6.0nexu [%] 21.2 42.2 73.5 86.9 93.2 95.9 4.1nfrv [%] 21.3 41.8 69.3 84.0 91.8 94.7 5.3nfru [%] 11.5 26.2 54.8 74.4 87.5 93.8 6.2nafv [%] 0.0 10.0 40.0 70.0 70.0 80.0 20.0nafu [%] 26.1 51.1 75.0 88.0 92.4 97.8 2.2nliq [%] 18.5 37.6 66.8 85.9 92.8 95.0 5.0napp [%] 14.2 27.7 53.4 77.7 85.8 89.2 10.8nnas [%] 23.2 43.4 64.9 76.5 83.4 87.6 12.4

Tab. 6.4 Počet výskytů hlásek v jednotlivých kategoriích

kategorie hlásek počet výskytů poměrný výskyt [%] celkem 4066 100.0 krátké a dlouhé vokály 1736 42.7 znělé explozívy 317 7.8 neznělé explozívy 533 13.1 znělé frikatívy 244 6.0 neznělé frikatívy 305 7.5 znělé afrikáty 10 0.2 neznělé afrikáty 92 2.3 likvidy 319 7.8 aproximanta 148 3.6 nazály 362 8.9

Page 65: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

65

Tab. 6.5 Procentuální výskyt chyb segmentace začátků hlásek pro ženský hlas

t [ms] < 5 < 10 < 20 < 30 < 40 < 50 ≥ 50nall [%] 22.4 40.5 66.0 80.3 87.1 95.5 4.5nvow [%] 20.9 38.6 63.2 77.4 84.1 94.6 5.4nexv [%] 31.5 55.5 81.1 89.6 94.6 97.2 2.8nexu [%] 24.0 42.2 70.4 85.4 91.4 97.9 2.1nfrv [%] 29.9 53.7 75.8 86.9 93.0 97.1 2.9nfru [%] 10.8 21.3 52.1 74.4 87.9 96.4 3.6nafv [%] 20.0 50.0 80.0 100.0 100.0 100.0 0.0nafu [%] 32.6 58.7 82.6 90.2 94.6 100.0 0.0nliq [%] 26.3 48.6 75.2 90.3 95.3 98.7 1.3napp [%] 23.6 37.8 58.1 76.4 82.4 93.2 6.8nnas [%] 17.7 30.4 55.2 69.1 76.2 89.2 10.8

Tab. 6.6 Procentuální výskyt chyb segmentace trvání hlásek pro ženský hlas

t [ms] < 5 < 10 < 20 < 30 < 40 < 50 ≥ 50nall [%] 22.5 40.7 66.4 81.0 88.1 91.9 8.1nvow [%] 21.0 38.9 63.6 77.9 85.0 89.5 10.5nexv [%] 31.9 55.8 81.4 90.2 95.3 97.2 2.8nexu [%] 24.0 42.2 70.4 85.7 92.1 95.5 4.5nfrv [%] 29.9 53.7 75.8 87.3 93.4 95.9 4.1nfru [%] 11.1 21.6 52.5 74.8 88.5 93.1 6.9nafv [%] 20.0 50.0 80.0 100.0 100.0 100.0 0.0nafu [%] 32.6 58.7 82.6 90.2 94.6 96.7 3.3nliq [%] 26.3 48.9 75.5 90.6 96.2 97.8 2.2napp [%] 23.6 38.5 59.5 79.1 85.1 89.9 10.1nnas [%] 17.7 30.4 56.1 71.0 79.3 84.3 15.7

Tab. 6.7 Průměrné délky hlásek v jednotlivých kategoriích pro mužský a ženský hlas při automatické a manuální segmentaci.

mužský hlas ženský hlas kategorie hlásek manu auto manu auto

celkem 84.7 88.0 77.0 79.2 krátké a dlouhé vokály 83.3 82.9 81.6 81.3 znělé explozívy 77.6 72.9 69.6 65.7 neznělé explozívy 88.4 87.5 78.4 76.9 znělé frikatívy 78.2 95.8 66.5 72.7 neznělé frikatívy 113.7 129.8 90.4 105.2 znělé afrikáty 120.0 141.7 99.9 108.9 neznělé afrikáty 126.0 127.3 113.5 115.1 likvidy 59.3 63.2 48.4 50.3 aproximanta 74.0 77.2 61.8 65.6 nazály 87.5 101.1 76.8 88.2

Jak je patrné z výše uvedených tabulek, jsou chyby segmentace z běžných skupin nejmenší pro krátké

a dlouhé samohlásky. Dobré výsledky mají také neznělé explozívy, pravděpodobně proto, že spektrální obraz

Page 66: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

66

těchto hlásek je poměrně odlišný od ostatních hlásek, s jasným uzavřením na začátku a s explozí, jež je většinou separována od následující hlásky. Chyby u frikatív jsou způsobeny nejspíše tím, že iniciální i finální části frikatív přecházejí na rozdíl od explozív v sousední hlásku plynule a to zejména jedná-li se o samohlásku. Výsledky znělých afrikát nemají z důvodu jejich malé četnosti velkou vypovídací hodnotu.

Algoritmus automatické segmentace se ukázal být velmi robustní na výskyt chyb ve fonetické transkripci. V místech, kde se syntetická a přirozená promluva neshodují, algoritmus přeskočí nestejné partie a pokračuje znovu od místa shody obou promluv. Využití vyvinuté automatické segmentace spočívá především ve vytváření prozodicky označkovaných databází, které jsou potřeba pro další výzkum v oblasti modelování prozodie [HOR01a]. Na obr. 6.6 je uveden příklad automatické segmentace řeči. V horní polovině obrázku je znázorněna syntetická řeč s vyznačenými hranicemi hlásek (jedná se o větu „Výsledek nebude přesný, protože nemáme jiné údaje“). V dolní polovině obrázku pak vidíme přirozenou promluvu, ve které byly vyznačeny hranice hlásek pomocí algoritmu automatické segmentace.

Algoritmus automatické segmentace byl rovněž ověřen implementací systému umožňujícího transplantaci průběhu základního tónu řeči z jedné promluvy na druhou (promluvy se liší pouze prozodicky), a to buď z přirozené promluvy na syntetickou, anebo z jedné přirozené promluvy na druhou přirozenou promluvu [HOR00a]. Bloková struktura tohoto systému je zobrazena na obr. 6.7.

Obr. 6.5 Průměrné délky hlásek v jednotlivých kategoriích pro mužský a ženský hlas při automatické a manuální segmentaci (viz tab. 6.6).

Obr. 6.6 Ukázka automatické segmentace. Nahoře je syntetická řeč s vyznačenými hranicemi hlásek, dole pak přirozená promluva s automaticky vyznačenými hranicemi hlásek.

Page 67: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

67

Výsledky testování algoritmu automatické segmentace ukazují, že jeho přesnost je dostatečná pro vytváření prozodicky označkovaných databází a pro použití v systému umožňujícího transplantaci intonační kontury. Pro automatické vytváření nových řečových inventářů pomocí popisovaného automatického segmentátoru je nutná ještě manuální korekce automaticky provedené segmentace. Pro předzpracování korpusu určeného k vytváření řečových inventářů je to však nástroj velmi užitečný [HOR00a,b].

Současné automatické segmentátory jsou většinou založeny na použití skrytých Markovských řetězců (Hidden Markov Models – HMM), jejichž použití na automatickou segmentaci češtiny je popsáno např. v [NOU00]. Při použití HMM pro automatickou segmentaci řeči je nutno nejprve systém „natrénovat“ na známá data. V současnosti máme k dispozici referenční inventář (tj. inventář s informací o hranicích suprasegmen-tálních celků) pouze pro vzorkovací kmitočet 8 kHz. Mnohem širší využití automatického segmentátoru umožní teprve přidání informace o hranicích suprasegmentálních celků do nových trifonových inventářů se vzorkovacím kmitočtem 16 a 32 kHz. 6.3 Porovnání vlastností LPC intonačního modelu s Fujisakiho modelem

Jak bylo popsáno v odstavci 2.6.7, generuje Fujisakiho intonační model průběh základního tónu řeči v oblasti logaritmu kmitočtu. Průběh základního tónu řeči je zde získán jako lineární superpozice globální (úsekové) a lokální (přízvukové) složky. Tyto složky tvoří výstupní signály dvou lineárních systémů druhého řádu, jejichž vstupy tvoří dvě různé funkce: úsekové impulsy (phrase commands) a přízvukové pulsy (accent commands). LPC intonační model oproti tomu generuje přímo průběh základního tónu řeči na základě jediného buzení.

Z toho vyplývá, že Fujisakiho intonační model může poměrně přesně popisovat intonaci větších větných celků, neboť úseková deklinace je zde dobře ošetřena globální (úsekovou) složkou. Oproti tomu je LPC intonační model spíše ekvivalentem lokální (přízvukové) složky Fujisakiho intonačního modelu. Pro použití LPC intonačního modelu pro popis delších vět a souvětí by bylo vhodné doplnit LPC intonační model o složku úsekové deklinace.

Z výpočetního hlediska je určení parametrů LPC intonačního modelu mnohem jednodušší než určení parametrů Fujisakiho intonačního modelu, neboť intonační kontura na výstupu Fujisakiho intonačního modelu je dána superpozicí dvou složek, které není jednoduché zpětně oddělit. V praxi se pro určování parametrů Fujisakiho intonačního modelu používají nejčastěji několikaprůchodové optimalizační algoritmy založené na minimalizaci střední kvadratické chyby. Jedna z těchto metod, vycházející z [MIX00], byla implementována také do systému SpeechStudio. Určení parametrů lineárně predikčního intonačního modelu je oproti tomu poměrně jednoduché, neboť není nutné od sebe oddělovat dvě složky. Toto bude platit i v případě rozšíření lineárně predikčního intonačního modelu o jednoduše konstruovanou (nejlépe lineární) úsekovou složku.

Oba modely umožňují zjednodušit popis větné intonační kontury, výhoda lineárně predikčního modelu spočívá v jednodušším určení parametrů modelu (analýze), nevýhodou lineárně predikčního modelu je naopak absence popisu intonace větších celků (věty, souvětí).

Obr. 6.7 Blokové schéma nástroje na transplantaci průběhu základního tónu z jedné promluvy na druhou.

Page 68: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

68

6.4 Implementace LPC a Fujisakiho intonačního modelu do systému SpeechStudio

SpeechStudio je programový nástroj určený pro zpracování řečových signálů na počítači, který se postupně vyvíjí od r. 1996. V současné době umožňuje náhled na řečový signál, umísťování a editaci značek, analýzu řeči v časové i kmitočtové oblasti, změnu prozodie a v neposlední řadě také vytváření řečových databází pro účely syntézy řeči. Základní grafické uživatelské rozhraní systému SpeechStudio můžeme vidět na obr. 6.8.

V rámci této práce byl systém SpeechStudio rozšířen o možnost pracovat s Fujisakiho intonačním modelem včetně automatického určení parametrů Fujisakiho modelu pro danou promluvu a také o možnost analýzy a syntézy průběhu základního tónu řeči pomocí lineární predikce včetně aproximace zbytkového signálu intonačního lineárního prediktoru. Systém SpeechStudio je schopen provádět analýzu a následnou resyntézu řečového signálu pomocí lineárně predikčního modelování řečového signálu, pomocí kepstrálního modelování řečového signálu (syntéza řeči ve kmitočtové oblasti) nebo pomocí metody TD-PSOLA (syntéza řeči v časové oblasti). Výsledné promluvy můžeme tedy ozvučovat pomocí tří různých způsobů řečové syntézy, z nichž poslechově nejkvalitnější je v současné době metoda PSOLA [MOU00]. Pro resyntézu řečového signálu metodou TD-PSOLA je však nejprve nutné označit v řečovém signálu hlasivkové pulsy pomocí algoritmu popsaného v odstavci 4.2.2.

Systém SpeechStudio ukládá značky do standardního formátu RIFF s příponou „.wav“. Značky představují buď vzorky signálu (markers) nebo oblasti signálu (regions). Každý záznam o značce obsahuje typ značky, název značky, počáteční vzorek značky, délku značky a barvu značky. SpeechStudio v současné době rozlišuje 11 základních druhů standardních značek uspořádaných v tabulce 6.8. Do systému je však možné přidávat libovolné nové druhy značek. Vlastní značky mohou být importovány i exportovány také v textovém tvaru za účelem spolupráce s různými druhy software.

Pro účely buzení Fujisakiho modelu byl systém SpeechStudio rozšířen o typ značek „f_phrase“ pro úsekové budící impulsy a „f_accent“ pro přízvukové budící pulsy. Pro účely buzení lineárně predikčního intonačního modelu byl systém SpeechStudio rozšířen o typ značek „lp_exc“. Amplituda budících impulsů je vložena v podobě řetězce do názvu značky. Aby se předešlo problémům s desetinnou čákou či tečkou, je hodnota uložená v názvu značky vynásobena deseti. Grafické rozhraní systému SpeechStudio s implementovaným Fujisakiho

Obr. 6.8 Grafické uživatelské rozhraní systému SpeechStudio.

Page 69: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

69

intonačním modelem můžeme vidět na obr. 6.9. V horní části obrázku vidíme vlastní řečový signál spolu s vloženými úsekovými budící impulsy (červěná barva) a přízvukovými budící pulsy (modrá barva). Textový popis značek tvoří tisícinásobek hodnot amplitudy příslušných pulsů. Toto řešení bylo zvoleno z důvodu nejednotnosti užívání desetinné tečky/čárky v použitém software. V dolní části obrázku vidíme průběh základního tónu přirozené řeči a průběh základního tónu řeči na výstupu Fujisakiho modelu spolu se vstupními parametry tohoto modelu. Průběh základního tónu řeči, určený pomocí poloh hlasivkových pulsů, je znázorněn žlutou křivkou, která je ve znělých oblastech zvýrazněna černými křížky. V neznělých oblastech je hodnota základního tónu získána pomocí lineární interpolace.

Tab. 6.8 Přednastavené druhy značek v systému SpeechStudio

název druh barva účel značky unit oblast červená řečové jednotky pro vytváření inventáře sound oblast zelená hlásky syll oblast světle modrá slabiky word oblast tmavě modrá přízvukové takty colon oblast růžová intonační úseky sent oblast světle zelená věty a souvětí ppuls vzorek žlutá hlasivkové pulsy voiced oblast černá znělé oblasti f_phrase vzorek světle červená úsekové pulsy pro Fujisakiho intonační model f_accent oblast modrá přízvukové impulsy pro Fujisakiho intonační model lp_exc oblast oranžová budící pulsy pro lineárně predikční intonační model

Implementace lineárně predikčního intonačního modelu do systému SpeechStudio je znázorněna na obr.

6.10. V horní části opět vidíme vlastní řečový signál spolu s vloženými značkami budících pulsů lineárně predikčního modelu (oranžová barva), jejichž textový popis tvoří desetinásobek hodnot amplitudy příslušných

Obr. 6.9 Implementace Fujisakiho intonačního modelu v systému SpeechStudio.

Page 70: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

70

pulsů. V dolní části vidíme průběh základního tónu přirozené řeči a průběh základního tónu řeči na výstupu lineárně predikčního modelu spolu se vstupními parametry tohoto modelu. Modrou barvou je znázorněn chybový signál lineární predikce, jemuž odpovídá průběh základního tónu znázorněný černou křivkou. Pro případ buzení lineárně predikčního modelu jednotlivými pulsy je průběh intonační křivky na výstupu lineárně predikčního modelu znázorněn oranžovou křivkou.

Systém SpeechStudio je dále možné využít k manuální změně jednotlivých prozodických parametrů a především ke tvorbě nových řečových inventářů. V současné době je možné pomocí systému SpeechStudio vytvářet hlasové inventáře pro syntezátory systému Epos pracující na principu lineární predikce, metody TD-PSOLA a kepstrální syntézy. Ve fázi testování je rovněž vytváření hlasových inventářů na principu harmonické syntézy.

Pro získání průběhu základního tónu je v systému SpeechStudio použit detektor základního tónu pracující na principu polaritní autokorelace. Pro potřeby opakované detekce intonační křivky s co možná největší eliminací chyb je systém SpeechStudio vybaven automatickým označováním hlasivkových pulsů s možností manuální korekce. Označené hlasivkové pulsy je možné uložit v podobě značek spolu se signálem a opakovaně je využívat pro určování průběhu základního tónu. Další oblastí, kde je zapotřebí označených hlasivkových pulsů, je vytváření hlasových inventářů na základě pitch synchronního překrývání úseků signálu (metoda PSOLA).

Aktuální informace o systému SpeechStudio je možné najít na adrese http://sstudio.ure.cas.cz/, kde je možné rovněž získat aktuální verzi v binární podobě pro platformu Win32. Programový systém SpeechStudio motivoval vznik funkčně shodného otevřeného systému na platformě Linux/Gnome s názvem GTK WavEdit, který je možné získat na adrese http://wavedit.ure.cas.cz/. V praxi byla rovněž ověřena možnost používání systému SpeechStudio na Linuxové platformě pomocí projektu Wine. 6.5 Implementace rozšířeného klienta pro systém Epos

TTS systém Epos je založen na architektuře klient/server, jejíž jednotlivé komponenty spolu komunikují pomocí původního protokolu TTSCP podrobně popsaného v [HAN99]. Ve standardní distribuci systému Epos je obsažen klient pouze pro příkazovou řádku. Pro účely přehledné práce se systémem Epos byl implementován grafický klient tohoto systému s názvem „WinSay“. Tento klient umožňuje mimo zápisu textu ještě kontrolu fonetického přepisu včetně pomocných formátovacích znaků, výpis posloupnosti použitých řečových jednotek,

Obr. 6.10 Implementace lineárně predikčního intonačního modelu v systému SpeechStudio.

Page 71: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

71

volbu jazyka a příslušného hlasu, změnu prozodických hodnot a ovládání některých softwarových přepínačů (soft options) systému Epos. Grafické uživatelské roznhraní klienta WinSay je vyobrazeno na obr. 6.11.

Klient WinSay je napsán v jazyce C++ pro operační systémy Win32 kompatibilní a je možné jej získat v binární podobě přímo na domovské stránce projektu Epos. 6.6 Implementace ladícího modulu pro systém Epos

Při syntéze z psaného textu systémem Epos je nejprve textový zápis pomocí parseru převeden do tzv. vnitřní datové reprezentace, která je vhodná pro aplikaci pravidel a nazývá se TSR (Text Structure Representation). Každý fonetický útvar nebo jeho aproximace je zde reprezentován uzlem v této struktuře. Uzly jsou uspořádány v jednotlivých vrstvách odpovídajících lingvistické úrovni, kterou odpovídající vrstva popisuje. Hierarchie uspořádání jednotlivých vrstev je v systému Epos konfigurovatelná a pro češtinu je znázorněna v Tab. 6.9.

Tab. 6.9 Uspořádání úrovní TSR pro češtinu

název význam psané formy význam mluvené formy text celý text celý text sent větná konstrukce ukončená promluva colon věta intonační úsek word slovo přízvukový takt syll část slova slabika phone písmeno hláska segment – řečová jednotka

Na vnitřní datovou reprezentaci jsou aplikována jednotlivá prozodická pravidla. Pravidla jsou v systému Epos uložena v souboru s koncovkou .rul, přičemž každý jazyk má svůj soubor s pravidly, např. pro češtinu je to obvykle soubor cfg/lng/czech/czech.rul. Do tohoto souboru mohou být vkládány jiné soubory s pravidly a je tak možné vytvářet složitý a přitom přehledný systém pravidel. Základní přehled pravidel systému Epos je uveden v příloze C, podrobný přehled pravidel je možné nalézt v [EPOS].

Při psaní a testování nových pravidel je vhodné mít přehled o stavu vnitřní datové struktury systému Epos před a po vykonání určitého prozodického pravidla. Za tímto účelem byl navržen nástroj Epos TSR Tracking,

Obr. 6.11 Grafický klient TTS systému Epos.

Page 72: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

72

který využívá existující pravidlo DEBUG umožňující krokování jednotlivých pravidel. Syntaxe tohoto pravidla byla rozšířena o parametr TSRTOOL umožňující grafické zobrazení vnitřní datové struktury systému Epos s možností její editace. Grafický editační nástroj pro TSR strukturu se vyvolá zápisem „debug tsrtool“ v souboru s pravidly. Použijeme-li tento nástroj před a po zápisu určitého prozodického pravidla, můžeme pozorovat vliv tohoto pravidla na vnitřní datovou strukturu a tím i jeho funkčnost.

Grafické prostředí popisovaného nástroje je vyobrazeno na obr. 6.12. V levé části vidíme výpis TSR struktury systému Epos pro větu „Vlak dnes nejede.“, ve které jsou barevně odlišeny různé prozodické úrovně od jednotlivých hlásek až po celý text. V pravé části je možné volit viditelnost jednotlivých prozodických vrstev a je zde také statistika jejich četnosti.

Pro snadnou implementaci nástroje Epos TSR Tracking byl v souboru cfg/lng/czech/czech.ini definován softwarový přepínač „tsr_tool(b)=false“, jehož ovládání bylo rovněž zabudováno do grafického prostředí klienta WinSay, viz. obr. 6.11. Pro zobrazení struktury TSR je pak nutné pouze v souboru s pravidly zapsat kód if tsr_tool { debug tsrtool text }

a u klienta WinSay aktivovat přepínač „TSR Tool“.

Nástroj Epos TSR Tracking je vytvořen jako DLL knihovna tsrtool.dll pro platformu Win32. Pokud při zpracování pravidel narazí systém Epos na zápis „debug tsrtool“, předá ukazatel na datovou strukturu TSR právě zpracovávaného textu DLL knihovně, která tuto strukturu zobrazí a umožní její editaci. Po skončení editace knihovna předá řízení zpět systému Epos, který pokračuje v aplikaci pravidel na modifikovanou strukturu TSR. Knihovnu tsrtool.dll, která je napsána v jazyce C++, je možné rovněž získat na stránkách projektu Epos.

Obr. 6.12 Nástroj pro výpis a modifikaci vnitřní datové struktury systému

Page 73: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

73

6.7 Syntéza řeči s použitím generování základního tónu pomocí lineární predikce

Pro implementaci lineárně predikčního intonačního modelu v TTS systému Epos musel být nejprve tento systém modifikován a rozšířen na základě výsledků popsaných v kap. 4 a 5. Do řečového syntezátoru tdpsyn byl implementován lineárně predikční intonační model a modelování základního tónu na základě analýzy textu bylo nahrazeno modelováním buzení lineárně predikčního intonačního modelu. Blokové schéma upraveného TTS systému Epos s použitím generování základního tónu pomocí lineární predikce je na obr. 6.13 (modře označené bloky byly přidány). Z tohoto obrázku je patrné, že u jednotek ve vnítřní datové reprezentaci systému Epos je parametr f využit pro přenos buzení lineárně predikčního intonačního modelu namísto hodnot základního tónu. V části vlastní řečové syntézy je toto buzení nejprve vedeno do LPC syntezátoru, jehož výstup je, po průchodu filtrem, použit k nastavení periody řečového syntezátoru. Výpis kódu upraveného řečového syntezátoru tdpsyn pro systém Epos používající lineárně predikční intonační model je uveden v příloze F. Pro ilustraci je uveden v příloze G výpis zjednodušených pravidel pro fonetický přepis češtiny (soubor trans.rul). Výpis původních pravidel pro přímé modelování intonační kontury pomocí pravidel je uveden v příloze H a výpis nových pravidel pro modelování buzení lineárně predikčního intonačního modelu je uveden v příloze I.

6.7.1 Návrh pravidel pro buzení lineárně predikčního intonačního modelu

Pravidla pro generování buzení lineárně predikčního intonačního modelu pracují tak, že text je nejprve rozdělen na intonační úseky, přičemž každý intonační úsek je zařazen do patřičné kategorie. Na základě struktury tohoto intonačního úseku je následně vygenerován budící signál, který je odeslán do syntezátoru. Pro vlastní vytváření buzení je využito pravidlo contour, které je použito i pro přímé modelování intonačních kontur, viz. příloha H. Toto pravidlo nanáší na cílové jednotky uvnitř zasažené jednotky přímo definovanou prozodickou konturu (viz. příloha C), ale nechová se aditivně, tj. naneseme-li na stejnou jednotku jinou prozodickou konturu, tato nová kontura přepíše starou.

Pro potřeby modelování buzení lineárně predikčního intonačního modelu se ukázalo nezbytné modifikovat systém Epos tak, aby umožňoval aditivní chování pravidla contour při zachování možnosti použít původní chování pro jiné způsoby modelování prozodie. Jelikož vlastní realizace pravidla contour ve zdrojovém souboru src/unit.cc již s možností aditivního chování počítá, bylo nutné zavést novou, hlasově závislou, logickou proměnnou do souboru options.lst umožňující volbu chování pravidla contour pomocí zápisu: VOICE_OPTION (additive_cont, additive_cont, "additive_cont", BOOL, false)

Tímto kódem jsme vlastně definovali na hlasu závislý přepínač additive_cont, který je standartně vypnutý a před syntézou pomocí LP intonačního modelu je nutné jej aktivovat. Dále bylo nutné upravit volání pravidla contour ve zdrojovém souboru src/rule.cc pomocí zápisu: void r_contour::apply(unit *root) { root->contour(target, contour, l, padd_start, quantity, this_voice->additive_cont); }

Podobný problém budeme řešit při volbě souboru s prozodickými pravidly. Z tohoto důvodu byla v souboru options.lst definována ještě logická, hlasově závislá, proměnná lpcprosody pomocí zápisu: VOICE_OPTION (lpcprosody, lpcprosody, "lpcprosody", BOOL, false)

Obr. 6.13 TTS systém s použitím generování základního tónu pomocí lineární predikce.

Page 74: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

74

V souboru s pravidly pro češtinu (czech.rul) je pak volba prozodie zapsána takto: if use_prosody { if lpcprosody { @include "lpcpros.rul" } if !lpcprosody { if naive_prosody { @include "naive.rul" } if !naive_prosody { @include "prosody.rul" } } }

Bude-li proměnná lpcprosody kladná použije se soubor s pravidly pro modelování buzení lineárně predikčního modelu „lpcpros.rul“.

V souboru lpcpros.rul jsou intonační úseky rozděleny na různé typy podle různých hledisek. Podle polohy se rozlišují úseky na iniciální, mediální, finální ukončené a finální neukončené, podle typu věty pak na oznamovací, otázku zjišťovací a otázku doplňovací. Původní pravidla systému Epos pro češtinu nerozlišují mezi větou oznamovací a otázkou doplňovací, používají jen dva typy vět. Otázka doplňovací byla zavedena pod typem „D“ (ostatní typy byly převzaty z původních prozodických pravidel). 6.7.2 Realizace lineárně predikčního intonačního modelu v syntezátoru

V současné době poskytuje nejkvalitnější syntézu češtiny v systému Epos syntezátor v časové oblasti tdpsyn. Z tohoto důvodu byl lineárně predikční intonační model nejprve realizován pro tento syntezátor, jehož kód je uložen v souboru src/tdpsyn.h a src/tdpsyn.cc, jehož výpis je uveden v příloze F.

Pro rozlišení způsobu modelování prozodie se zde rovněž používá hlasově závislá proměnná lpcprosody, např. kód pro inicializaci proměnných, lineárně predikčního syntetizujícího filtru a výstupního filtru vyhlazují-cího intonační konturu bude v konstruktoru třídy tdpsyn vypadat takto: if (v->lpcprosody) { int i; for (i = 0; i < LPC_PROS_ORDER; lpfilt[i++] = 0); for (i = 0; i < MAX_OFILT_ORDER; ofilt[i++] = 0); sigpos = 0; lppstep = LP_F0_STEP * v->samp_rate / 1000; lpestep = LP_DECIM * lppstep; basef0 = v->init_f; lppitch = v->samp_rate / basef0;; }

Základním parametrem je proměnná lppstep udávající periodu výpočtu hodnoty základního tónu z výstupu lineárně predikčního intonačního modelu ve vzorcích. Tato proměnná se vypočítá při inicializaci na základě vzorkovacího kmitočtu použitého hlasového inventáře a deklarované proměnné LP_F0_STEP udávající periodu výpočtu základního tónu v milisekundách. Obvyklá hodnota periody výpočtu hodnoty základního tónu je 8 ms. Pro názornost jsou deklarované proměnné pro lineárně predikční model uvedeny v Tab. 6.10.

Tab. 6.10 Deklarace proměnných pro lineárně predikční intonačnmí model v souboru tdpsyn.cc

#define LP_F0_STEP 8 /* step of F0 analysis for linear prediction */ #define LP_DECIM 10 /* F0 analysis decimation coeff. for linear prediction */ #define LP_F0_ORD 4 /* order of F0 contour LP analysis */ #define F0_FILT_ORD 9 /* F0 contour filter order */ #define LP_EXC_MUL 1.0 /* LP excitation multipicator */ Proměnná lpestep udává periodu výpočtu hodnoty základního tónu pomocí lineárně predikčního intonačního modelu a je učena při inicializaci pomocí proměnné lppstep a deklarované proměnné LP_DECIM udavající decimační poměr lineárně predikčního intonačního modelu. Deklarovaná proměnná LP_F0_ORD udává řád predikce lineárně predikčního intonačního modelu a nabývá obvykle hodnoty 4, proměnná F0_FILT_ORD

Page 75: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

75

pak udává řád výstupního filtru vyhlazujícího intonační konturu. Pomocí proměnné LP_EXC_MUL můžeme ovlivňovat dynamiku výstupní intonační kontury. Sandartně je tato multiplikativní konstanta rovna jedné.

Page 76: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

76

Page 77: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

77

7 Celkový přínos práce

Dříve, než přistoupím ke shrnutí výsledků této práce, bych chtěl zdůraznit, že jejím cílem nebylo úplné vyřešení problematiky modelování prozodie řeči pomocí lineární predikce, ale ověření možnosti použití této metody modelování intonace a naznačení směru dalšího rozvoje a praktického použití této metody.

Z tohoto pohledu se domnívám, že cíle práce byly splněny, a dosažené výsledky lze stručně popsat v následujících bodech:

● Byl realizován lineárně predikční kodér a dekodér průběhu základního tónu řeči a byla ověřena jeho funkčnost v praxi implementací do řečových LPC a TD-PSOLA vokodérů. Tento LPC kodér/dekodér průběhu základního tónu řeči byl nejprve, včetně řečových vokodérů, ověřen v prostředí Matlab a následně implementován do systému SpeechStudio. LPC kodér/dekodér průběhu základního tónu řeči s oběma řečovými vokodéry byl následně testován na všech větách z prozodické databáze. Rozdíl mezi přirozenou konturou základního tónu a konturou resyntetizovanou pomocí lineárního prediktoru se ukázal u tohoto LPC kodéru/dekodéru průběhu základního tónu řeči z percepčního hlediska zanedbatelný.

● Byly ověřovány různé způsoby aproximace zbytkového signálu a jejich vliv na výsledné kvalitě řeči. Na základě získaných výsledků byly optimalizovány parametry LPC kodéru a dekodéru průběhu základního tónu řeči s ohledem na minimální složitost a maximální kvalitu řeči. Pro účely hodnocení použité aproximace zbytkového signálu lineárního prediktoru byla použita střední kvadratická chyba průběhu základního tónu po resyntéze pomocí lineární predikce.

● Byly zkoumány prozodicky relevantní závislosti zbytkového signálu lineární predikce průběhu základního tónu řeči pomocí řečové databáze s automaticky vloženými značkami hranic suprasegmentálních celků. Z výsledků vyplývá, že buzení lineárně predikčního intonačního modelu je nutné provádět na úrovni jednotlivých slabik. Výsledky ukazují, že v další práci je nutné se zaměřit na víceprůchodové optimalizační algoritmy umožňující aproximaci zbytkového signálu lineární predikce s výslednou minimalizovanou střední kvadratickou chybou resyntetizované intonační kontury.

● Byla testována možnost využití LPC analýzy průběhu základního tónu řeči pro tvorbu nových prozodických pravidel. Pro využití zbytkového signálu lineární predikce pro návrh prozodických pravidel je nutné buď implementovat lexikální analýzu psaného textu, což je problém pro češtinu dosud nevyřešený, nebo využít zbytkový signál lineární predikce pro natrénování umělé neuronové sítě. Na vstupy neuronové sítě by byly přivedeny informace o hranicích suprasegmentálíí a jejich vzájemné četnosti a neuronová síť by byla trénována na zbytkový signál lineárního prediktoru. Po skončení trénovací fáze by neuronová síť generovala přímo budící signál lineárně predikčního syntetizujícího filtru, na jehož výstupu by se objevil průběh základního tónu syntetické promluvy. Na modelování buzení lineárně predikčního intonačního modelu umělou neuronovou sítí se v současné době pracuje, ale jeho podrobný popis přesahuje rámec této práce.

● Byla ověřena možnost automatické generace zbytkového signálu lineární predikce z psaného textu za účelem použití LPC modelování při automatické syntéze řeči z psaného textu. Lineárně predikční intonační model, navržený v rámci této práce, byl implementován do syntezátoru řeči v časové oblasti TDPSYN pracující na principu TD-PSOLA. Modul syntézy TDPSYN, který je součástí systému Epos, poskytuje, ve spojení s trifonovými inventáři vytvořenými v ÚRE, v současné době nejkvalitnější syntézu češtiny.

TTS systém Epos byl v rámci této práce rozšířen o podporu LPC intonačního modelu na úrovni pravidel. Pro účely přehledné práce se systémem Epos byl implementován grafický klient tohoto systému s názvem „WinSay“ umožňující mimo jiné přehlednou volbu jazyka, příslušného hlasu a změnu prozodických hodnot. Pro účely ladění pravidel pro systém Epos byl v rámci této práce vytvořen softwarový nástroj „Epos TSR Tracking“ umožňující zobrazení a modifikaci vnitřní datové struktury systému Epos během provádění jednotlivých pravidel, což se ukázalo nezbytné při vytváření pravidel budících lineárně predikční intonační model.

Pro modelování buzení lineárně predikčního intonačního modelu v systému Epos byla navržena první verze pravidel. Tato pravidla pro buzení lineárně predikčního intonačního modelu byla dále odladěna pomocí testovací prozodické databáze vytvořené v rámci této práce a na základě subjektivních poslechových testů je možné prohlásit, že poskytují přirozenější prozodii než původní pravidla standartně obsažená v distribuci systému Epos modelující přímo intonační konturu. Pravidla pro buzení lineárně predikčního intonačního modelu navíc řeší intonaci otázek doplňovacích, kterou původní pravidla vůbec neřešila. TTS systém Epos s prozodií řízenou pomocí lineárně predikčního intonačního modelu je v současné době testován renomovanou firmou pro praktické komerční nasazení s kladným ohlasem na kvalitu modelování prozodie.

Využití LPC intonačního modelu do budoucna se zdá být perspektivní především ve spojení s umělými neuronovými sítěmi, neboť budící signál pro syntetizující filtr lineárně predikčního intonačního modelu je

Page 78: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

78

mnohem jednodušší než výsledný průběh základního tónu. Při použití více umělých neuronových sítí pro jednotlivé typy intonačních úseků pro generování budícího signálu pro syntetizující filtr lineárně predikčního intonačního modelu je úloha pro jednotlivé neuronové sítě mnohem jednodušší a jednoznačnější, než při použití jediné složité neuronové sítě přímo pro generování průběhu základního tónu řeči. Použití neuronových sítí pro buzení prozodických intonačních modelů je jednou z oblastí, které bych se chtěl ve své další práci intenzivně věnovat.

Výzkum prozodických modelů, popsaný v této práci, má velký význam pro další vývoj v oblasti modelování prozodie češtiny. Na tento výzkum přímo navazuje (a z jeho výsledků čerpá) grant „Hlasové technologie v pod-poře informační společnosti“ Grantové agentury České republiky č. 102/02/0124 na léta 2002 až 2004.

Tato práce vznikla za finanční podpory Grantové agentury České republiky v rámci grantu č. 102/96/K087 „Teorie a aplikace hlasové komunikace v češtině“ a Ministerstva školství mládeže a tělovýchovy v rámci projektu COST 258 „Přirozenost syntetické řeči“.

Page 79: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

79

8 Přílohy

Zde jsou uvedeny přílohy, na které odkazuji v textu práce.

8.1 Seznam příloh

A - Databáze namluvených vět B - Tabulka fonetického přepisu češtiny C - Přehled transkripčních a prozodických pravidel systému Epos D - Přehled vytvořených programů, podprogramů a funkcí E - Výpisy některých podprogramů a funkcí F - Výpis kódu TD-PSOLA syntezátoru s implementovaným modelováním prozodie pomocí lineární predikce G - Fonetická transkripce češtiny pro systém Epos H - Modelování prozodie češtiny pro systém Epos podle pravidel Prof. Palkové I - Modelování prozodie češtiny pro systém Epos pomocí lineárně predikčního modelu J - Popis přiloženého disku CD-ROM

Page 80: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

80

8.2 Příloha A – Seznam namluvených vět

Tab. A.1 Kategorie vět použitého prozodického korpusu

jednoduchá souvětí dvou vět souvětí tří vět věta

krátká dlouhá krátká dlouhá krátká dlouhá

d1k1 d1d1 d2k1 d2d1 d3k1 d3d1 d1k2 d1d2 d2k2 d2d2 d3k2 d3d2 otázka

doplňovací d1k3 d1d3 d2k3 d2d3 d3k3 d3d3 o1k1 o1d1 o2k1 o2d1 o3k1 o3d1 o1k2 o1d2 o2k2 o2d2 o3k2 o3d2 oznamovací o1k3 o1d3 o2k3 o2d3 o3k3 o3d3 r1k1 r1d1 r2k1 r2d1 r3k1 r3d1 r1k2 r1d2 r2k2 r2d2 r3k2 r3d2 rozkazovací r1k3 r1d3 r2k3 r2d3 r3k3 r3d3 z1k1 z1d1 z2k1 z2d1 z3k1 z3d1 z1k2 z1d2 z2k2 z2d2 z3k2 z3d2 otázka

zjišťovací z1k3 z1d3 z2k3 z2d3 z3k3 z3d3

Tab. A.2 Věty prozodického korpusu

o1k1 Vlak dnes nejede. o1k2 Jiné údaje nemáme. o1k3 Soubor je uložen. o1d1 Vlak z Pardubic do Plzně dnes odpoledne nejede. o1d2 Jiné podrobné údaje o kulturních akcích nemáme. o1d3 Soubor obsahující tabulky dat je uložen. o2k1 Trať se opravuje, a proto vlak dnes nejede. o2k2 Výsledek nebude přesný, protože nemáme jiné údaje. o2k3 Soubor je uložen a program bude ukončen. o2d1 Trať z Pardubic do Plzně se tento týden opravuje, a proto osobní vlak ve čtrnáct padesát nejede. o2d2 Výsledek našeho výpočtu nebude dost přesný, protože zatím nemáme k dispozici jiné přesné údaje. o2d3 Soubor obsahující tabulky dat je uložen a program bude po stisknutí klávesy Enter ukončen. o3k1 Trať se opravuje, a proto je provoz omezen a vlak dnes nejede. o3k2 Výsledek nebude tak přesný, jak jsme chtěli, protože nemáme jiné údaje. o3k3 Soubor je uložen, program bude ukončen a počítač se vypne. o3d1 Trať z Pardubic do Plzně se tento týden opravuje, a proto je dočasně omezen provoz mezi oběma městy,

dokud nebudou odstraněny následky prudkého deště. o3d2 Výsledek posledního výpočtu nebude tak přesný, jak jsme při zahajování výzkumného úkolu chtěli,

protože v současné době nemáme jiné přesné údaje. o3d3 Soubor obsahující úplné tabulky dat je uložen, program bude ukončen stiskem klávesy Enter a počítač se

po uložení ostatních programů vypne. z1k1 Vlak dnes nejede? z1k2 Jiné údaje nemáme? z1k3 Soubor je uložen? z1d1 Vlak z Pardubic do Plzně dnes odpoledne nejede? z1d2 Jiné podrobné údaje o kulturních akcích nemáme? z1d3 Soubor obsahující tabulky dat je uložen? z2k1 Vlak dnes nejede, protože se trať opravuje? z2k2 Výsledek není přesný, protože nemáme jiné údaje? z2k3 Bude program ukončen, když je soubor uložen? z2d1 Vlak z Pardubic do Plzně dnes nejede, protože se železniční trať opravuje po povodních u Berouna? z2d2 Výsledek našeho výpočtu není dost přesný, protože nemáme k dispozici jiné přesné údaje? z2d3 Bude program po stisknutí klávesy Enter ukončen, když je soubor obsahující tabulky dat uložen?

Page 81: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

81

z3k1 Vlak dnes nejede, protože se opravuje trať a pokládají koleje? z3k2 Výsledek není přesný, protože jiné údaje nemáme a výpočet byl přerušen? z3k3 Uloží se soubor, když je program ukončen a počítač se vypne? z3d1 Vlak z Pardubic do Plzně dnes odpoledne nejede, protože se opravuje trať po povodních u Berouna, o

kterých se mluvilo v ranním rozhlasovém vysílání? z3d2 Výsledek našeho výpočtu není dost přesný, protože nemáme k dispozici jiné přesné údaje? z3d3 Uloží se soubor obsahující tabulky dat, když je program na jejich zpracování ukončen a počítač se bez

uložení ostatních programů vypne? d1k1 Kudy jede vlak? d1k2 Jaké údaje máme? d1k3 Kam bude soubor uložen, ukončíte-li program? d1d1 Jak často jezdí osobní vlak z Pardubic do Plzně? d1d2 Jaké údaje o kulturních akcích v Praze máme? d1d3 Kam jste uložili soubor obsahující tabulky dat? d2k1 Kudy jede vlak, když se trať opravuje? d2k2 Jaké údaje použijete, aby byl výsledek přesný? d2k3 Kam bude soubor uložen, ukončíte-li program? d2d1 Kudy dnes jede vlak z Pardubic do Plzně, když se železniční trať opravuje po povodních u Berouna? d2d2 Jaké údaje o stavu zaměstnanců použijete, aby byl výsledek vašeho výpočtu dostatečně přesný? d2d3 Kam bude uložen soubor obsahující tabulky dat o zaměstnancích, ukončí-li se stiskem klávesy Enter

běžící program? d3k1 Kudy jede vlak, na který čekáme, když se opravuje trať? d3k2 Jaké údaje použijete, aby byl výsledek přesný a výpočet nebyl přerušen? d3k3 Kam bude soubor uložen, ukončíme-li program a vypneme počítač? d3d1 Kudy jede vlak převážející řezané dřevo, které bylo dočasně uskladněno v Loděnicích u Berouna, když se

trať po nedávných povodních opravuje? d3d2 Jaké údaje o stavu zaměstnanců použijete, aby byl výsledek vašeho výpočtu přesný a výpočet nebyl před

skončením poslední fáze přerušen? d3d3 Kam bude uložen soubor obsahující tabulky dat, ukončíme-li po stisku klávesy Enter program a vypneme

počítač bez uložení ostatních programů? r1k1 Vyhledejte spojení. r1k2 Zadejte své údaje nebo proveďte volbu. r1k3 Uložte tento soubor. r1d1 Vyhledejte spojení mezi Pardubicemi a Plzní dnes odpoledne. r1d2 Zadejte podrobné údaje o kulturních akcích v Praze. r1d3 Uložte urychleně soubor obsahující tabulky dat. r2k1 Vyhledejte spojení a vytiskněte je. r2k2 Zadejte své údaje nebo proveďte volbu. r2k3 Uložte tento soubor, dříve než ukončíte program. r2d1 Vyhledejte všechna dnešní spojení z Pardubic do Plzně a vytiskněte je v tabulce po potvrzení klávesou

Enter. r2d2 Zadejte pomocí klávesnice všechny své osobní údaje nebo proveďte myší volbu příslušné operace. r2d3 Uložte soubor obsahující úplné tabulky dat, dříve než ukončíte stiskem klávesy Enter běžící program. r3k1 Vyhledejte spojení, která nás zajímají, a vytiskněte je. r3k2 Zadejte své údaje nebo vyberte operaci, kterou si přejete provést. r3k3 Uložte tento soubor, dříve než ukončíte program, ve kterém jste pracovali. r3d1 Vyhledejte všechna dostupná vlaková spojení, která nás v dané situaci zajímají, a po stisku klávesy Enter

je vytiskněte. r3d2 Zadejte pomocí klávesnice své údaje nebo vyberte ze seznamu zobrazeného na obrazovce operaci, kterou

si přejete před ukončením programu provést. r3d3 Uložte soubor obsahující tabulky dat, dříve než stiskem klávesy Enter ukončíte program, ve kterém jste

po celou dobu výpočtu pracovali. n1_1 Univerzita Karlova patří bezesporu k nejstarším evropským univerzitám. n1_2 Významné postavení, které si vydobyla v kontextu evropských univerzit, však není neměnnou konstantou

a nelze je pojistit ani sebedokonalejším scénářem oslav šestistého padesátého výročí jejího založení. n1_3 Úroveň každé univerzity lze posuzovat z různých hledisek. n1_4 Jedním z nich zůstává úroveň absolventů, která je pochopitelně těsně svázána s úrovní učitelského sboru.

Page 82: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

82

n1_5 To je důvod, proč univerzity věnují mimořádnou pozornost výběru svých učitelů, především docentů a profesorů.

n1_6 Vedení naší univerzity se vyrovnalo s křivdami minulosti urychleným jmenováním nových docentů a profesorů v rámci rehabilitačního řízení.

n1_7 Po skončení rehabilitací bylo nutné jasná pravidla habilitačních a jmenovacích řízení nově stanovit. n1_8 Pokud pohlížíme na titul docenta a profesora jako na titul vědecko-pedagogický, je zřejmé, že uchazeč

musí naplňovat oba atributy. n1_9 Posoudit kvalitu i kvantitu obou činností bývá ovšem mimořádně obtížné zejména proto, že

vysokoškolský zákon žádná detailní kritéria pro habilitační či jmenovací řízení nestanoví.

Page 83: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

83

8.3 Příloha B – Tabulka fonetického přepisu češtiny

Tab. B.1 Fonetický přepis českých hlásek

Pořadí Název hlásky autorem

použitý zápis (Epos)

zápis dle doc. Ptáčka

[PTÁ92]

zápis dle PAC

[NOU97] IPA notace Příklad

1 a „krátké á“ a A a a pas

2 á „dlouhé á“ á A: á a: táta

3 b „bé“ b B b b bota

4 c „cé“ c C c ts cíl

5 dz „dz“ Z ] C dz leckdy

6 č „čé“ č c č t čas

7 dž „dž“ Ž } Č d džbán

8 d „dé“ d D d d dům

9 ď „dé s háčkem“ ď d ď děd

10 e, ä „krátké é“ e E e les

11 é, ö „dlouhé é“ é E: é e: lék

12 f „ef“ f F f f forma

13 g „gé“ g G g kde

14 h „há“ h H h had

15 ch „chá“ x X X x chata

16 ch „znělé ch“ X není není abych byl

17 i, y „krátké í“ i I i myš

18 í, ý, ü „dlouhé í“ í I: í i: pít

19 j „jé“ j J j j jas

20 k „ká“ k K k k krk

21 l „el“ l L l l led

22 m „em“ m M m m mák

23 m „retozubné em“ není není M tramvaj

24 n „en“ n N n n noc

25 n „velární en“ N není N banka

26 ň „eň“ ň n ň nic

27 o „krátké ó“ o O o rok

28 ó „dlouhé ó“ ó O: ó o: móda

29 p „pé“ p P p p pes

30 r „er“ r R r r ret

31 ř „znělé eř“ ř r ř r moře

32 ř „neznělé eř“ Ř není Ř r keř

33 s „es“ s S s s sen

34 š „eš“ š s š šaty

35 t „té“ t T t t tam

36 ť „ťé“ ť t ť c kotě

37 u „krátké ú“ u U u kus

38 ú, ů „dlouhé ú“ ú U: ú u: půl

39 v „vé“ v V v v vlak

40 z „zet“ z Z z z zub

Page 84: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

84

41 ž „žet“ ž z ž žal

42 au A AU au au auto

43 eu E EU eu eu eunuch

44 ou O OU ou ou mouka

45 hlasivkový ráz ' ' ! ne’existuje

46 neutrální samohláska @ @ není B@

47 pauza # není sp ,

48 šev | | _ . na|uka

Page 85: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

85

8.4 Příloha C – Přehled transkripčních a prozodických pravidel systému Epos

Transkripční pravidla jsou v systému Epos zapisována do souborů s koncovkou „.rul“ a jsou vykonávána v pořadí, v jakém jsou v tomto souboru zapsána. Hlavní soubor s pravidly pro příslušný jazyk (pro češtinu např. „czech.rul“) se nachází v adresáři příslušného jazyka (pro češtinu tedy „cfg/lng/czech/czech.rul“). Do tohoto hlavního souboru s pravidly je možné dále načítat pomocí pravidla include jiné soubory s pravidly, např. zápis „@include trans.rul“ vloží na dané místo transkripční pravidla uložená v souboru trans.rul. Komentáře do souborů s pravidly je možné vkládat pomocí znaků „#“ a „;“.

V souborech s pravidly je rovněž možné používat proměnné (makra) pomocí zápisu identifikátor = nahrazení, např. zápis „$vovel = aeiouy“ nám definuje proměnnou vovel obsahující krátké samohlásky. Při zápisu pravidel je možné použít operátor except reprezentovaný znakem „!“ způsobující negaci. Hlavní druhy transkripčních a prozodických pravidel systému Epos jsou uvedeny v následujících odstavcích. Podrobný popis je možno najít v [EPOS].

8.4.1 Pravidla využívající slovníky

Pravidla tohoto typu pracují s výčtovými slovníky o velikosti pohybující se od několika položek až po megabajtové, automaticky generované, seznamy. Každý řádek slovníku představuje jednu položku sestávající ze dvou částí oddělených navzájem mezerou. Obvykle bývá část první nahrazena částí druhou. Parametrem slovníkově orientovaných pravidel může být název souboru slovníku nebo přímo výčet jednotlivých položek v uvozovkách oddělených vzájemně čárkou.

subst záměna podřetězce. Parametrem je slovník, v němž se budou vyhledávat ekvivalenty. Zasažená jednotka musí být hláska. Zkoušejí se všechny podřetězce (nejdelší napřed), dokud není ekvivalent nalezen. Ten by měl nahradit příslušnou část slova. Pokud první část položky slovníku začíná znakem „^“ nebo končí znakem „$“, hledají se poze podřetězce ležící na začátku nebo na konci zasažené jednotky.

prep totéž, jako subst, ale slovník musí obsahovat nikoli libovolný podřetězec, ale přímo hledanou jednotku. Dojde-li k nalezení a případnému nahrazení danému hashovací tabulkou pojmenovanou parametrem, připojí se obsah zasažené jednotky na začátek jejího pravého souseda a ona sama je vyřazena. (Nemá-li souseda, nic se nestane.)

postp analogický s prep, ale obsah zasažených jednotek se připojuje na konec souseda zleva. prep a postp nejsou totéž, co předložky a nepřízvučné příklonky, ale je praktické si to myslet.

prosody přiřazení prozodických rysů jednotlivým uzlům TSR, v současné době je nahrazeno pohodlnějším pravidlem contour. Parametrem pravidla prosody je jméno souboru formátovaného jako slovník, každé prozodické nastavení pro jednu ze tří prozodických veličin (tvání t, intenzita i a základní tón f) je na vlastním řádku. Struktura vlastního nastavení je velmi jednoduchá, např. i/3:4 -20. První znak, udávající nastavovanou veličinu, musí být t, i nebo f. První číslo udává pozici uvnitř jednotky jejíž délka je určena druhým číslem. Třetí číslo určuje změnu příslušné prozodické veličiny. Pokud je zasaženou jednotkou slabika uvnitř přízvukových taktů, sníží nám zápis v uvedeném příkladu intenzitu třetí slabiky u všech čtyřslabičných taktů o 20%.

segments vytvoření vrstvy obsahující řečové jednotky hlasového inventáře. První část slovníkové položky obsahuje obvykle tříznakový řetězec obsahující zasaženou hlásku a její možné okolí. Pokud okolí není definováno nahrazuje se znakem „?“. Druhá část položky obsahuje číslo jednotky v příslušném hlasovém inventáři. V příštích verzích systému Epos bude převod fonémů na řečové jednotky řešen na úrovni vlastních řečových syntezátoru a segmentální úroveň již nebude definována pomocí TSR.

with toto pravildlo patří do skupiny podmíněných pravidel (viz. odst. 8.4.6), pracuje však se slovníkem zasažených jednotek.

8.4.2 Obsahem řízená pravidla

regress změna hlásek či jiných jednotek podle jejich bezprostředního okolí. Parametr pravidel progress a regress je tvaru co-se-mění>na-co(levé-okolí_pravé-okolí), např. zápis ve tvaru "ptk>bdg(aeiou_aeiou)" oznělí uvedené intervokalické explozívy. Změna se vyhodnocuje zprava doleva. Změní-li se jednotka na hodnotu delete_me (momentálně '0'), sama se ihned zruší. Obsahuje-li rušená jednotka jiné jednotky, zaniknou rovněž. Seznam "na-co" může být tvořen jediným znakem. V tom případě se předpokládá, že se v daném okolí mění všechny jednotky "co-se-mění" na tento znak. Jinak musí být počet znaků na obou stranách '>' stejný a znaky se

Page 86: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

86

mění na znaky s odpovídajícím pořadím v "na-co". Seznam "co-se-mění" může též obsahovat znak juncture (nyní '0'). V takovém případě mezi jednotkami danými levým a pravým okolím vznikne jedna nová jednotka s obsahem daným příslušnou položkou seznamu "na-co". Levé i pravé okolí mohou též obsahovat symbol juncture pro označení předělu úrovně, jež tvoří rozsah pravidla. V literatuře se k těmto účelům často používá symbol '#'. Těmito pravidly není možno zpracovávat znak '0' jakožto znak vyskytující se v textu, neboť takový znak se nikdy nemění. K jeho zpracování je nutno sáhnout po pravidlu např. typu subst nebo regex.

progress jako regress, ale změna se vyhodnocuje zleva. regress a progress nejsou totéž, co regresivní a progresivní fonetická změna, ale je praktické si to myslet.

8.4.3 Strukturovaná pravidla

raise přesun hlásky (resp. jejího symbolu) nebo jiné jednotky do vyšší úrovně. Užívá se zejména, pokud segmentální jednotky přímo ovlivňují suprasegmentália, jako třeba rozdělení otázek na zjišťovací a doplňovací. Parametr je tvaru co-cestuje:kdy-cestuje, např. "q:?!" znamená, že znak q nahradí otazník nebo vykřičník ve všech otazníkových a vykřičníkových větách, které obsahují "q". (Kopie "q" na hláskové rovině ale zůstává, je nutno dát pozor na rozsah pravidla). Parametry co-cestuje i kdy-cestuje nemusí být jednotlivé znaky, mohou to být např. řetězce používající operátor "vyjma" (viz níže). Rozsah pravidla je úroveň, kde může dojít ke změně, v uvedeném případě věta, zasažená jednotka je úroveň, ze které mohou znaky vyjít, v uvedeném případě hláska.

syll rozdělení přízvukových taktů na slabiky podle teorie znělosti.

8.4.4 Pravidla modelující prozodii

Větná prozodie je v systému Epos modelována pomocí přiřazování hodnot prozodických veličin jednotlivým uzlům vniřní reprezentace TSR na jednolivých úrovních. Tyto změny se zadávají v procentech, přičemž 100% je neutrální hodnota (použijí se prozodické hodnoty určené hlasovým inventářem). Prozodická nastavení na různých úrovních se sčítájí a jsou přiřazovány na segmentální úrovni jednotlivým řečovým jednotkám. Např. hláska s úrovní f=130 uvnitř slova s f=120 se vytvoří z řečové jednotky s f=150. Systém Epos umožňuje rovněž multiplikativní skládání prozodických veličin jednotlivých úrovní.

contour toto pravidlo přiřadí prozodickou konturu jednotce v příslušné úrovni, např. nastaví přízvučné slabiky uvnitř přízvukových taktů. Parametr tohoto pravidla přiřazuje jednoduchou prozodickou konturu, např. „contour f/+2:0:-2 word syll“ přiřadí sestupnou intonační konturu tříslabičným taktům. První písmeno parametru opět určuje příslušnou prozodickou veličinu, následují parametry kontury, zasaženou jednotku a cílovou (ovlivňovanou) jednotku. Uvnitř paramerů kontury může být použit znak „*“ označující libovolné opakování takto označené jednotky. Pravidlo contour bylo použito i pro vytváření budícího signálu pro lineárně predikční intonační model, viz. příloha I.

prosody přiřazení prozodických rysů jednotlivým uzlům TSR, viz. odst. 8.4.1.

smooth vyhlazování průběhu jedné ze tří prozodických veličin.

8.4.5 Skládání pravidel

Při skládání jednotlivých pravidel se v systému Epos užívá těchto celků:

• blok pravidel • výběr z pravidel • délkově závislá volba pravidel

Blok pravidel je sekvence pravidel uzavřená ve složených závorkách („{“ a „}“) a s výjimkou možného určení zasažené jednotky nemá blok žádné parametry. Pravidla se uvnitř bloku aplikují sekvenčně. S blokem se zachází jako s jednoduchým pravidlem a je přínosný především v kombinaci s pomíněnými pravidly, např. konstrukce if podmínka { pravidlo_1 pravidlo_2 }

Page 87: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

87

je-li splněna podmínka provede nejdříve pravidlo_1 a pak pravidlo_2. Jakékoli makro definované uvnitř bloku je platné jen v rámci tohoto bloku.

Výběr z pravidel je sekvence pravidel uzavřená ve hranatých závorkách („[“ a „]“), kde se opět, s výjimkou možného určení zasažené jednotky, neuvádějí žádné parametry. Při výběru je vykonáno jen jedno náhodně zvolené pravidlo, přičemž pravděpodobnost výběru je pro všechna pravidla uzavřená ve hranatých závorkách stejná. Pokud chceme pravděpodobnost ovlivnit, musíme použít tzv. opakování pravidel, např. zápis [ 3x prosody typical.dic prosody variant.dic ]

bude aplikovat prozodii s pravděpodobností 75% ze souboru typical.dic a s pravděpodobností 25% ze souboru variant.dic.

Délkově závislá volba pravidel je sekvence pravidel uzavřená v lomených závorkách („<“ a „>“) a s výjimkou možného určení zasažené jednotky nemá žádné parametry. Provedeno je jen pravidlo, jehož pořadí v bloku odpovídá počtu cílových jednotek v zasažené jednotce. Je-li pravidel v bloku méně než je počet cílových jednotek v zasažené jednotce, provede se poslední pravidlo v bloku. Tomuto se dá předejít, uvedeme-li na poslední místo v bloku pravidlo nothing.

8.4.6 Podmíněná pravidla

Podmíněná pravidla umožňují vykonání určitých pravidel nebo bloků pravidel pouze při splnění předem daných podmínek.

inside aplikuje pravidlo nebo blok pravidel pouze uvnitř jednotek specifikovaných parametrem, který tvoří seznam hodnot zasažené jednotky příslušné úrovně, na které má být pravidlo (blok pravidel) aplikováno. Může zde být použit operátor except. Každá jednotka splňující danou podmínku (např. věta) je zpracovávána odděleně.

near aplikuje pravidlo nebo blok pravidel pouze uvnitř jednotek obsahujících alespoň jednu ze specifikovaných jednotek. Parametrem je seznam jednotek cílové úrovně, může zde být použit operátor except.

with aplikuje pravidlo nebo blok pravidel na seznam jednotek. Parametrem je název souboru se seznamem jednotek.

if aplikuje pravidlo nebo blok pravidel při splnění podmínky dané parametrem. V současné době je možné používat pouze logické hodnoty.

8.4.7 Speciální pravidla

regex substituce za regulární výraz. Parametr má podobu /regular_expression/replacement/. Toto pravidlo je podobné pravidlu subst pouze s jednou slovníkovou položkou, je ovšem mnohem výkonnější.

debug výpis ladících informací během aplikace pravidel. Parametr elem provede výpis aktuálního stavu parsovaného textu, parametr pause čeká na stisk klávesy a parametr tsrtool provede zobrazení vnitřní datové struktury, viz. článek 6.6.

Page 88: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

88

Příloha D – Přehled vytvořených programů, procedur a funkcí

V následujících tabulkách uvádím seznam a stručný popis všech programů, procedur a funkcí, které vznikly v průběhu práce a jejichž použití bylo prezentováno v předchozích kapitolách.

Tab. 8.1 Přehled vytvořených programů

Název Typ OS Stručný popis programu

SpeechStudio

Win32, Wine

program pro analýzu, popis a segmentaci řeči http://sstudio.ure.cas.cz/

Epos

Unix, Linux, QNX, Win32

plně konfigurovatelný TTS systém (vznikl ve spolupráci s mgr. Hanikou z MFF UK) http://epos.ure.cas.cz/

TDPSYN

Unix, Linux, QNX, Win32

syntéza řeči v časové oblasti pro systém Epos http://epos.ure.cas.cz/

GTK WavEdit

Linux, Unix

program pro analýzu, popis a segmentaci řeči http://wavedit.ure.cas.cz/ http://sourceforge.net/projects/gtkwavedit/

ModProz Win32 modelování prozodie pomocí řečového syntezátoru EPOS TSR Tracking Win32 výpis a modifikace vnitřní datové struktury systému Epos WinSay

Win32

grafický klient pro TTS systém Epos http://epos.ure.cas.cz/

Tab. 8.2 Přehled vytvořených procedur a funkcí

Název Typ

prostředí Stručný popis

pitchn Matlab detektor základního tónu využívajíci polaritní autokorelaci f0interp Matlab lineární interpolace průběhu základního tónu řeči f0remerr Matlab odstranění chyb pitchdetektoru f0smooth Matlab vyhlazování průběhu F0 průměrujícím filtrem délky 5 lpan1 Matlab lineárně predikční analýza lpsyn1 Matlab lineárně predikční syntéza lp98 Matlab obecný IIR filtr errinterp2 Matlab pulsní aproximace zbytkového signálu lineárního prediktoru errinterp3

Matlab

pulsní aproximace zbytkového signálu lineárního prediktoru s využitím hranic suprasegmentálních celků

errimp Matlab impulsní aproximace zbytkového signálu lineárního prediktoru pitchnc C detektor základního tónu využívajíci polaritní autokorelaci

Page 89: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

89

8.5 Příloha E – Výpisy některých podprogramů a funkcí

Výpisy funkcí f0interp, f0remerr a f0smooth provádějící lineární interpolaci a vyhlazování průběhu základního tónu řeči (prostředí Matlab):

function f0int=f0interp(f0con) %function f0interp(f0con) %iterpolation of f0 contour l=length(f0con) f0pom=f0con; idx=1; while idx<l while f0con(idx)~=0 & idx<l, idx=idx+1; end lind=idx; % the last left nonzero value while f0con(idx)==0 & idx<l, idx=idx+1; end rind=idx; % the first right nonzero value n=rind-lind; if rind==l for j=lind:rind, f0pom(j)=f0con(lind-1); end elseif lind>1 step=(f0con(rind)-f0con(lind-1))/n; for j=lind:rind-1, f0pom(j)=f0con(lind-1)+(j-lind+1)*step; end else for j=lind:rind-1, f0pom(j)=f0con(rind); end end end f0int=f0smooth(f0remerr(f0pom,5)); %----------------------------------------------------------------------- function f0int=f0smooth(f0con) %function f0interp1(f0con) %smoothing F0 contour l=length(f0con); f0int=f0con; for idx=3:l-2 f0int(idx)=mean(f0con(idx-2:idx+2)); end %----------------------------------------------------------------------- function f0int=f0remerr(f0con,eps) %function f0interp2(f0con,eps) %pitch detection errors removing (1/2 F0, 2 F0) with treshold eps l=length(f0con); f0int=f0con; for idx=4:l test=abs(mean(f0int(idx-3:idx-1))/2-f0con(idx)); if test<eps f0int(idx)=2*f0con(idx); end end

Page 90: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

90

Výpisy funkcí lpan1, lpsyn1 a filt98 provádějící lineárně predikční analýzu a syntézu a filtraci signálu (prostředí Matlab):

function err=lpan1(sig,koef) %function err=lpan1(sig,koef) % koef ... a filter coeff. % err ... prediction residual signal % 1999 [email protected] ord=length(koef); err(1)=sig(1); for j=2:length(sig) err(j)=sig(j); for k=1:min(j-1,ord) err(j)=err(j)+sig(j-k)*koef(k); end end function syn=lpsyn1(exc,n,koef) %function syn=lpsyn1(excit,n,koef) % synthesis from filter coefficients % (C) Petr Horak 07.06.1998 % [email protected] % exc ... excitation signal % n ... length of the excitation signal % koef ... lp filter coeff. % syn ... synthetised signal ord=length(koef); le=length(exc); if n>le exc(le+1:n)=0; end for jj=1:ord filt(jj)=0; % rck(jj)=koef(ord+1-jj); end %syn(1)=exc(1); for j=1:max(le,n) syn(j)=exc(j)-filt(1)*koef(1); for k=ord:-1:2 syn(j)=syn(j)-filt(k)*koef(k); filt(k)=filt(k-1); end filt(1)=syn(j); % [exc(j), filt] end function y=filt98(b,a,x) %function y=filt98(b,a,x) nb=length(b); na=length(a); nmax=max(na,nb); %[nb,na,nmax] for jdx=1:nmax filt(jdx)=0; end n=length(x); for idx=1:n filt(1)=x(idx); for jdx=2:na filt(1)=filt(1)-a(jdx)*filt(jdx); end outp=0; for jdx=1:nb outp=outp+b(jdx)*filt(jdx); end y(idx)=outp; for jdx=nmax:-1:2 filt(jdx)=filt(jdx-1); end % [filt] end

Page 91: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

91

Výpisy funkcí errinterp2 a errimp provádějící pulsní interpolaci zbytkového signálu lineárního prediktoru (prostředí Matlab):

function ei=errinterp2(err,w,eps) % ei=errinterp2(err,w,eps) – pulse interpolation of residual signal % err ... linear prediction error signal % w ... length of window % eps ... interpolation treshold % (c) Petr Horak 17.06.1998 if w<1 fprintf('w must be >= 1 !') break end n = length(err); nw = floor(n/w); nm = mod(n,w); m = 0; for idx=0:nw-1 m = mean(err(idx*w+1:idx*w+w)) + m; if abs(m)>eps ei(idx*w+1:idx*w+w)=m; m = 0; else ei(idx*w+1:idx*w+w)=0; end end if nm>0 m = mean(err(idx*w+w+1:n)) + m; if abs(m)>eps ei(idx*w+w+1:n)=m; else ei(idx*w+w+1:n)=0; end end function ei=errinterp3(err,bgs,w) % ei=errinterp3(err,bgs,w) – suprasegmental interpolation of residual signal % err ... linear prediction error signal % bgs ... array of begins of suprasegmental units % w ... length of excitation impulse % (c) Petr Horak 1998 if nargin < 3 w = 1; end if w < 1 fprintf('w must be >= 1 !') break end n = length(err); nsu = length(bgs) %nw = floor(n/w); %nm = mod(n,w); m = 0; if bgs(1) > 1; ei(1:bgs(1)-1) = 0; end %err %bgs for idx=1:nsu-1 m = sum(err(bgs(idx):bgs(idx+1)-1)) es = min(bgs(idx)+w-1,bgs(idx+1)-1); ei(bgs(idx):es) = m/(es - bgs(idx) + 1); if bgs(idx+1) > es+1; ei(es+1:bgs(idx+1)-1) = 0; end m = 0; end m = sum(err(bgs(nsu):n)); ei(bgs(nsu):bgs(nsu)+w-1) = m/w; ei(bgs(nsu)+w:n) = 0;

Page 92: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

92

Výpis funkce errimp provádějící impulsní interpolaci zbytkového signálu lineárního prediktoru (prostředí Matlab):

function [ei,derr]=errimp(err,eps) % [ei,derr] = errimp(err,eps) - impulse interpolation of residual signal % err ... linear prediction error signal % eps ... interpolation treshold % ei ... interpolation of error signal % derr .. first difference of error signal % (c) Petr Horak 2001 if nargin < 2; eps = 4; end n = length(err); polar = 0; max = 0; mid = 0; suma = 0; len = 0; derr(1) = 0; for idx=1:n ei(idx) = 0; if idx > 1; derr(idx) = err(idx) - err(idx-1); end if polar > 0 & sign(err(idx)) == polar suma = suma + err(idx); len = len + 1; if err(idx) > eps if err(idx) > max; max = err(idx); mid = idx; end else if mid > 0; ei(mid-1) = suma; suma = 0; len = 0; end max = 0; mid = 0; end elseif polar < 0 & sign(err(idx)) == polar suma = suma + err(idx); len = len + 1; if err(idx) < -eps if err(idx) < max; max = err(idx); mid = idx; end else if mid > 0; ei(mid-1) = suma; suma = 0; len = 0; end max = 0; mid = 0; end elseif polar ~= 0 if mid > 0 ei(mid-1) = suma; suma = 0; len = 0; end if abs(err(idx)) > 0; suma = err(idx); len = 1; end polar = sign(err(idx)); if abs(err(idx)) > eps; max = err(idx); mid = idx; else max = 0; mid = 0; suma = 0; end; else if (sign(err(idx))) ~= 0 polar = sign(err(idx)); if abs(err(idx)) > eps; max = err(idx); mid = idx; else max = 0; mid = 0; end; end end end if mid > 0 ei(mid-1) = suma; suma = 0; len = 0; end

Page 93: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

93

Výpis funkce pitchn provádějící detekci základního tónu řeči pomocí polaritní autokorelace (prostředí Matlab): function l=pitchn(n, ix, lvl, l1r2, lup, ldwn) % pitchdetector based on polarity autocorrelation % l=pitchn(n,ix,lvl,l1r2,lup,ldwn) lvlmin=30; plvl=0.4; n2=n/2; l=0; ix=ix*32768; for i=1:n if abs(ix(i))>lvl isig(i)=sign(ix(i)); else isig(i)=0; end end %subplot(3,1,1); plot(ix(1:n)); subplot(3,1,2); plot(isig); %pause; subplot(1,1,1) if l1r2==1 id=1; iu=n2; else id=n2+1; iu=n; end lvlpa=0; for i=id:iu if isig(i)~=0 lvlpa=lvlpa+1; end end if lvlpa<lvlmin return end lvlpa=plvl*lvlpa; fn2=n2; for ll=1:lup if ll<=n2 jup=n2; c=1.0; else jup=n-ll; c=fn2/jup; end jpa=0; if l1r2==1 for j1=1:jup if isig(j1)~=0 j2=j1+ll; if isig(j2)~=0 if isig(j1)==isig(j2) jpa=jpa+1; else jpa=jpa-1; end end end end else for j=1:jup j1=n+1-j; if isig(j1)~=0 j2=j1-ll; if isig(j2)~=0 if isig(j1)==isig(j2) jpa=jpa+1; else jpa=jpa-1; end end end end end ipa(ll)=c*jpa; end %subplot(2,1,1) %plot(ipa) % --- nalezeni 1. pruchodu IPA nulou pomjmp=0; for ll=1:lup if ipa(ll)<0 pomjmp=1; break; end end if pomjmp~=1 return; end kdwn=ll+1; %kmax=k; kmax=ll; kmax1=kmax; pk1=1; for k=kdwn:lup if (kmax1~=ll) & (ipa(kmax)>ipa(k)) pk1=0; end if ipa(k)>ipa(kmax) if pk1 kmax1=kmax; end kmax = k; end end if (abs(kmax/kmax1-2)<0.1) & (ipa(kmax)-ipa(kmax1)<10) kmax=kmax1; end if (ipa(kmax)>=lvlpa) & (kmax>=ldwn) l=kmax; end %subplot(3,1,3); plot(ipa); %s=sprintf('lvlpa=%f',lvlpa); %ylabel(s) %s=sprintf('kmax=%d kmax1=%d ipa(kmax)=%d ipa(kmax1)=%d l=%d',kmax,kmax1,ipa(kmax), ipa(kmax1),l); %xlabel(s) %pause; return

Page 94: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

94

8.6 Příloha F – Výpis kódu TD-PSOLA syntezátoru s modelováním prozodie pomocí lineární predikce

Tučně vyznačené části kódu představují přidané modelování základního tónu pomocí lineární predikce. Tento kód je standardní součastí distribuce systému Epos od verze 2.4.75 [EPOS]. /* * epos/src/tdpsyn.cc * (c) 2000-2002 Petr Horak, [email protected] * (c) 2001-2002 Jirka Hanika, [email protected] * * tdpsyn version 2.4.1 (20.8.2002) * This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License in doc/COPYING for more details. * * */ #include "common.h" #include "tdpsyn.h" #include <math.h> #define MAX_STRETCH 30 #define MAX_OLA_FRAME 4096 /* sanity check only */ #define HAMMING_PRECISION 15 /* hamming coefficient precision in bits */ #define LP_F0_STEP 8 /* step of F0 analysis for linear prediction */ #define LP_DECIM 10 /* F0 analysis decimation coeff. for linear prediction */ #define LP_F0_ORD 4 /* order of F0 contour LP analysis */ #define F0_FILT_ORD 9 /* F0 contour filter order */ #define LP_EXC_MUL 1.0 /* LP excitation multipicator */ /* F0 contour 1:10 filter coefficients */ const double a[9] = {1, -6.46921563821389, 18.43727805607084, -30.21344177474595, 31.11962012720199,

-20.62061607537661, 8.58111044795433, -2.04983423923570, 0.21516477151414}; const double b[9] = {0.01477848982115, -0.08930749676388, 0.25181616063735, -0.43840842338467,

0.52230821454923, -0.43840842338467, 0.25181616063735, -0.08930749676388, 0.01477848982115};

/* lp f0 contour filter coefficients (speaker Machac) */ const double lp[LP_F0_ORD] = {-1.23761, 0.60009, -0.32046, 0.10699}; /* Hamming coefficients for TD-PSOLA algorithm */ int hamkoe(int winlen, unsigned short *data, int e, int e_base) { int i; double fn; fn = 2 * pii / (winlen - 1); for (i=0; i < winlen; i++) { data[i] = (unsigned short)((0.53999 - 0.46 * cos(fn * i)) * e / e_base * (1 << HAMMING_PRECISION)); } return 0; } /* Inventory file header structure */ struct tdi_hdr { int magic; int samp_rate; int samp_size; int bufpos; int n_segs; int diph_offs; int diph_len; int res1; int res2; int ppulses; int res3; int res4; }; tdpsyn::tdpsyn(voice *v) { tdi_hdr *hdr; difpos = 0; tdi = claim(v->models, v->loc, cfg->inv_base_dir, "rb", "inventory", NULL); hdr = (tdi_hdr *)tdi->data; if (v->n_segs != hdr->n_segs) shriek(463, "inconsistent n_segs");

Page 95: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

95

if (sizeof(t_samp) != hdr->samp_size) shriek(463, "inconsistent samp_size"); tdp_buff = (t_samp *)(hdr + 1); diph_offs = (int *)((char *)tdp_buff + sizeof(t_samp) * hdr->bufpos); diph_len = diph_offs + v->n_segs; ppulses = diph_len + v->n_segs; /* allocate the maximum necessary space for Hamming windows: */ max_frame = MAX_OLA_FRAME; wwin = (unsigned short *)xmalloc(sizeof(unsigned short) * (max_frame * 2)); memset(wwin, 0, (max_frame * 2) * sizeof(*wwin)); out_buff = (t_samp *)xmalloc(sizeof(t_samp) * max_frame * 2); memset(out_buff, 0, max_frame * 2 * sizeof(*out_buff)); /* initialisation of lp prosody engine */ if (v->lpcprosody) { for (int i = 0; i < LPC_PROS_ORDER; lpfilt[i++] = 0); for (i = 0; i < MAX_OFILT_ORDER; ofilt[i++] = 0); sigpos = 0; lppstep = LP_F0_STEP * v->samp_rate / 1000; lpestep = LP_DECIM * lppstep; basef0 = v->init_f; lppitch = v->samp_rate / basef0;; } } tdpsyn::~tdpsyn(void) { free(out_buff); free(wwin); unclaim(tdi); } inline int tdpsyn::average_pitch(int offs, int len) { const int npitch = 145; int tmp; int total = 0; int i = 0; for (int j = 0; j <= len + 1; j++) { tmp = ppulses[offs + j] - ppulses[offs + j - 1]; if (tmp < 2 * npitch) { total += tmp; i++; } } if (i <= 0) { if (cfg->paranoid) shriek(463,"pitch marks not found"); return 160; } return total / i; } void tdpsyn::synseg(voice *v, segment d, wavefm *w) { int i, j, k, l, m, slen, nlen, pitch, avpitch, origlen, newlen, maxwin, skip, reply, diflen; double outf0, synf0, exc; t_samp poms; const int max_frame = this->max_frame; if (diph_len[d.code] == 0) { DEBUG(2,9, fprintf(STDDBG, "Missing speech unit No: %d\n", d.code);) if (!cfg->paranoid) return; shriek(463, fmt("Missing speech unit No: %d\n",d.code)); } /* lp prosody reconstruction filter excitation signal computing */ if (v->lpcprosody) { // in d.f is excitation signal value if (d.e >= v->init_i * 9) { for (i = 0; i < LPC_PROS_ORDER; lpfilt[i++] = 0); d.e = (d.e * 100 / v->init_i - 1000) * v->init_i / 100; } exc = LP_EXC_MUL * (d.f - v->init_f); pitch = lppitch; } else // in d.f is f0 contour value pitch = v->samp_rate / d.f; slen = diph_len[d.code]; avpitch = average_pitch(diph_offs[d.code], slen); maxwin = avpitch + MAX_STRETCH; maxwin = (pitch > maxwin) ? maxwin : pitch; if (maxwin >= max_frame) shriek(461, "pitch too large"); origlen = avpitch * slen * d.t / 100; newlen = pitch * slen;

Page 96: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

96

hamkoe(2 * maxwin + 1, wwin, d.e, 100); skip = 1; reply = 1; if (newlen > origlen) skip = newlen / origlen; if (origlen > newlen) reply = origlen / newlen; nlen = slen - (skip - 1) * slen / skip + (reply - 1) * slen; diflen = (newlen - origlen - (skip - 1) * slen * pitch / skip + (reply - 1) * slen * pitch) / nlen; for (j = 1; j <= diph_len[d.code]; j += skip) for (k = 0; k < reply; k++) { memcpy(out_buff + max_frame - pitch, out_buff + max_frame, pitch * sizeof(*out_buff)); memset(out_buff + max_frame, 0, max_frame * sizeof(*out_buff)); for (i = -maxwin;i <= maxwin; i++) { poms = tdp_buff[i + ppulses[diph_offs[d.code] + j - 1]]; poms = (t_samp)(wwin[i + pitch] * poms >> HAMMING_PRECISION); out_buff[max_frame + i] += poms; } /* lpc synthesis of F0 contour */ if (v->lpcprosody) { synf0 = 0; outf0 = 0; for (l = 0; l < 2 * pitch; l++) { sigpos++; if (!(sigpos % lppstep)) { // new pitch value into f0 output filter synf0 = 0; if (!(sigpos % lpestep)) { // new excitation value into recontruction filter synf0 = exc - lpfilt[0]*lp[0]; exc = 0; for (m = LP_F0_ORD - 1; m > 0; m--) { synf0 -= lp[m] * lpfilt[m]; lpfilt[m] = lpfilt[m-1]; } lpfilt[0] = synf0; } ofilt[0] = synf0; synf0 = 0; for (m = 1; m < F0_FILT_ORD; m++) ofilt[0] -= a[m] * ofilt[m]; outf0 = 0; for (m = 0; m < F0_FILT_ORD; m++) outf0 += b[m] * ofilt[m]; lppitch = (int)(v->samp_rate / (basef0 + outf0)); outf0 = 0; for (m = F0_FILT_ORD - 1; m > 0; m--) ofilt[m] = ofilt[m - 1]; } } }

w->sample((SAMPLE *)out_buff + max_frame - pitch, pitch); difpos += diflen; if (difpos < -pitch) { if (reply == 1) j--; else k--; difpos += pitch; } if (difpos > pitch) { if (reply == 1) j++; else if (k == reply - 1) { j++; k = 1; } else k++; difpos -= pitch; } } }

Page 97: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

97

8.7 Příloha G – Fonetická transkripce češtiny pro systém Epos

Zjednodušená pravidla fonetické transkripce pro systém Epos (kompletní je možné najít v distribuci Eposu). # # (c) Jirka Hanika <[email protected]> # $voiced = bdďgvzžZŽhř $voiceless = ptťkfsšcčxŘ # $fric = szšžfvhx # $afric = cZčŽ # $stop = ptťkbdďg $nasal = mnňN $NASAL = MQŇW $sonant = jlr$nasal $SONANT = JLR$NASAL $short = aeiouuyěä $long = áéíóúůýěöü $diphtong = OAE $vowel = $short$long$diphtong $VOWEL = AEIOUUYÁÉÍÓÚŮÝĚ $consonant = $voiced$voiceless$sonant $everywhere= !_! $numbers = 1234567890 $sonority = 0'<$voiceless$voiced$SONANT<$nasal<l<rj<$vowel $lower_case = aáäbcčdďeéěfghiíjklmnňoóöpqrřsštťuúůüvwxyýzž $upper_case = AÁÄBCČDĎEÉĚFGHIÍJKLMNŇOÓÖPQRŘSŠTŤUÚŮÜVWXYÝZŽ $letter = ${lower_case}${upper_case} # Ošetření německých přehlásek progress ÄÖ>E(!_!) progress Ü>Y(!_!) # \d už vydělil parser, provizorně jako znak slovní úrovně. Úseky mezi # výskyty tohoto znaku (např. tečka v URL) se hláskují, pokud neobsahují # samohlásku nebo slabikotvornou souhlásku. Tato pravidla se mohou chovat # nerozumně v kombinaci s velkými písmeny. inside \d word { regress 0>\d(!_0) } regress \d>\ (!_!) word word if roman { @include "../slovak/roman.rul" } regex /^([vVsSzZkK][~\ ]\{0,2\})\$/\W\1/ regress lr>\X\Y(0_!) near *!\Wlr$vowel$VOWEL word phone { regress ${lower_case}\X\Y>${upper_case}LR(!_!) word subst abbrurl.dic word } regress \W>0(!_!) regress \X\Y>lr(0_!) # Pravidla pro čtení zkratek apod.: velké písmeno na jiném, # než prvním místě ve slově indikuje zkratku a hláskuje se. # Stejně tak jednotlivé písmeno před nebo za cifrou nebo # speciálním znakem nebo hláskovanou částí slova. regress ${upper_case}>${lower_case}(!letter_${lower_case}) word regress ${upper_case}>${lower_case}(0_${lower_case}) colon regress ${lower_case}>${upper_case}(0_!${lower_case}) colon regress ${lower_case}>${upper_case}(!${lower_case}_!$letter) colon if spellout { regex /^([^\Y\ ~]*)(.\?)\$/\1\Y\1\2/ word progress ${lower_case}>${upper_case}(\Y${upper_case}_!) regex /\Y/./ text } subst abbrevs.dic colon regress ${upper_case}>${lower_case}($everywhere) colon @include "numerals.rul" subst main.dic ; Různé výjimky progress äö>e(!_!) progress ü>y(!_!) progress ů>ú($everywhere)

Page 98: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

98

progress 0>s(x_!) progress u0>0v(q_!) ; Rozložení x,q na ks, kv regress xq>k($everywhere) regress h>x(c_!) ; Spřežka ch > x regress zž>ZŽ(d_!) ; Spřežky dz,dž > Z,Ž progress cd>0(!_xZŽ) progress h>x(s_!) ; Pražské sh # Následující pravidla jednak změní věty vydělené dvojtečkou # na věty vydělené tečkou (to je spíše špatně než dobře), # dále pak označí dvojtečkou (místo otazníku) ty věty, které # obsahovaly ve své první klausi některé ze slov uvedených # ve slovníku wh.dic, neměly tuto klausi zvlášť vydělenou # žádnou interpunkcí, a byly samy vyděleny otazníkem. # # Fonetik vidí, že jsem právě "definoval" doplňovací otázky. progress :>.($everywhere) text sent subst wh.dic ; Doplňovací otázky raise Q:_ colon phone progress Q>_(!0_!) sent colon ; jen v první klausi raise Q:? sent colon progress Q>0($everywhere) ; úklid všech úrovní progress Q>_($everywhere) sent colon progress Q>:($everywhere) text sent if colloquial { regress j>J(0_ds) ; fixme: random environment } regress i>j($vowel_0) syll subst syll.dic ; Rozsadit vokály regress 0>'(0_$vowel) ; Rázy with preps.dic word word { regress _\ ~>P(!_!) word word } with "se" { regress _\ ~>P(!_!) word word ; "se" nesmí být v preps.dic } regress P>\ (!_P) colon word ; dvě předložky za sebou regress _\ ~>F(!_0) colon word progress 0>S(!S_szšž) colon progress S>0(!_!0) word ; "S" jen před hranicí slov, za níž je sykavka progress 0>S(0_s) colon ; "S" před první hláskou v klausi inside P { prep "Sse,se seS,se SseS,se" ; "se" jako předložka } progress S>0($everywhere) inside P word { prep preps.dic word } progress P>\ ($everywhere) word word regress b>0(!_b) syll ; pochybný heuristický odstaveček regress n>0(!_nň) syll ; namířený proti geminátám regress s>0(!_s) syll regress t>0(!_t) syll regress f>0(!_f) syll progress ř>Ř($voiceless_!0) syll ; je už zde kvůli "k řízení [gřízeňí]" "křeč [kŘeč]" regress $sonant>$SONANT(0_!) syll syll $sonority syll ; Rozklad_na_slabiky regress $SONANT>$sonant(!_!) prep nonsyl.dic syll # postp postps.dic ; jednou by se mělo vrátit regress h>0(t_!) ; pathologie, plethora, thanatos. Pochybné. regress $voiced>${voiceless}(!_$voiceless&0') ; Asimilace znělosti regress $voiceless>$voiced(!_$voiced!v) colon if colloquial { subst casual.dic

Page 99: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

99

regress J>0(!_!) regress '>v(!_o) ; "okno" [vokno] } regress 0>n(m_ě) regress dtn>ďťň(!_iíě) regress ě>e(ďťň_!) regress 0>j(!_ě) regress ě>e($everywhere) progress yý>ií($everywhere) progress tkfslmn>TKFSLMN(i_0) progress i>j(oae_TKFSLMN) progress TKFSLMN>tkfslmn(!_!) progress n>N(!_kg) progress w>u($vowel_$consonant&0) progress w>v($everywhere) ; většinou ale "w" odstraní výjimky, řekněme ; zde bývala eliminace geminát ; zde býval rozklad na slabiky progress oae>OAE(!_u) syll ; Dvojhlásky regress u>0(OAE_!) syll if !voiced_affrs { regress ZŽ>DĎ(!_$vowel) ; toto by mělo přijít do inventáře (traditnl.dph); regress 0>d(!_DĎ) ; rozkládá se zde dz, dž (representované Z,Ž) regress DĎ>zž(!_!) ; na d-z, d-ž, pokud následuje vokál. } # Následující odstavec má za cíl označit všechny otevřené slabiky tildou. # Ve zavřených slabikách se objeví příznak "C" (coda), ten se pak posune # do slabičné úrovně, tam se pak nezavřené slabiky prohlásí za otevřené # a pak už je možno C odstranit z hláskové i slabičné úrovně. $syllabic = !0$vowel_!0$vowel ; syllabic consonant (environment) progress 0>C($vowel_!0) syll ; C za nekoncovou samohlásku progress $sonant>$SONANT($syllabic) syll progress 0>C($SONANT_!) syll ; C za slabikotvornou sonoru progress $SONANT>$sonant($everywhere) syll raise C:! syll ; posuň "C" do slabičné úrovně progress _|>~($everywhere) word syll progress C>_($everywhere) word syll progress C>0($everywhere) syll phone

Page 100: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

100

8.8 Příloha H – Modelování prozodie češtiny pro systém Epos podle pravidel Prof. Palkové

Pravidla modelování prozodie češtiny pro systém Epos zapsané J. Hanikou podle podkladů Prof. Palkové. # # prosodická pravidla Fonetického ústavu FF UK pro češtinu, 1998 # # (c) 1998 Zdena Palková # (c) 1998 Jirka Hanika # # Tento soubor vznikl na základu výzkumu modelování prosodie češtiny # uskutečněného s přispěním grantu GAČR 405/96/0301. # # (See doc/COPYING for information on copying and modifying this file.) # # # Následující odstavec pečuje o to, aby dříve označené # krátké tvary zájmenné byly zapojeny do řetězů monosylab # při pozdějším skládání taktů, ale jiná koncová # monosylaba nikoli. Děje se tak ještě před transkripcí # zejména proto, abychom poznali "mě" vs. "mně". # regress ~_\ >f(!_0) colon word inside !~ { regress f>\ (!_!) word word } regress ~>\ (!_!) colon word # # Nyní si označíme mono-, di-, tri-, tetra-, polysyllaba. # Děje se tak jen v taktech ukončených mezerou (ta je # zvýrazněna předcházejícím zvráceným lomítkem), # tedy nikoli v koncových taktech. Viz též minulý komentář. # < word syll regress \ >m(!_!) word word regress \ >d(!_!) word word regress \ >t(!_!) word word regress \ >q(!_!) word word regress \ >p(!_!) word word > # # Monosylaba se v určitých pozicích označí jako přízvučná ("x") # a vzápětí jsou ve všech ostatních pozicích, kde zůstala označena # jako "m", přilepena ke svému levému sousedu. Počáteční stříška # znamená začátek úseku. # # (V pravidlech 4.6 sub f nesouhlasí příklad s formulacemi pravidel. # Doporučuji zkontrolovat.)... # # Je důležité, že u pravidel, která pracují se seznamem řetězců, # jako je například následující, nezáleží na pořadí položek v seznamu. # Jde-li o pravidlo substituční, provádějí se substituce (přednostně # v pravé části zpracovávaného textu a delší, je-li pochybnost) # opakovaně tak dlouho, dokud se text neustálí, nebo dokud program # neztratí trpělivost (s věčně zacykleným pravidlem). # # Nakonec se zamete (všechny dočasné značky se smažou). Při téže # příležitosti zanikne značka \X, která případně blokovala zapojení # taktu do tohoto přilepování. # subst "^mmmmm,mmmxm ^mmmmmm,mmmxmm ^mmmmmmm,mmmmxmm" colon word subst "pmm,pxm qmmm,qxmm pmmm,pxmm tmmmm,tmmxm qmmmm,qxmxm dmmmmm,dmmxmm tmmmmm,tmmxmm

qmmmmm,qxmxmm pmmmmm,pxmmxm dmmmmmm,dmmxmmm tmmmmmm,tmmxmmm qmmmmmm,qxmmxmm pmmmmmm,pxmmxmm dmmmmmmm,dmmxmmxm tmmmmmmm,tmmxmmxm qmmmmmmm,qxmmmxmm pmmmmmmm,pxmmmxmm mmmmmmmm,mmmmxmmm" colon word

postp "m" word word regress mdtqpxf\X>\ (!_!) word word # # zkracování isolovaných a ostatních taktů podle počtu slabik - ipcz # regress _\ >I(0_0) sent word ; isolated words inside I {

Page 101: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

101

< word syll contour t/+33 word word contour t/+0 word word contour t/-15 word word contour t/-25 word word contour t/-31 word word contour t/-33 word word > } inside !I { < word syll contour t/+8 word word contour t/+0 word word contour t/-5 word word contour t/-8 word word contour t/-10 word word > } regress I>_(!_!) sent word # # Právě jsme přestali "I" používat k označení isolovaných # taktů a začneme ho používat k označení taktů iniciálních. # regress _\ F>M(!_!) colon word regress M>I(0_!) colon word # # Rozdělíme M na A a B podle toho, zda budeme chtít # kadenci klesavou nebo stoupavou. Označování se děje # zleva: IMMMMMF -> IBMMMMF -> IBAMMMF -> IBACMMF -> # -> IBACBMF -> IBACBAF a pak dalšími pravidly -> IBABBBF # subst "IM,IB BM,BA AM,AC CM,CB" colon word regress C>B(!_!) colon word regress IAB>F(!_0) colon word ; a,b: F (kA, kB) regress A>B(!_F) colon word # regress IAB>aab(!_ab) colon word ; O,P: F-1 (kA, kB) ; ?? regress F>T(!_0) sent word # Toto pravidlo je nejspíš reliktem minulosti #with postp2.dic colon word #{ # regress FT>M(!_!) colon word #} # # Nyní máme označeny takty I, M, P, F, T ( = FF) a přiřazeny kadence. # # # při přiřazování kadencí se hodnota přiřazená slabice # vztahuje na všechny její hlásky v použitém slabičném # členění # inside IaA word { < word syll ; tzn. zařiď se dle počtu slabik v taktu { ; monosylaba se rozdělují ;regress 0>a(a_!) syll phone ;syll a<'0$consonant syll phone ;inside $vowel phone ; contour t/-50 phone ;[ ; contour f/+2:-3 word syll ; contour f/+2:-2 word syll ; contour f/+0:+0 word syll ; contour f/-2:-2 word syll ;] } [ ; disyllaba contour f/+2:-3 word syll contour f/+4:-4 word syll contour f/-3:-3 word syll ] [ ; trisyllaba contour f/+2:+0:-4 word syll contour f/+2:-2:-4 word syll contour f/+4:+0:-4 word syll contour f/-2:-2:-6 word syll contour f/+0:-4:-4 word syll contour f/-4:+4:-6 word syll contour f/-4:+0:-4 word syll

Page 102: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

102

contour f/-2:-3:-3 word syll ] [ ; tetrasyllaba contour f/+0:+0:-2:-3 word syll contour f/-2:-2:-5:-5 word syll contour f/-3:+0:-2:-3 word syll contour f/+0:+0:-1:-1 word syll ] [ ; pentasyllaba contour f/-2:+0:-2:-3:-3 word syll contour f/-3:+0:+0:+0:-3 word syll contour f/-2:+0:+0:+0:-2 word syll ] [ contour f/-2:+0:-1:-1*:-2:-3 word syll ] > } inside Y word ; F A - never used { < word syll ; tzn. zařiď se dle počtu slabik v taktu { ; monosylaba se ignorují } [ ; disyllaba contour f/+4:-4 word syll contour f/-3:-3 word syll ] [ ; trisyllaba contour f/-4:+4:-6 word syll contour f/-4:+0:-4 word syll contour f/-2:-3:-3 word syll ] [ ; tetrasyllaba contour f/-3:+0:-2:-3 word syll contour f/+0:+0:-1:-1 word syll ] [ ; pentasyllaba contour f/-2:+0:+0:+0:-2 word syll ] nothing ; hexasyllaba a delší se neřeší > } inside bB word { < word syll { ;regress 0>a(a_!) syll phone ;syll a<'0$consonant syll phone ;inside $vowel phone ; contour t/-50 phone ;[ ; contour f/-1:+1 word syll ; contour f/-2:+2 word syll ; contour f/-2:+3 word syll ;] } [ ; disyllaba contour f/-4:+2 word syll contour f/-5:-1 word syll contour f/-3:+4 word syll ] [ contour f/+0:-4:+0 word syll contour f/+0:-6:-2 word syll contour f/-6:-2:+0 word syll contour f/-1:+3:+5 word syll contour f/-6:-6:+0 word syll contour f/-6:+4:+0 word syll contour f/-4:+2:+4 word syll ] [ contour f/+0:-3:-2:+0 word syll contour f/-4:-4:-2:+2 word syll contour f/+0:-3:+0:+2 word syll ] [ contour f/+0:-3:-2:+0:+1 word syll contour f/+1:-1:-1:-1:+1 word syll contour f/-2:-2:+0:+2:+2 word syll ] [ contour f/+0:-1:-1:-2*:-1:+0 word syll contour f/+0:-2:-1:+0*:+1:+2 word syll

Page 103: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

103

] > } inside F word { contour f/-2 word word < word syll { ;regress 0>a(a_!) syll phone ;syll a<'0$consonant syll phone ;inside $vowel phone ; contour t/-50 phone ;[ ; contour f/+2:-2 word syll ; contour f/+0:+0 word syll ; contour f/-2:-2 word syll ; contour f/-2:+2 word syll ; contour f/-2:+3 word syll ;] } [ ; disyllaba contour f/-5:-1 word syll contour f/-3:+4 word syll contour f/+4:-4 word syll contour f/-3:-3 word syll ] [ contour f/-6:-6:+0 word syll contour f/-6:+4:+0 word syll contour f/-4:+2:+4 word syll contour f/-4:+4:-6 word syll contour f/-4:+0:-4 word syll contour f/-2:-3:-3 word syll ] [ contour f/-4:-4:-2:+2 word syll contour f/+0:-3:+0:+2 word syll contour f/-3:+0:-2:-3 word syll contour f/+0:+0:-1:-1 word syll ] [ contour f/-2:-2:+0:+2:+2 word syll contour f/-2:+0:+0:+0:-2 word syll ] [ contour f/-2:+0:-1:-1*:-2:-3 word syll ; pravidla zde mají prázdnou nabídku :-) ] > } inside ? sent { regress T>Q(!_!) word word } inside T word ; soubor C { contour f/+2 word word < word syll { ;regress 0>a(a_!) syll phone ;syll a<'0$consonant syll phone ;inside $vowel phone ; contour t/-50 phone ;[ ; contour f/-4:-14 word syll ; contour f/+2:-14 word syll ; contour f/-12:-14 word syll ; contour f/-2:-16 word syll ;] } [ contour f/-6:-16 word syll contour f/-4:-14 word syll contour f/-2:-14 word syll contour f/+2:-14 word syll ] [ contour f/-4:-9:-14 word syll contour f/-4:-6:-14 word syll contour f/-6:-10:-14 word syll contour f/-6:-16:-18 word syll ] [

Page 104: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

104

contour f/-4:-10:-12:-14 word syll contour f/-2:-4:-8:-14 word syll contour f/-2:-10:-14:-16 word syll ] [ contour f/-2:-2:-4:-8:-14 word syll contour f/-2:-10:-12:-14:-16 word syll contour f/-2:-4:-12:-14:-16 word syll ] [ contour f/-2:-2:-4:-8:-14* word syll contour f/-2:-10:-12:-14:-16:-18* word syll contour f/-2:-4:-12:-14:-16:-18* word syll ] > } inside Q word ; soubor D { contour f/-2 word word < word syll { ;regress 0>a(a_!) syll phone ;syll a<'0$consonant syll phone ;inside $vowel phone ; contour t/-50 phone ;[ ; contour f/-14:+2 word syll ; contour f/-14:+6 word syll ;] } [ contour f/-6:+4 word syll contour f/-10:+14 word syll ] [ contour f/-8:-6:+4 word syll contour f/-8:+2:+1 word syll ] [ contour f/-6:-6:-7:+5 word syll contour f/-6:+6:+6:+3 word syll ] [ contour f/-6:-6:-7:-8:+5 word syll contour f/-8:+7:+7:+3:+1 word syll ] [ contour f/-6:-6:-7:-8*:+5 word syll contour f/-8:+7:+7:+5*:+3:+1 word syll ] > } # # úseková deklinace frekvence (zatím jen do 11 taktů v úseku) # < colon word ; tzn. zařiď se dle počtu taktů v promluvovém úseku 3x nothing ; jeden až tři takty se neupravují contour f/0:-1:-2:-3 colon word contour f/0:-1:-2:-3:-4 colon word contour f/0:-1:-2:-3:-4:-5 colon word contour f/0:-1:-2:-3:-4:-5:-6 colon word contour f/0:-1:-2:-3:-4:-5:-6:-7 colon word contour f/0:-1:-2:-3:-4:-5:-6:-7:-8 colon word contour f/0:-1:-2:-3:-4:-5:-6:-7:-8:-9 colon word contour f/0:-1:-2:-3:-4:-5:-6:-7:-8:-9:-10 colon word contour f/0:-1:-2:-3:-4:-5:-6:-7:-8:-9:-10:-11 colon word nothing > # # větná deklinace frekvence (zatím jen do 9 úseků ve větě) # < sent colon ; tzn. zařiď se dle počtu promluvových úseků ve větě 2x nothing ; jeden až dva takty se neupravují contour f/0:-2:-4: sent colon contour f/0:-2:-4:-6 sent colon contour f/0:-2:-4:-6:-8 sent colon contour f/0:-2:-4:-6:-8:-10 sent colon contour f/0:-2:-4:-6:-8:-10:-12 sent colon contour f/0:-2:-4:-6:-8:-10:-12:-14 sent colon contour f/0:-2:-4:-6:-8:-10:-12:-14:-16 sent colon nothing >

Page 105: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

105

8.9 Příloha I – Modelování prozodie češtiny pro systém Epos pomocí lineárně predikčního modelu

Výpis pravidel pro buzení lineárně predikčního prozodického modelu pro modelování prozodie češtiny v systému Epos. # # prosodická pravidla pro modelování průběhu základního tónu # pomocí lineárně predikčního modelu # # (trvání dle Fonetického ústavu FF UK pro češtinu, 1998) # # (c) 1998-2002 Petr Horák # (c) 1998-2002 Jirka Hanika # (c) 1998 Fonetický ústav FF UK # # # Následující odstavec pečuje o to, aby dříve označené # krátké tvary zájmenné byly zapojeny do řetězů monosylab # při pozdějším skládání taktů, ale jiná koncová # monosylaba nikoli. Děje se tak ještě před transkripcí # zejména proto, abychom poznali "mě" vs. "mně". # regress ~_\ >f(!_0) colon word inside !~ { regress f>\ (!_!) word word } regress ~>\ (!_!) colon word # # Nyní si označíme mono-, di-, tri-, tetra-, polysyllaba. # Děje se tak jen v taktech ukončených mezerou (ta je # zvýrazněna předcházejícím zvráceným lomítkem), # tedy nikoli v koncových taktech. Viz též minulý komentář. # < word syll regress \ >m(!_!) word word regress \ >d(!_!) word word regress \ >t(!_!) word word regress \ >q(!_!) word word regress \ >p(!_!) word word > # # Monosylaba se v určitých pozicích označí jako přízvučná ("x") # a vzápětí jsou ve všech ostatních pozicích, kde zůstala označena # jako "m", přilepena ke svému levému sousedu. Počáteční stříška # znamená začátek úseku. # # Je důležité, že u pravidel, která pracují se seznamem řetězců, # jako je například následující, nezáleží na pořadí položek v seznamu. # Jde-li o pravidlo substituční, provádějí se substituce (přednostně # v pravé části zpracovávaného textu a delší, je-li pochybnost) # opakovaně tak dlouho, dokud se text neustálí, nebo dokud program # neztratí trpělivost (s věčně zacykleným pravidlem). # # Nakonec se zamete (všechny dočasné značky se smažou). Při téže # příležitosti zanikne značka \X, která případně blokovala zapojení # taktu do tohoto přilepování. # subst "^mmmmm,mmmxm ^mmmmmm,mmmxmm ^mmmmmmm,mmmmxmm" colon word subst "pmm,pxm qmmm,qxmm pmmm,pxmm tmmmm,tmmxm qmmmm,qxmxm dmmmmm,dmmxmm tmmmmm,tmmxmm

qmmmmm,qxmxmm pmmmmm,pxmmxm dmmmmmm,dmmxmmm tmmmmmm,tmmxmmm qmmmmmm,qxmmxmm pmmmmmm,pxmmxmm dmmmmmmm,dmmxmmxm tmmmmmmm,tmmxmmxm qmmmmmmm,qxmmmxmm pmmmmmmm,pxmmmxmm mmmmmmmm,mmmmxmmm" colon word

postp "m" word word regress mdtqpxf\X>\ (!_!) word word # # zkracování izolovaných a ostatních taktů podle počtu slabik dle FÚ FF UK # regress _\ >I(0_0) sent word ; izolované takty inside I { < word syll contour t/+33 word word contour t/+0 word word

Page 106: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

106

contour t/-15 word word contour t/-25 word word contour t/-31 word word contour t/-33 word word > } inside !I { < word syll contour t/+8 word word contour t/+0 word word contour t/-5 word word contour t/-8 word word contour t/-10 word word > } regress I>_(!_!) sent word # # Právě jsme přestali "I" používat k označení isolovaných # taktů a začneme ho používat k označení taktů iniciálních. # regress _\ F>M(!_!) colon word regress M>I(0_!) colon word # # Rozdělíme M na A a B podle toho, zda budeme chtít # kadenci klesavou nebo stoupavou. Označování se děje # zleva: IMMMMMF -> IBMMMMF -> IBAMMMF -> IBACMMF -> # -> IBACBMF -> IBACBAF a pak dalšími pravidly -> IBABBBF # subst "IM,IB BM,BA AM,AC CM,CB" colon word regress C>B(!_!) colon word regress IAB>F(!_0) colon word ; a,b: F (kA, kB) regress A>B(!_F) colon word regress F>T(!_0) sent word # # Označení konců otázek doplňovacích # inside : sent { regress T>D(!_0) sent word } # # Nyní máme označeny takty I, M, P, F, T a D a přiřazeny kadence. # # # při přiřazování kadencí se hodnota přiřazená slabice # vztahuje na všechny její hlásky v použitém slabičném # členění # # # označení začátku věty pro syntezátor # inside .:! sent { contour i/1000:0* sent phone } # # Slabičné buzení iniciálních a mediálních taktů # inside IaA word { < word syll ; tzn. zařiď se dle počtu slabik v taktu { ; monosylaba ; } [ ; disyllaba contour f/+5:0 word syll ] [ ; trisyllaba contour f/+8:0:0 word syll ] [ ; tetrasyllaba contour f/+10:0:0:0 word syll ] [ ; pentasyllaba

Page 107: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

107

contour f/10:0:0:0:0 word syll ] [ contour f/10:0:0:0*:0:0 word syll ] > } # # Slabičné buzení mediálních taktů # inside bB word { < word syll { ; } [ ; disyllaba contour f/30:0 word syll contour f/15:0 word syll contour f/-10:0 word syll ] [ contour f/+35:-5:+0 word syll contour f/+17:-5:+0 word syll contour f/-17:-5:+0 word syll ] [ contour f/+45:-5:0:+0 word syll contour f/+20:-5:0:+0 word syll contour f/-20:-5:0:+0 word syll ] [ contour f/+45:-5:0:+0:+0 word syll contour f/+20:-5:0:+0:+0 word syll contour f/-20:-5:0:+0:+0 word syll ] [ contour f/+45:-5:0:0*:0:+0 word syll contour f/+20:-5:0:0*:0:+0 word syll contour f/-20:-5:0:0*:0:+0 word syll ] > } # # Slabičné buzení posledního taktu intonačního úseku # inside F word { contour f/-5 word word < word syll { ; } [ ; disyllaba contour f/-10:0 word syll ] [ contour f/-12:-6:+0 word syll contour f/-20:-6:+0 word syll ] [ contour f/-15:-8:0:0 word syll contour f/-25:-8:0:0 word syll ] [ contour f/-16:-10:+0:+0:+0 word syll contour f/-30:-10:+0:+0:+0 word syll ] [ contour f/-20:+0:-0:-0*:-4:-0 word syll contour f/-30:+0:-0:-0*:-0:-0 word syll ] > } inside ?J sent { regress T>Q(!_!) word word } # # Slabičné buzení posledního taktu oznamovací věty #

Page 108: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

108

inside T word { contour f/+5 word word < word syll { ; } [ contour f/-25:-50 word syll contour f/-50:-60 word syll ] [ contour f/-25:-20:-50 word syll contour f/-50:-30:-60 word syll ] [ contour f/-25:-15:-15:-50 word syll contour f/-50:-20:-20:-60 word syll ] [ contour f/-25:-12:-12:-17:-50 word syll contour f/-50:-17:-17:-25:-60 word syll ] [ contour f/-25:-10:-10:-10*:-15:-50 word syll contour f/-50:-15:-15:-15*:-20:-60 word syll ] > } # # Slabičné buzení posledního taktu otázky doplňovací # inside D word { contour f/+5 word word < word syll { ; } [ contour f/-15:0 word syll contour f/+15:0 word syll ] [ contour f/-15:0:0 word syll contour f/+15:0:0 word syll ] [ contour f/-15:0:0:0 word syll contour f/+15:0:0:0 word syll ] [ contour f/-15:0:0:0:0 word syll contour f/+15:0:0:0:0 word syll ] [ contour f/-25:0:0:0*:0:0 word syll contour f/+25:0:0:0*:0:0 word syll ] > } # # Slabičné buzení posledního taktu otázky zjišťovací # inside Q word { contour f/-5 word word < word syll { ; } [ contour f/50:0 word syll ] [ contour f/60:0:0 word syll contour f/30:30:0 word syll ] [ contour f/-10:60:0:0 word syll contour f/-10:30:30:0 word syll ] [ contour f/-10:0:60:0:0 word syll

Page 109: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

109

contour f/-10:0:30:30:0 word syll ] [ contour f/-10:0*:60:0:0 word syll contour f/-10:0*:30:30:0 word syll ] > } # # Slabičné buzení začátku otázky doplňovací # inside : sent { < sent syll [ contour f/50 sent syll ] [ contour f/-30:70 sent syll ] [ contour f/-30:70:-10 sent syll ] [ contour f/-30:70:-10:0 sent syll ] [ contour f/-30:70:0:-10:+5 sent syll ] [ contour f/-30:70:0:-10:*:+5 sent syll ] > } # # Buzení úsekové deklinace frekvence (do 11 taktů v úseku) # < colon word ; tzn. zařiď se dle počtu taktů v promluvovém úseku 3x nothing ; jeden až tři takty se neupravují contour f/0:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5:-5:-5:-5:-5 colon word contour f/0:-5:-5:-5:-5:-5:-5:-5:-5:-5:-5:-5 colon word nothing > # # Buzení větné deklinace frekvence (do 9 úseků ve větě) # < sent colon ; tzn. zařiď se dle počtu promluvových úseků ve větě 2x nothing ; jeden až dva takty se neupravují contour f/0:-10:-10: sent colon contour f/0:-10:-10:-10 sent colon contour f/0:-10:-10:-10:-10 sent colon contour f/0:-10:-10:-10:-10:-10 sent colon contour f/0:-10:-10:-10:-10:-10:-10 sent colon contour f/0:-10:-10:-10:-10:-10:-10:-10 sent colon contour f/0:-10:-10:-10:-10:-10:-10:-10:-10 sent colon nothing >

Page 110: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

110

8.10 Příloha J – Popis přiloženého disku CD-ROM

Pro spuštění přiloženého disku CD-ROM je nutné vložit jej do mechaniky a spustit soubor index.html. Na disku CD-ROM se nacházejí tyto adresáře:

epos - TTS systém Epos verze 2.4.79 s implementovaným lineárně predikčním intonačním modelem

matlab - vytvořené procedury a funkce v prostředí Matlab poslech - zvukové soubory pro porovnání modelování prozodie sstudio - programový systém SpeechStudio vetydis - prozodická databáze (možno prohlížet pomocí SpeechStudia) wavedit - Linuxový klon systému SpeechStudio text - text této práce

Všechny soubory na přiloženém disku CD-ROM jsou k dispozici rovněž na internetové adrese

http://epos.ure.cas.cz/dizertace.

Page 111: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

111

9 Přehled literatury

[BOR67] Borovičková, B., Maláč, V.: The Spectral Analysis of Czech Sounds Combinations. Rozpravy ČSAV, řada společenských věd, 77, č. 14. Academia, Praha 1967.

[ČÍŽ81] Čížek, V.: Diskrétní Fourierova transformace a její užití. SNTL, Praha 1981. [DAN57] Daneš, F.: Intonace a věta ve spisovné češtině. Studie a práce lingvistické, č. 2, ČSAV, Praha 1957. [DUT97] Dutoit, T.: An Introduction to Text-to-Speech Synthesis. Kluwer Academic Publishers, Dodrecht 1997. [DOH91] Dohalská, M.: Dynamika verbální komunikace - mluvené slovo v teorii a praxi. AUC, Philologica,

monografia CXIV - 1991. UK, Praha 1991. [EPOS] The Epos home page http://epos.ure.cas.cz/ or http://www.speech.cz/ . [FAN60] Fant, G.: Acoustic Theory of Speech Production. Mouton, The Hague, 1960. [GON98] Goncharoff, V., Gries, P.: An Algorithm for Accurately Marking Pitch Pulses in Speech Signals. In:

Proceedings 1998 IASTED International Conference on Signal and Image Processing, Las Vegas NV, October 1998.

[HÁL75] Hála, B.: Fonetika v teorii a v praxi. SPN, Praha 1975. [HAN98a] Hanika, J., Horák, P.: Implementation of Original Czech TTS System on the Epos Speech Synthesis

Platform. In: 8th Czech-German Workshop Speech Processing, September 14–16, 1998, Prague, pp. 45–46. [HAN98b] Hanika, J., Horák, P: Epos – A New Approach to the Speech Synthesis. In: Proceedings of the First

Workshop on Text, Speech and Dialogue – TSD’98, Brno, Czech Republic, September 23–26, 1998, pp. 51–54.

[HAN99] Hanika, J, Horák, P.: Text to Speech Control Protocol. In: Proc of the Int. Conf. Eurospeech’99, Budapest, Hungary, September 5–9, 1999, Vol. 5, pp. 2143–2146.

[HAN00] Hanika, J., Horák, P.: Dependences a Independences of Text-to-Speech. In: Papers in Phonetics and Speech Processing, Forum Phoneticum 70, Z. Palková, H.-W. Wodarz (eds.), Frankfurt am Main, 2000, pp. 27–39.

[HAN01] Hanika, J.: The Epos Speech System. User Documentation ver. 2.4. Available on the www page http://epos.ure.cas.cz/epos.html.

[HEL96] Helbig, J., Horák, P.: Deutsch-Tschechische Sprachsynthese in einem Telefon-Auskunft-system. In: D. Mehnert (ed): Studientexte zur Sprachkommunikation No. 13-Elektronische Sprachsignalverarbeitung, Berlin, November 25–27, 1996, pp. 102–107.

[HIR00] Hirst, D.: INTSINT (INTernational Transcription System for INTonation) homepage http://www.lpl.univ-aix.fr/~hirst/intsint.html .

[HNŽ01] Hanžl, V., Batůšek, R., Matoušek, J. & others: Final Czech SAMPA Proposal (v1). Available on the www page http://noel.feld.cvut.cz/sampa/CZECH-SAMPA.html .

[HOR96a] Horák, P.: Programový systém pro modelování prozodie. 580. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR Praha, březen 1996.

[HOR96b] Horák, P.: Prosody modelling software system. In: Proc. 6th Nat. Scient. Conf. Radioelektronika 96, Brno, April 23–24, 1996, pp. 317–319.

[HOR96c] Horák, P., Mejvaldová, J.: Design and Application of the New Prosody Modelling System for Czech. In: 6th Czech-German Workshop Speech Processing, Prague, September 2–4, 1996, pp. 42–44.

[HOR96d] Horák, P., Tučková, J., Vích, R.: New Prosody Modelling System for Czech Text-to-Speech. In: D. Mehnert (ed.) Studientexte zur Sprachkommunikation. No. 13. - Elektronische Sprachsignalverarbeitung, Berlin, November 25–27, 1996, pp. 102–107.

[HOR97a] Horák, P.: Vyhlazování průběhu základního tónu řeči. 587. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR Praha, leden 1997.

[HOR97b] Horák, P.: Pitch frequency contour smoothing. In: Radioelektronika'97 Conference Proceedings, Slovak University of Technology in Bratislava, April 23–24, 1997, pp. 176–179.

[HOR97c] Horák, P., Ptáček, M.: Czech Diphone Synthesis with the New Diphone Inventory. In: 7th Czech-German Workshop Speech Processing, Prague, September 8–10, 1997, pp. 35–36.

[HOR97d] Horák, P.: L’état actuel de la synthèse tchèque à partir du texte écrit. In: Deuxièmes Journées Jeunes Chercheurs en Parole, FLASH La Rochelle, November 14–15, 1997, pp. 27.

[HOR98a] Horák, P., Hanika, J.: User Configurable Text-to-Speech System. In: Proc.of the 8th Nat. Scientific Conf. with Int. Participation Radioelektronika’98, Brno, Czech Republic, April 28–29, 1998, pp. 212–215.

Page 112: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

112

[HOR98b] Horák, P.: Modelování prozodie řeči pomocí lineární predikce. 600. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR Praha, červen 1998.

[HOR98c] Horák, P.: New Approaches in Czech Prosody Modelling. In: Proc. of the 14th Biennial Internat. Conf. Biosignal 98, Brno, June 23-25, 1998, pp. 203–205.

[HOR98d] Horák, P., Hanika, J.: Design of a Multilingual Speech Synthesis System. In: Sprach-kommunikation No. 152 , 9. Konferenz “Elektronische Sprachsignalverarbeitung”, Dresden, 31.8–2.9. 1998, pp. 127–128.

[HOR98e] Horák, P., Vaškových, M.: New Czech Diphone Inventory Segmentation Software. In: 8th Czech-German Workshop Speech Processing, Prague, September 14–16, 1998, pp. 50–52.

[HOR98f] Horák, P.: The LPC Analysis and Synthesis of F0 Contour. In: A Workshop on TEXT, SPEECH and DIALOG TSD’98, Brno, Czech Republic, September 23–26, 1998, pp. 219–222.

[HOR99a] Považanec, D., Horák, P., Fuchs, P.: Speech Synthesiser. In: Proc. of the 9th Nat. Scientific Conf. with Int. Participation Radioelektronika’99, Brno, Czech Republic, April 27–28, 1999, pp. 156–159.

[HOR99b] Horák, P.: SpeechStudio – Speech Analysis Software System. In: Proc. of the 9th Nat. Scientific Conf. with Int. Participation Radioelektronika’99, Brno, Czech Republic, April 27–28, 1999, pp. 427–430.

[HOR99c] Horák, P.: Lineárně prediktivní kódování průběhu F0. 609. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR Praha, červen 1999.

[HOR99d] Horák, P.: Automatic segmentation based on DTW with the application of the Czech TTS system. Lecture in: Management Committee of COST 258, Budapest, Hungary, September 10–11,1999.

[HOR99e] Horák, P.: Automatic Speech Segmentation Using Czech TTS. In: 9th Czech-German Workshop Speech Processing, Prague, September 13–15, 1999, pp. 37–38.

[HOR99f] Horák, P.: Software Tools for Prosody Reseach. In: Troisièmes Rencontres Jeunes Chercheurs en Parole RJC’99, Avignon, France, November 18–19, 1999.

[HOR00a] Horák, P., Hesounová, A.: Automatic Speech Segmentation with the Application of the Czech TTS System. In: Proc. of the 3rd International Workshop Text, Speech and Dialogue – TSD 2000, Brno, September 13–16, 2000, Czech Republic, pp. 201–206.

[HOR00b] Horák, P., Hesounová, A.: Měření trvání českých hlásek pomocí automatické segmentace řeči. 617. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR, Praha, 14. 6. 2000.

[HOR00c] Horák, P., Mejvaldová, J.: Software Tools in Czech Phonetic Research. In: Papers in Phonetics and Speech Processing, Forum Phoneticum 70, Z. Palková, H.-W. Wodarz (eds.), Frankfurt am Main, 2000, pp. 41–50.

[HOR01a] Horák, P.: Automatic Speech Segmentation Based on DTW with the Application of the Czech TTS System. In: Improvements in Speech Synthesis, Ed. by E. Keller, G. Bailly, A. Monaghan, J. Terken & M. Huckwale, John Wiley & Sons, Ltd., 2001, pp. 328–338.

[HOR01b] Horák, P., Hesounová, A.: Czech Triphone Synthesis of Female Voice. In: 11th Czech-German Workshop Speech Processing, (Ed.: Vích, R.), Prague, September 17–19, 2001, pp. 32–33.

[HOR01c] Horák, P.: Modelování prozodie češtiny pomocí Fujisakiho modelu. 628. kolokvium teorie obvodů, systémů a signálů, ÚRE AV ČR, Praha, 24. 10. 2001.

[IPA96] The International Phonetic Association: Reproduction of The International Phonetic Alphabet (Revised to 1993, Updated 1996) http://www2.arts.gla.ac.uk/IPA/ipachart.html .

[ITA69] Itakura, F., Saito, S.: Speech Analysis-Synthesis System based on the Partial Autocorrelation Coefficients. In: Proc. of the Acoustical Society of Japan Meeting, 1969.

[KEL94] Keller, E. (ed.): Fundamentals of Speech Synthesis and Speech Recognition. John Wiley & Sons Ltd., England, 1994.

[KRK98] Krkoška, M., Tučková, J., Musil, V.: A Neural Net Architecture in Czech Text-to-Speech Synthesis. Proc. of 5th Electronic Devices and Systems Conference EDS’98, Brno, June 1998 pp. 359-361.

[LER77] Leroux, J., Guegen, C.: A Fixed Point Computation of Partial Correlation Coefficients. In: IEEE Transactions on ASSP, June 1977, pp. 257-259.

[MAL97a] Malfrère, F., Dutoit, T.: Speech Synthesis for Text-To-Speech Alignment and Prosodic Feature Extraction. Proc. ISCAS 97, Hong-Kong, pp. 2637–2640.

[MAL97b] Malfrère, F., Dutoit, T.: High-Quality Speech Synthesis for Phonetic Speech Segmentation. In: Proc. EuroSpeech’97, Rhodes, Greece, pp. 2631–2634.

[MAR76] Markel, J. D., Gray, A. H.: Linear Prediction of Speech. Springer, New York, 1976. [MATE] MATE: A homepage of the MATE project (Multilevel Annotation, Tools Engineering; Telematics

Project LE4-8370) http://mate.nis.sdu.dk/ .

Page 113: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

113

[MEN00] Mengel, A., Dybkjaer, L., Garrido, J. M., Heid, U., Klein, M., Pirrelli, V., Poesio, M., Quazza, S., Schiffrin, A., and Soria, C.: MATE Dialogue Annotation Guidelines. January 8, 2000, http://www.ims.uni-stuttgart.de/projekte/mate/mdag/ .

[MER97] Mersdorf, J., Rinscheid, A., Brüggen, M., Schmidt, K. U.: Kodierung von Intonationsverläufen Mittels Linearer Prädiktion. In: Studientexte zur Sprachkommunikation, Achte Konferenz Elektronische Sprachsignalverarbeitung, Cottbus, 25.-27. August 1997, Germany, pp. 169–176;

[MIX98] Mixdorff, H.:Intonation Patterns of German – Model-based Quantitative Analysis and Synthesis of F0 contours. PGS Thesis, Technische Universität Dresden, 1998.

[MIX00] Mixdorff, H.: A Novel Approach to the Fully Automatic Extraction of Fujisaki Model Parameters. In: Proceedings of ICASSP 2000, Istanbul, Turkey, vol. 3, pp. 1281–1284.

[MOU90] Moulines, E., Charpentier, F.: Pitch Synchronous Waveform Processing Techniques for Text-to-Speech Synthesis Using Diphones. Speech Communication, 1990, 9(5/6), pp. 453–467.

[NOU97] Nouza, J., Psutka, J., Uhlíř, J.: Phonetic Alphabet for Speech Recognition of Czech. In: Radioengineering, 1997, Vol. 6, No. 4, pp. 16–19. ISSN 1210-2512.

[NOU00] Nouza, J., Myslivec, M.: Methods and Application of Phonetic Label Alignment in Speech Processing Tasks. In: Radioengineering, 2000, Vol. 9, No. 4, pp. 1–7.

[ÖHM67] Öhman, S.E.G.: Word and Sentence Intonation: A Quantitative Model. In: STL-QPSR 2-3, Royal Institute of Technology, Stockholm 1967, pp. 20–54.

[OPP75] Oppenheim, A. V., Schaffer, R. W.: Digital Processing of Signals. Prentice Hall, New Jersey, 1975. [PAL94] Palková, Z: Fonetika a fonologie češtiny. Univerzita Karlova, vydavatelství Karolinum, Praha 1994. [PAL95] Palková, Z., Ptáček, M.: Prosodic Issues in Czech: An Application in TTS. In: Proceedings of the 13th

International Congress of Phonetic Sciences ICPhS 95., Stockholm, Vol. 4, pp. 380–383. [PIE80] Pierrehumbert, J. B.: The Phonology and Phonetics of English Intonation. PhD thesis, MIT, 1980. [PŘI95] Přibil, J.: Pitch-synchronní syntezátor řeči s kepstrálními koeficienty. 1. medzinárodná konferencia

o telekomunikačných technológiach Telekomunikácie 95. Sborník referátů II. díl – vědecká sekce, Bratislava 31.5. – 1.6. 1995, str. 124–129.

[PŘI97] Přibil, J.: Použití kepstrálního modelu pro syntézu řeči. Dizertační práce ČVUT FEL, Praha 1997. [PTÁ92] Ptáček, M., Vích, R., Víchová, E.: Czech Text-to-Speech Synthesis by Concatenation of Parametric

Units. In: Proc. URSI ISSSE'92, Paris, France, pp. 230–232. [PTÁ93] Ptáček, M.: Vybrané statě z akustiky řeči. Skriptum Fonetického ústavu FF UK, Praha 1993. [PTÁ95] Ptáček, M., Janota, P.: Speech sound quantity in isolated Czech words. In: Proc. of the 32nd Czech

Conference on Acoustics, Prague 1995, pp. 67–70. [RAB78] Rabiner, L. R., Schaffer, R. W.: Digital Processing of Speech Signals, Prentice Hall, New Jersey 1978. [ROM85] Romportl, M.: Základy fonetiky (VŠ skripta). SPN, Praha 1985. [SAI92] Saito, S.: Speech Science and Technology. Ohmsha, Tokyo 1992. [SAK78] Sakoe, H., Chiba, S.: Dynamic Programming Algorithm Optimization for Spoken Word Recognition.

In: IEEE Trans. on Acoustics, Speech and Signal Proc., Vol. ASSP-26, 1978, pp. 43–49. [SCH97] Schwarzenberg, M., Vích, R.: Robuste Grundfrequenzbestimmung durch Korrelationsanalyse im

Frequenzbereich. In: Fortschritte der Akustik 21. Deutsche Jahrestagung für Akustik, DAGA 95, Saarbrücken, 13.–17.3.1995, Vol.II, pp. 1019–1022.

[SIL92] Silverman, K., Beckman, M., Petrelli, J., Ostendorf, M., Wightman, C., Price, P., Pierrehumbert, J. and Hirschberg, J.: ToBI: A Standard for Labelling English Prosody. In: Proc. Int. Conf. On Spoken Language Processing ICSLP'92, Banff, Canada, 1992, pp. 867–870.

[SMÉ98] Smékal, Z., Vích, R.: Zpracování signálů pomocí signálových procesorů. RADIX spol. s r.o., Praha 1998.

[STR99] Strecha, G.: Automatic Segmentation of Speech Signal. Pre-diploma stay final report, IREE Academy of Sciences, Czech Republic, 1999 (in German).

[ŠNO96] Šnorek, M., Jiřina, M.: Neuronové sítě a neuropočítače. Skriptum ČVUT, vydavatelství ČVUT, Praha 1996.

[TOBI] ToBI homepage http://ling.ohio-state.edu/~tobi/ . [TUČ96] Tučková, J.: Comparison of Two Approaches in the Fundamental Frequency Control by Neural Nets.

6th Czech-German Workshop Speech Processing, September 2-4, 1996, Prague.

Page 114: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

114

[TUČ97a] Tučková, J., Horák, P.: Fundamental Frequency Control in Czech Text-to-Speech Synthesis. Third Workshop on Electronic Control and Measuring Systems, Université Paul Sabatier, Toulouse, France, June 1997, pp.80–84.

[TUČ97b] Tučková, J.: Influence of the Input Data on Neural Net F0 Training. 7th Czech-German Workshop Speech Processing, Prague, September 1997, p. 31.

[TUČ97c] Tučková, J., Boreš, P.: The Neural Network Approach in Fundamental Frequency Control. Speech Processing: Forum Phoneticum (Ed.: Wodarz, H.-W.), Frankfurt am Main, Hector Verlag, 1997, pp.143–154.

[TUČ97d] Tučková, J.,Vích, R.: Fundamental Frequency Modelling by Neural Nets in Czech Text-to-Speech Synthesis. Proc.of the IASTED Int. Conf. "Signal and Image Processing-SIP'97, New Orleans, Louisiana, USA, December 1997, pp. 85–88.

[TUČ98] Tučková, J.: Fundamental Frequency Control in TTS System. Proc. of 8th Int. Czech-Slovak Scientific Conf. Radioelektronika’98, Brno, April 1998.

[TUČ99] J. Tučková, G. Strecha, Automatic Labelling of Natural Speech by Comparison with Synthetic Speech. In: Proc. of the 4th Int. Workshop on Electronics, Control, Measurement and Signals ECMS’99, Liberec, Czech Republic, May 31 - June 1, 1999, pp. 156–159.

[UHL95] Uhlíř, J., Sovka, P.: Číslicové zpracování signálů. Vydavatelství ČVUT, Praha 1995. [VÍC83] Vích, R.: Transformace Z a některá její použití. Matematický seminář SNTL č. 15, Praha 1983. [VÍC94a] Vích, R., Horák, P., Víchová, E.: Experimente mit der Synthese der Frauenstimme. In: DAGA 94 -

20th Annual Conference on Acoustics, Dresden, March 14–17, 1994, Part C, pp. 1317–1320. [VÍC94b] Vích, R., Horák, P.: Spectral Smoothing of Voiced Speech Signals by Hidden Homomorphic

Processing. In: 12th Internat. Conf. Biosignal’94, Brno, June 28–30, 1994, pp. 142–144. [VÍC95a] Vích, R.: Pitch Synchronous Linear Predictive Czech and Slovak Text-to-Speech Synthesis. In: Proc.

of the 15th Internat. Congress on Acoustics, Trondheim, Norway, June 26–30, 1995, Vol. 3, pp. 181–184. [VÍC95b] Vích., R., Horák, P., Schwarzenberg, M.: Korrelation von Sprachsignalen im Zeit und

Frequenzbereich. In: R. Hoffmann u. R. Ose (Hrsg): Sechste Konferenz Elektronische Sprachsignalverarbeitung, Wolfenbüttel, September 4.–6., 1995, pp. 10–13.

[VÍC96a] Vích, R., Horák, P.: Text-to-Speech Conversion. History and Present State. In: Proc. 6th Nat. Scient. Conf. Radioelektronika 96, Brno, April 23–24, 1996, pp. 1–7 (Invited paper).

[VÍC96b] Vích, R., Horák, P.: Text-to-Speech Conversion. History and Present State. In: Proc. of the 13th Biennial Internat. Conf. Biosignal 96, Brno, June 25–27, 1996, pp. 323–328 (Invited paper).

[VÍC96c] Vích, R., Tučková, J.: Neural Network Application in Czech Text-to-Speech Synthesis. In: Proc. of the IASTED Int. Conf. Signal and Image Processing and Applications-SIPA’96, Annecy-France, June 1996, pp. 242–244.

[WEL92] Wells, J.C., Barry, W., Grice, M., Fourcin, A., Gibbon, D.: Standard Computer-compatible Transcription. Esprit project 2589 (SAM), Doc. no. SAM-UCL-037. London, Phonetics and Linguistics Department, UCL, 1992.

[WEL00] Wells, J.C.: SAMPA – computer readable phonetic alphabet http://www.phon.ucl.ac.uk/home/sampa/home.htm .

[WIT82] Witten, I. H.: Principles of Computer Speech. Academic Press, London 1982.

Page 115: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

115

10 Rejstřík

A algoritmus

DTW, 59, 61 Leroux-Guegenův, 41 Levinson-Durbinův, 31 označování pitchpulsů, 42

antikadence, 22 stoupavá, 22 stoupavě klesavá, 23

aproximace zbytkového signálu, 53

D databáze řečová, 59, 110

decimace, 40 detektor

základního tónu, 41 E energie

signálu krátkodobá (STE), 60 Epos, 13, 55, 59, 88, 111 Epos TSR Tracking, 72 F filtr

decimační, 37 dekorelační, 30 FIR, 39 rekonstrukční, 42 syntetizující, 30

filtru analyzující, 30

fonetická transkripce, 17, 19 fonetický přepis, 83 formanty, 14 frázování, 21 G GTK WavEdit, 70 H hlasové ústrojí, 14 Ch charakteristika

impulsní, 37 kmitočtová, 37

chyba střední kvadratická, 47

I interpolace

lineární, 39 intonace, 19 INTSINT, 26

K kadence, 21

konkluzívní, 22 kategorie

hlásek, 63 vět, 80

koeficienty kepstrální, 60 lineárně predikční, 60 váhovací, 61, 62

korpus. viz. databáze řečová prozodický, 59, 80

L lineární predikce, 8, 13, 18, 29, 30, 33, 37, 40, 41,

42, 43, 44, 55, 73, 77, 112 M matice

distanční, 62 vzdáleností, 62

melodém, 21 melodie

větná, 20, 23 mikrointonace, 19 model

intonační Fujisakiho, 67 intonační LPC, 67 parametrický, 30

modelování prozodie, 100, 105 modely

intonační, 26 P pauza, 21 počet průchodů nulou, 60 polokadence, 23

bezpříznaková stoupavá, 23 příznaková klesavá, 23 příznaková stoupavá, 23

pravidla, 71, 85 podmíněná, 87 prozodická, 86 řízená obsahem, 85 strukturovaná, 86 využívající slovníky, 85

prozodie, 9, 13, 16, 18, 19, 25, 37, 43, 59, 77, 111, 112

předrážka, 20 předtaktí. viz předrážka přízvuk, 24

slovní, 20 větný, 21, 22

přízvukový takt. viz takt přízvukový PSOLA, 25, 68

Page 116: MODELOVÁNÍ SUPRASEGMENTÁLNÍCH RYSŮ MLUVENÉ …epos.ufe.cz/publications/2002/ph_dis.pdf · Tab. 5.8 Statistika středních kvadratických chyb pro slabiky a přízvukové takty

116

R redundance, 47 řeč, 14 S SAMPA, 17 segmentace

automatická, 60 SpeechStudio, 68 spektrogram, 15 syntéza řeči

formantová, 19, 25 v časové oblasti, 25

T takt

přízvukový, 20, 21 tempo řeči, 21 ToBI, 26 transkripce

fonetická, 97

tsrtool. viz. Epos TSR Tracking TTS systém, 13, 16 umělé neuronové sítě (UNS), 18 U úsek

intonační, 21 promluvový, 22, viz úsek intonační

V věta, 21

neutrální oznamovací, 23 W WinSay, 71 Z značky, 68 zpracování textu, 16


Recommended