i elektroniki katedra elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · praca inzynierska...

48
Kraków, rok akademicki 2011/2012 AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Elektroniki PRACA DYPLOMOWA Inżynierska Konkatenacyjny syntezator mowy polskiej Concatenative Polish speech synthesis Gęgotek Paulina Korzec Daria Inżynieria Akustyczna (studia międzykierunkowe) Opiekun pracy Dr inż. Jakub Gałka

Upload: dangkhanh

Post on 28-Feb-2019

261 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Kraków, rok akademicki 2011/2012

AKADEMIA GÓRNICZO-HUTNICZA

IM. STANISŁAWA STASZICA W KRAKOWIE

Wydział Elektrotechniki, Automatyki, Informatyki

i Elektroniki

Katedra Elektroniki

PRACA DYPLOMOWA Inżynierska

Konkatenacyjny syntezator mowy polskiej

Concatenative Polish speech synthesis

Gęgotek Paulina

Korzec Daria Inżynieria Akustyczna (studia międzykierunkowe)

Opiekun pracy Dr inż. Jakub Gałka

Page 2: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Oświadczamy, świadomi odpowiedzialności

karnej za poświadczenie nieprawdy,

że niniejszą pracę dyplomową wykonaliśmy

osobiście i samodzielnie (w zakresie

wyszczególnionym we wstępie),

i że nie korzystaliśmy ze źródeł innych niż

wymienione w pracy.

Page 3: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Spis tresci

1. Wprowadzenie ................................................................................................................................ 7

2. Opis teoretyczny ............................................................................................................................. 9

2.1. Rodzaje syntezy mowy ........................................................................................................... 9

2.2. Narzad mowy człowieka......................................................................................................... 9

2.3. Fonetyka jezyka polskiego...................................................................................................... 11

2.3.1. Klasyfikacja głosek .................................................................................................... 11

2.3.2. Samogłoski................................................................................................................. 13

2.3.3. Spółgłoski................................................................................................................... 13

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego................................................. 14

2.4.1. Koartykulacja ............................................................................................................. 14

2.4.2. Palatalizacja (zmiekczenie)........................................................................................ 15

2.4.3. Prozodia w jezyku polskim ........................................................................................ 15

3. Realizacja........................................................................................................................................ 19

3.1. Baza nagran sygnałów mowy Corpora ................................................................................... 19

3.1.1. Segmentacja nagran ................................................................................................... 20

3.2. Transkrypcja fonetyczna – OrtFon AGH................................................................................ 21

3.3. Biblioteka BASS..................................................................................................................... 22

3.4. Funkcja kosztu ........................................................................................................................ 23

3.4.1. Energia ....................................................................................................................... 24

3.4.2. Ton krtaniowy ............................................................................................................ 24

3.4.3. MFCC......................................................................................................................... 24

3.4.4. LPC ............................................................................................................................ 25

3.4.5. Metryka Euklidesowa................................................................................................. 26

3.4.6. Metryka miejska......................................................................................................... 26

3.5. Grafy – struktura danych ........................................................................................................ 26

3.5.1. Wizualizacja grafów za pomoca Graphviz................................................................. 27

3.5.2. Algorytm Floyda-Warshalla....................................................................................... 27

3.5.3. Algorytm Dijkstry ...................................................................................................... 28

5

Page 4: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

SPIS TRESCI 6

4. Efekty pracy ................................................................................................................................... 29

4.1. Struktura programu................................................................................................................. 29

4.1.1. Wywoływanie OrtFona .............................................................................................. 29

4.1.2. Tworzenie listy fonemów........................................................................................... 30

4.1.3. Obliczanie funkcji kosztu........................................................................................... 31

4.1.4. Tworzenie grafu ......................................................................................................... 32

4.1.5. Obliczanie najmniejszego kosztu sciezki................................................................... 34

4.1.6. Sposób wykorzystania biblioteki Bass....................................................................... 35

4.2. Interfejs uzytkownika.............................................................................................................. 36

4.2.1. Interfejs graficzny....................................................................................................... 36

4.2.2. Obsługa programu...................................................................................................... 36

4.3. Ocena syntenzy ....................................................................................................................... 37

5. Wnioski ........................................................................................................................................... 41

Bibliografia ........................................................................................................................................... 43

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 5: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

1. Wprowadzenie

Celem niniejszej pracy było stworzenie syntezatora mowy polskiej metoda konkatenacji. Metoda

ta opiera sie na łaczeniu jednostek fonetycznych z istniejacej juz bazy nagran mówcy w taki sposób,

aby zachowana była prozodia charakterystyczna dla jezyka polskiego. W tym celu zaimplementowano

program syntezujacy dowolne polskie słowa, a jakosc tej syntezy została oceniona przez subiektywne

testy MOS1 według rekomendacji ITU-T2 P.800.

Autorki pracy wybrały ten temat ze wzgledu na wciaz istniejacy problem syntezy mowy na poziomie

jak najbardziej zblizonym do mowy naturalnej. Zrozumiałosc wygenerowanych dzwieków nie jest juz

wyzwaniem, ale wciaz trwaja prace nad uwzglednieniem takich własciwosci mowy jak intonacja, akcent,

wyrazanie emocji. Konkatenacja zdaje sie byc odpowiednia metoda syntezy do próby rozwiazania tego

problemu. Istnieja trzy podstawowe metody realizacji konkatenacyjnej syntezy mowy: łaczenie krót-

kich segmentów fonetycznych (fonemy, difony); łaczenia wiekszych segmentów jak trifony, sylaby, całe

słowa; łaczenie segmentów o róznej długosci.

Najprostsze wydaje sie byc sklejanie najmniejszych jednostek mowy, jednak w tym przypadku po-

jawia sie problemem zwiazany z brakiem płynnosci brzmienia w miejscach konkatenacji, gdyz brzmienie

poszczególnych fonemów jest scisle zalezne od sasiadujacych z nimi innych fonemów. Do tej metody

stosuje sie zatem baze złozona z difonów (jednostek akustycznych zaczynajacych sie w połowie pier-

wszego, a konczacych sie w połowie drugiego fonemu – wyznaczenie srodka realizacji głoski moze

byc problematyczne). Wielkosc tej bazy zalezy od fonotaktyki danego jezyka i moze zawierac ok. 1300

difonów dla jezyka polskiego. Synteza ta metoda daje dosc dobre efekty – mowa jest zrozumiała dla

słuchacza, ale nie zachowuje naturalnej prozodii.

O wiele lepszym rozwiazaniem wydaje sie byc uzycie wiekszych zlepków słów – trifonów, sylab

lub nawet całych wyrazów. Pozwala to zachowac naturalnosc przejsc miedzy fonemami, jednak baza

nagran drastycznie sie zwieksza (w jezyku polskim mozna wyróznic 37 róznych fonemów, ok. 1300

difonów oraz ponad 40000 sylab potrzebnych do utworzenia dowolnego słowa). Taka metoda jest szeroko

stosowana zwłaszcza w systemach, które nie posiadaja duzego słownika, np. w zegarach podajacych

godzine. Wybór wyrazów jest tutaj ograniczony, a wiec mozna stworzyc taka baze nagran, która bedzie

zawierac gotowe słowa z zachowana naturalna intonacja.

Opisana synteza jest jednak mało uniwersalna, skuteczna jedynie dla konkretnego zastosowania. Co

zrobic w sytuacji, gdy słownik nie jest ograniczony do kilkudziesieciu wyrazów, a zalezy nam na uzyska-

1ang. Mean Opinion Score2ang. International Telecommunication Union - Telecommunication Standardization Sector

7

Page 6: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

8

niu efektu naturalnej mowy ludzkiej? Z pomoca przychodzi stosunkowo niedawno wymyslona metoda

selekcji jednostek (w jezyku polskim nazywana równiez korpusowa). Opiera sie na efektywnych algo-

rytmach wyszukiwania jak najwiekszych fragmentów bazy nagran odpowiadajacych fragmentom synte-

zowanego tekstu. Pozwala to w duzej mierze na zachowanie naturalnych przejsc pomiedzy jednostkami

fonetycznymi, gdyz mozliwie długie zlepki fonemów pozostaja w swoim oryginalnym sasiedztwie.

Oczywiscie, jezeli zalezy nam na jak najlepszej prozodii, musimy wykorzystac jak najwieksza baze

nagran.

Z załozenia syntezator miał opierac sie na gotowej juz bazie nagran mówców, zadaniem autorek

było odpowiednie złaczenie takich fonemów, aby syntezowana mowa zachowała prozodie. W tym celu

nalezało znalezc odpowiedni algorytm doboru jednostek fonetycznych. Do transkrypcji fonetycznej z or-

tograficznej uzyto programu OrtFon AGH. Efekt został oceniony subiektywnymi metodami MOS.

Praca inzynierska składa sie z trzech czesci. W pierwszej opisano podstawowe zjawiska zwiazane

z generowaniem mowy ludzkiej, charakterystyke fonetyki jezyka polskiego oraz jego prozodii. Przed-

stawione zostały równiez pojecia zwiazane z realizacja syntezy. Nastepny rozdział zajmuje sie dokład-

nie opisem projektu od strony technicznej - uzyte narzedzia oraz problemy napotkane na drodze real-

izacji. Ostatnia czesc opisuje otrzymany efekt: budowe wewnetrzna oraz zewnetrzna programu, ocene

otrzymanej syntezy. Na koncu sformułowane zostały wnioski oraz ocena stopnia rozwiazania opisanego

problemu.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 7: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2. Opis teoretyczny

2.1. Rodzaje syntezy mowy

Mozna wyróznic cztery typy syntezy mowy:- formantowa;- artykulacyjna;- konkatenacyjna;- korpusowa, bedaca modyfikacja metody konkatenacyjnej.

1. Synteza formantowa – modelem tego syntezatora sa filtry cyfrowe kształtujace charakterystyke

czestotliwosciowa wygenerowanego sygnału, tak by odpowiadała charakterystyce danej głoski,

odzwierciedlajac jej charakterystyczne formanty. Syntezowana mowa jest niskiej jakosci.

2. Synteza artykulacyjna – podobnie jak w przypadku syntezy formantowej jest to model oparty

na generowaniu mowy za pomoca zbioru reguł. Model ten odzwierciedla działanie ludzkiego toru

głosowego. Synteza jest realizowana za pomoca analogowego urzadzenia elektromagnetycznego

i, ze wzgledu na skomplikowana budowe tego urzadzenia, nie jest praktycznie uzywana.

3. Synteza konkatenacyjna – metoda ta generuje mowe poprzez sklejanie posegmentowanych na-

gran głosu lektora. Nagrania sa odpowiednio przetworzone i oznaczone, w przygotowanej bazie sa

wyszukiwane, a nastepnie modyfikowane i łaczone poszczególne segmenty. Segmenty akustyczne

moga stanowic fony, difony, sekwencje fonemów, półsylaby, sylaby. Metoda ta pozwala na dosc

naturalne zsyntezowanie sygnału mowy przy niewielkim rozmiarze bazy danych. Problem w tej

metodzie moze natomiast stanowic łaczenie fragmentów nagranych w róznych kontekstach (pozy-

cja w zdaniu, typ wypowiedzi) oraz modyfikacja prozodii.

4. Synteza korpusowa – opiera sie na zasadach takich jak metoda konkatenacyjna, z ta róznica,

ze baza nagran jest duzo wieksza i zawiera segmenty róznej długosci – jednoczesnie np. di-

fony i sylaby, przy czym kazda jednostka jest reprezentowana wielokrotnie. Fragmenty nagran

sa dobierane za pomoca funkcji kosztu. Funkcja kosztu oszacowuje, który sposób wygenerowania

danej wypowiedzi bedzie najbardziej optymalny – które fragmenty maja odpowiedni czas trwania

oraz odpowiednia intonacje.

2.2. Narzad mowy człowieka

Budowa narzadów mowy pozwala lepiej zrozumiec kwestie zwiazane z powstawaniem artykulacji.

9

Page 8: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.2. Narzad mowy człowieka 10

Narzad mowy składa sie z trzech odcinków:

1. Płuca – z których wydobywa sie powietrze wprawiajace w drgania wiazadła głosowe, co w kon-

sekwencji powoduje powstawanie drgan równiez w kolejnych odcinkach kanału głosowego.

Podczas wdechu powieksza sie objetosc jam opłucnowych, co z kolei powoduje powiekszenie ob-

jetosci pecherzyków płucnych. Cisnienie powietrza wewnatrz pecherzyków spada i w ten sposób,

poprzez napływ powietrza z zewnatrz, dochodzi do wyrównywania cisnien.

W trakcie wydechu natomiast zmniejsza sie objetosc jam opłucnowych, powodujac zmniejsze-

nie objetosci płuc oraz wzrost cisnienia w obrebie pecherzyków płucnych. Powietrze ponownie

na zasadzie wyrównywania cisnien wydostaje sie na zewnatrz.

Powietrze z płuc przedostaje sie do tchawicy, a nastepnie do krtani.

2. Krtan – własciwym generatorem drgan jest krtan. Wewnatrz krtani, połozone w jej poprzek, znaj-

duja sie dwie pary fałdów utworzonych przez miesnie i wiezadła. Odgrywaja one zasadnicza role

w procesie fonacji. Dolna para fałd to fałdy głosowe, na których brzegu znajduja sie wiezadła

głosowe. Wiezadła moga sie od siebie oddalac lub przyblizac. Przestrzen powstała pomiedzy

wiezadłami nazywana jest szpara głosni. Do powstania dzwieku niezbedne jest wytworzenie dr-

gan powietrza przechodzacego przez szpare głosni. Drgania te powstaja w nastepujacy sposób:

podczas wdechu w płucach gromadzi sie dostateczna ilosc powietrza. Na skutek ruchów miesni

oddechowych powietrze jest wydychane, co wprawia fałdy głosowe w drgania. Fałdy głosowe pod-

czas wydechu scisle przylegaja do siebie, co powoduje wzrost cisnienia ponizej fałdów, w okolicy

podgłosniowej. Gdy cisnienie przekroczy wartosc krytyczna, nastepuje rozwarcie szpary głosni.

Powietrze przepływa przez szpare. Powoduje to spadek cisnienia podgłosniowego i powrót fałdów

głosowych do pierwotnego połozenia – zwarcia. Naprzemienne cykle rozwierania i zwierania

fałdów głosowych powoduja powstawanie dzwieku – tonu krtaniowego. Charakter tonu krtan-

iowego jest zalezny od własciwosci fałdów głosowych: długosci, napiecia, elastycznosci i masy,

a takze od charakteru przepływu powietrza. Ton podstawowy zmienia swoja czestotliwosc, co

jest podstawowym czynnikiem kształtujacym intonacje wypowiedzi oraz melodie głosu. Intonacja

i modulacja głosu umozliwiaja identyfikacje mówcy. Czestotliwosc wibracji dla głosu meskiego

wynosi w mowie około 80-160 Hz, dla głosu zenskiego około 200-400 Hz. Wiezadła głosowe

wibruja podczas wymawiania głosek dzwiecznych.

3. Nasada – powstały w wyniku ruchów fałdów głosowych ton krtaniowy posiada okreslonawysokosc i natezenie, jest jednak słaby i bezbarwny. Dzwiek nabiera odpowiedniej siły i barwyw strukturach lezacych powyzej szpary głosni przez wzmocnienie lub osłabienie niektórych skład-owych tonu krtaniowego – powstaje głos artykułowany. Rezonatory nasady to:

- jama nosowa;

- gardło;

- jama ustna.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 9: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.3. Fonetyka jezyka polskiego 11

W jamie ustnej znajduja sie narzady ruchome jak jezyk, wargi, podniebienie miekkie oraz nieruchome

jak zeby, dziasła, podniebienie twarde. Na skutek ruchów narzadów ruchomych oraz ruchów zwierania

i rozwierania szczek głos artukułowany jest zamieniany na głoski mowy.

Widmo danej głoski dzwiecznej powstaje jako nałozenie charakterystyki czestotliwosciowej traktu

głosowego na widmo tonu krtaniowego. W charakterystyce traktu głosowego maksima reprezentuja re-

zonanse poszczególnych narzadów. W rezultacie powstaje dla kazdej głoski odmienne widmo zalezne

od konfiguracji narzadów mowy w chwili artykulacji danej głoski, co umozliwia jej identyfikacje.

Tworzenie głosu i mowy wymaga współdziałania wszystkich wymienionych wyzej elementów. Jest

kontrolowane przy pomocy słuchu oraz osrodkowego układu nerwowego.

Figure 2.1: Narzady mowy człowieka

2.3. Fonetyka jezyka polskiego

Mowa składa sie z szeregu dzwieków zwanych głoskami. Głoska to najmniejszy element, który daje

sie wydzielic w czasie oraz intuicyjnie rozpoznac, bez własnego znaczenia. Głoske mozna wydzielic

w wyrazie poprzez jej stały zestaw cech artykulacyjno-akustycznych.

2.3.1. Klasyfikacja głosek

Kryterium akustyczne podziału głosek

Fonetyka akustyczna bada dzwieki ze wzgledu na własciwosci fizyczne fal wytwarzanych pod-

czas mówienia.

W podziale akustycznym wyróznia sie:

– Rezonanty – głoski, których przebiegi akustyczne wykazuja regularnosc lub maja przebieg tzw.

quasi-periodyczny: /a/, /o/, /u/, /e/, /m/, /n/, /l/, /j/, /w/, /i/,/ y/, /e/, /a/,

– Głoski plozywne (wybuchowe, plozje) – odpowiadaja im krótkie nieregularne przebiegi: /p/, /t/,

/k/, /g/, /b/, /d/;

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 10: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.3. Fonetyka jezyka polskiego 12

– Frykaty – składaja sie z przebiegów nieregularnych zwanych frykcjami: /f/, /s/, /s/, /sz/;

– Afrykaty – głoski o przebiegu nieregularnym, których frykcje poprzedzone sa słabym impulsem:

/cz/;

– Głoski nosowe – w ich widmie mozna zaobserwowac silne tłumienie składowych o wyzszych

czestotliwosciach oraz antyformanty około 900 Hz. Samogłoski nosowe w polskim maja realiza-

cje dyftongiczna. Otwarcie nosowe nie jest zsynchronizowane z otwarciem ustnym – samogłoska

nosowa poczatkowo jest ustna, po czym nastepuje płynne otwarcie kanału nosowego i przejscie

do artykulacji nosowej. Moze to powodowac problemy przy konkatenacyjnej syntezie mowy;

– Głoski ustne.

Kryterium artykulacyjne podziału głosek:

Kryterium artykulacyjne okresla mechanizmy wytwarzania dzwieków, udział poszczególnych

narzadów mowy i ich zachowanie podczas procesu wytwarzania mowy.

Podstawowym podziałem w tej klasyfikacji jest podział na spółgłoski i samogłoski. Przy wytwarza-

niu samogłosek w srodkowej czesci toru głosowego powstaje kanał bez duzych zwezen. Spółgłoski to

głoski z wargowa, przedniojezykowa, srodkowojezykowa oraz tylnojezykowa artykulacja.

Ze wzgledu na zachowanie sie wiezadeł głosowych głoski dzielimy na dzwieczne i bezdzwieczne.

Dzwieczne powstaja, gdy zsuniete wiezadła głosowe wibruja, wytwarzajac ton podstawowy.

Bezdzwieczne powstaja przy rozsunietej głosni.

Ze wzgledu na stopien zblizenia narzadów mowy wyróznia sie głoski:

- otwarte ;

- nosowe ;

- boczne;

- drzace ;

- półsamogłoskowe (otwarte niesylabiczne) ;

- szczelinowe ;

- zwarto-szczelinowe;

- zwarto-wybuchowe .

Ze wzgledu na miejsce artykulacji głoski dzielimy na:

- Dwuwargowe ;

- Wargowo-zebowe;

- Przedniojezykowe-zebowe;

- Przedniojezykowe-dziasłowe;

- Srodkowojezykowe;

- Tylnojezykowe (welarne).

Wszystkie polskie głoski sa głoskami ekspiracyjnymi – modyfikacja wydechu.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 11: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.3. Fonetyka jezyka polskiego 13

2.3.2. Samogłoski

Wszystkie samogłoski sa dzwieczne, o przebiegach prawie regularnych. Dla ich artykulacji wazne

sa poziome i pionowe ruchy jezyka. Samogłoski sa osrodkami sylab – kazda sylaba zawiera jedna

samogłoske.

W jezyku polskim mozna wyróznic osiem samogłosek, szesc ustnych: /a/, /u/, /o/, /e/, /y/, /i/ oraz dwie

nosowe: /e/ i /a/. Samogłoski nosowe sa własciwie samogłoskami /e/ i /o/ wymówionymi z nazalizacja.

Zachowuja swój nosowy charakter tylko, gdy nastepuja po nich frykatywne spółgłoski. W innych przy-

padkach wymawia sie je jako:

- /e/ i /o/, jesli nastepuje po nich /l/ lub /ł/;

- /eł/ i /oł/, jesli nastepuje po nich /s/ lub /z/;

- /e/ i /o/ + nosowe /m/ lub /n/, jesli nastepuja po nich głoski plosywne lub afrykaty:

1. /p/ lub /b/ – /em/ i /om/;

2. /t/, /d/, /c/ lub /dz/ – /en/ i /on/;

3. /k/ lub /g/ – /eN/ i /oN/.

2.3.3. Spółgłoski

Kazda spółgłoske mozna jednoznacznie wyróznic za pomoca trzech cech zwiazanych ze sposobem

artykulacji (stopniem zblizenia narzadów mowy), miejscem artykulacji w jamie ustnej oraz drganiami

wiazadeł głosowych badz ich brakiem.

Ze wzgledu na sposób artykulacji wyrózniamy spółgłoski półotwarte (sonorne) oraz spółgłoski włas-

ciwe. Spółgłoski półotwarte to: otwarte niesylabiczne, boczne, drzace, nosowe. Wyrózniaja je prze-

biegi złozone z drgan regularnych – jak u samogłosek – oraz naddzwiecznosc – brak bezdzwiecznych

odpowiedników. Spółgłoski własciwe (szczelinowe, zwarto-szczelinowe, zwarto-wybuchowe) posiadaja

bezdzwieczne odpowiedniki.

Dodatkowa cecha opisu spółgłosek jest ich twardosc lub miekkosc. Jest to cecha pochodna od miejsca

artykulacji: kazda spółgłoska srodkowojezykowa jest miekka, pozostałe sa twarde.

Dwie takie same spółgłoski, gdy wystepuja jedna po drugiej, sa wymawiane jako jedna długa

spółgłoska, jednak w przypadku dwóch głosek wybuchowych pierwsza jest wymawiana jako krótka

przerwa. Spółgłoska /ł/ przewaznie nie jest wymawiana gdy znajduje sie miedzy spółgłoskami

lub po spółgłosce innej niz /r/.

Dla jezyka polskiego mozna wyróznic 37 fonemów (fonemem nazywamy najmniejszy funkcjonalny

element systemu jezykowego rozróznialny dla uzytkownika danego jezyka i niosacy znaczenie). Przed-

stawione sa one w tabeli nr 2.1.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 12: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego 14

Fonem walfabecie IPA

Litera walfabeciejezyka

polskiego

Fonem walfabecie IPA

Litera walfabeciejezyka

polskiego

Fonem walfabecie IPA

Litera walfabeciejezyka

polskiegoA a j j ù sz

O (nosowe) a k k t tb b l l u uts c w ł v wtC c m m 1 ytù cz n n z zd d ñ n ü z

E e ïn (zapis

fonemu N)ý z

E (nosowe) e O o dz dzf f p p dü dzg g r r dý dzx h s si i C s

Table 2.1: Fonemy jezyka polskiego

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego

2.4.1. Koartykulacja

Koartykulacja jest tendencja do łagodzenia kontrastów miedzy głoskami wystepujacymi obok siebie.

Zachodzi dla sasiednich głosek w jednym wyrazie, a takze dla wyrazów sasiednich (jeden wyraz konczy

sie na spółgłoske szczelinowa lub zwarto-szczelinowa, drugi na taka głoske sie zaczyna). Zjawisko to

ma wpływ głównie na spółgłoski; jedynymi samogłoskami ulegajacymi zjawisku asymilacji sa /a/ i /e/.

Koartykulacja polega na zmianie miejsca artykulacji, czego rezultatem jest zamiana głoski

dzwiecznej na bezdzwieczna i odwrotnie, w zaleznosci od głosek sasiednich. Ma wpływ na głoski, które

maja swoje dzwieczne/ bezdzwieczne odpowiedniki.

Głoski podlegajace zjawisku koartykulacji:

– dzwieczne: /b/, /d/, /g/, /w/, /z/, /z/ (/rz/), /z/, /dz/, /dz/, /dz/;

– bedzwieczne: /p/, /t/, /k/, /f/, /s/, /sz/, /s/, /c/, /cz/, /c/.

Głoski dzwieczne nie majace swoich bezdzwiecznych odpowiedników, czyli: /m/, /n/, /n/, /l/, /ł/, /r/, nie

ulegaja temu zjawisku.

W jezyku polskim dzwieczne głoski wybuchowe, frykaty oraz afrykaty wystepujace na koncu słowa,

bedacego ostatnim słowem zdania lub wypowiadanego pojedynczo, sa wypowiadane jako bezdzwieczne.

Powoduje to nastepujace zamiany: /b/ – /p/; /d/ – /t/; /g/ – /k/; /w/ – /f/; /z/ – /s/; /z/rz/ – /sz/; /z/ – /s/; /dz/

– /c/; /dz/ – /c/.

Drugim przypadkiem wystepowania koartykulacji jest sytuacja, gdy w słowie wystepuje grupa

dwóch lub trzech spółgłosek (plozja, frykata, afrykata), w której wystepuja zarówno głoska dzwieczna

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 13: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego 15

jak i bezdzwieczna. Grupa ta jest wymawiana w całosci jako dzwieczna lub bezdzwieczna w zaleznosci

od rodzaju ostatniej głoski grupy.

Grupy, które ulegaja ubezdzwiecznieniu:

– grupa dwóch głosek: /bk/ – /pk/; /wsz/ – /fsz/; /zs/ – /ss/; /bs/ – /ps/; /bch/ – /pch/; /bc/ – /pc/; /dzk/

– /ck/; /wp/ – /fp/; /zk/ – /szk/; /wc/ – /fc/; /zc/ – /sc/;

– grupa trzech głosek: /bsk/ – /psk/; /dsk/ – /tsk/; /bszcz/ – /pszcz/; /dsc/ – /tsc/; /wsp/ – /fsp/; /wszcz/

– /fszcz/; /wsc/ – /fsc/; /zdk/ – /stk/; /zdzc/ – /scc/; /zdzk/ – /szczk/; /wsch/ – /fsch/.

Grupy, które ulegaja udzwiecznieniu:

– /kz/ – /gz/; /sb/– /zb/; /czb/ – /dzb/.

Wyjatkiem jest sytuacja, gdy na koncu grupy wystepuje /w/ lub /rz/ (nie dotyczy to głoski /z/) poprzed-

zona głoska bezdzwieczna. Wówczas /w/ i /rz/ traca swoja dzwiecznosc i zamieniaja sie w /f/ i /sz/.

W tym przypadku nastepuje asymilacja progresywna.

W przypadku koartykulacji miedzywyrazowej dzwiecznosc jest uwarunkowana jakoscia brzmienia

spółgłoski zaczynajacej drugi wyraz.

2.4.2. Palatalizacja (zmiekczenie)

W jezyku polskim wyrózniamy spółgłoski miekkie (srodkowojezykowe) oraz twarde (pozostałe

miejsca artykulacji). Spółgłoski srodkowojezykowe sa artykułowane za pomoca wyraznego uniesienia

srodkowej czesci jezyka i zblizeniu jej do podniebienia twardego, tworzac zwarcie lub szczeline. Zalicza

sie do nich: /s/, /z/, /c/, /dz/, /n/. Stanowia one odrebny dzwiek, nie sa miekkimi realizacjami głosek /s/,

/z/, /c/, /dz/, /n/.

Spółgłoski zmiekczone to przede wszystkim spółgłoski wargowe: /p/, /b/, /f/, /w/, /m/. Wymowa

zmiekczonych odpowiedników zachowuje wszystkie cechy artykulacyjne oprócz jednej – jezyk nie

pozostaje na dnie jamy ustnej, lecz podnosi sie i wysklepia ku górze. Artykulacja sredniojezykowa-

sredniopodniebienna zmienia rezonans spółgłosek wargowych, ale nie dodaje im szmeru.

Palatalizacji podlegaja takze spółgłoski tylnojezykowe: /k/, /g/, /h/. Posiadaja juz one artyku-

lacje jezykowa, wiec w tym przypadku nie jest dodawany nowy ruch artykulacyjny przy uzyciu

innego narzadu, lecz jest modyfikowana artykulacja podstawowa, dodajac rezonansu „miekkosci”

(poprzez rozszerzenie artykulacji od tyłu ku przodowi).

Zmiekczenie przedniojezykowych: /t/, /d/, /c/ polega na rozszerzeniu artykulacji atakujac podniebie-

nie twarde od przodu. Ten rodzaj palatalizacji wystepuje głównie w wyrazach obcego pochodzenia.

Spółgłoski zmiekczone pojawiaja sie w prawostronnym sasiedztwie samogłoski /i/, spółgłoski /j/

oraz spółgłosek srodkowojezykowych.

2.4.3. Prozodia w jezyku polskim

Mianem prozodii okreslane sa brzmieniowe własciwosci mowy, takie jak akcent, intonacja i iloczas.

Cechy prozodii współwystepuja w mowie, maja wpływ na siebie nawzajem. Sa zauwazalne, gdy za-

chodza róznice miedzy danym fragmentem wypowiedzi a fragmentami sasiednimi (np. miedzy dwoma

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 14: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego 16

sylabami). Moga wyrózniac osrodki sylab – akcent wyrazowy, iloczas, ton głosu lub całe sylaby – akcent

zdaniowy, intonacja zdaniowa, tempo mowy, rytm – tzw. prozodyczne cechy składniowe.

Akcent

Akcent nie jest zjawiskiem czysto fonetycznym, ale fonetyczno-składniowym. Uwypukla pewne

fragmenty wypowiedzi i ze wzgledu na ich rozmiar wyrózniamy:

- akcent wyrazowy – dotyczacy sylaby;

- akcent zdaniowy – dotyczacy wyrazu.

Akcent wyrazowy

W jezyku polskim akcent jest stały pod wzgledem fonetycznym, przewaznie przypada na przedostat-

nia sylabe wyrazu – akcent paroksytoniczny. Moze takze padac na trzecia sylabe od konca, np.:

- w wyrazach obcego pochodzenia zakonczonych na -ika/-yka (matematyka, muzyka, panika);

- w formach 1. i 2. osoby liczby mnogiej czasu przeszłego (pracowaliscie);

- w formach 1., 2. i 3. osoby liczby pojedynczej trybu przypuszczajacego (poszłabym, poszedłbys,

poszłaby).

Na sylabe czwarta od konca pada np. w formach 1. i 2. osoby liczby mnogiej trybu przypuszczajacego

(zrobilibyscie). Czasami wystepuje równiez akcent inicjalny – dodatkowy akcent na pierwszej sylabie

oraz oksytoniczny – na ostatniej sylabie (głównie przy wymowie skrótów). Własnego akcentu nie maja

zaimki, partykuły oraz przyimki.

Dzieki stabilnosci miejsca wystepowania akcent wyrazowy pełni funkcje demarkatywna, zapobiega-

jac zacieraniu sie granic miedzy wyrazami oraz zachodzeniu jednych na drugie.

Terminem niezbednym do omówienia akcentu wyrazowego jest sylaba. Jest to grupa składajaca sie

z samej samogłoski, samogłoski ze spółgłoskami lub ze spółgłosek zgłoskotwórczych w wyjatkowych

przypadkach. Sylaba przewaznie konczy sie samogłoska (nie jest to zasada w przypadku, gdy sylaba zna-

jduje sie na koncu słowa). Grupy spółgłosek wystepujace po samogłosce sa przenoszone do nastepnej

sylaby, za wyjatkiem spółgłosek /m/, /n/, /n/, /l/, /ł/, /j/, które, gdy wystepuje po nich kolejna spółgłoska,

sa dołaczane do poprzedniej sylaby. W przypadku podwójnej spółgłoski jak np. w słowie wanna,

para spółgłosek jest rozdzielana. W jezyku polskim kazda funkcjonalna sylaba posiada samogłoske.

Przewaznie na samogłoske (osrodek sylaby) przypada szczyt intensywnosci w obrebie sylaby. Sylaby

nalezy wiec porównywac miedzy soba pod wzgledem intensywnosci porównujac poziomy samogłosek.

Na krancach sylaby natezenie i donosnosc dzwieku maleja.

Akcentem mozna nazwac ceche fonetyczna sylaby, która wyróznia słowa lub grupy słów pod wzgle-

dem morfologicznym lub semantyczno-syntaktycznym.

Wyrózniamy cztery typy cech fonetycznych: barwe, wysokosc, czas trwania (iloczas), siłe (nateze-

nie). Cechom tym odpowiadaja nastepujace cechy artykulacyjne: ruchy narzadów mowy poza okre-

sowymi drganiami wiazadeł głosowych, okresowe drgania wiazadeł głosowych, trwanie artykulacyjnych

ruchów narzadów mowy (poza wiazadłami głosowymi), wielkosc wysiłku miesniowego przy artyku-

lacji; cechy akustyczne: widmo, czestotliwosc podstawowa, czas przebiegu, intensywnosc; cechy audy-

toryczne: typ segmentu fonicznego, intonacja, długosc trwania segmentu, głosnosc. Sylaby moga róznic

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 15: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego 17

sie miedzy soba pod wzgledem wchodzacych w ich skład segmentów fonicznych, wysokoscia przebiegu,

długoscia poszczególnych segmentów, dynamika.

Polski akcent główny oddziaływuje przede wszystkim na sylabe, na która pada. Spółgłoski sylaby

akcentowanej sa tylko lekko wzmocnione oraz wydłuzone, natomiast wyrazniej zwieksza sie energia

i iloczas samogłoski, akcent podwyzsza ja takze intonacyjnie. Samogłoski sylab przedakcentowych sa

przewaznie słabsze od niej, jeszcze słabsze sa samogłoski poakcentowe. Akcent jezyka polskiego jest

głównie akcentem siły – tzw. akcent dynamiczny, wzmacniajacy natezenie głosu.

Intonacja

Intonacja to nadawanie wypowiedzi pewnego rodzaju melodii poprzez zmiany tonu głosu, przez co

wyrazany jest jej specyficzny charakter. Poprzez intonacje dokonuje sie segmentacja wypowiedzi –

mozliwe jest rozpoznanie zakonczenia zdan i fraz oraz rozróznienie zdan oznajmujacych, pytajacych

i rozkazujacych. Intonacja ujawnia takze stosunek osoby mówiacej do wypowiadanej tresci.

Dla jezyka polskiego mozna wyróznic trzy rodzaje konturu intonacyjnego (zmian tonu głosowego):

– Kadencja – niski ton na ostatniej sylabie w przypadku zdan oznajmujacych nie wymagajacych uzu-

pełnienia, wykrzyknikowych oraz pytan o uzupełnienie. Kadencja wyraza całkowite zamkniecie

całosci, po której moze nie byc nic lub moze nastapic osobna całosc, nie zwiazana z poprzednia;

– Antykadencja – wysoki ton na ostatniej sylabie w przypadku zdan oznajmujacych wymagajacych

uzupełnienia (wypowiedzi urwanych) oraz pytan o rozstrzygniecie (pytan, na które odpowiada

sie ‘tak’ lub ‘nie’). Jest oznaka niezupełnosci, wymaga kontynuacji, dalszego objasnienia lub za-

konczenia;

– Progrediencja – brak silnego wzrostu, jak i spadku tonu podstawowego w obrebie ostatniego

wyrazu charakterystyczny dla wypowiedzi urwanych.

Pauzy moga stanowic srodek demarkacyjny wypowiedzi, rozgranicznik miedzy kadencjami , an-

tykadencjami i progrediencjami.

Przy ustalaniu intonacji wypowiedzi istotny jest jej podział na segmenty z uwzglednieniem znaków

przestankowych.

W praktyce systemy syntezy mowy realizuja na ogół tylko trzy zjawiska dotyczace intonacji:

1. zwiekszanie czestotliwosci podstawowej przy wyliczeniach po kolejnym elemencie,

2. zwiekszenie czestotliwosci podstawowej na koncu pytania,

3. opadanie czestotliwosci podstawowej przy koncu innych wypowiedzi.

Iloczas

Iloczas charakteryzuje specyficzny czas trwania poszczególnych dzwieków mowy. W jezyku pol-

skim iloczas jako zjawisko istotne ze znaczeniowego punktu widzenia nie wystepuje – nie mozna

wskazac par wyrazów o róznym znaczeniu rózniacych sie jedynie długoscia trwania którejs z głosek.

Moze byc jednak rozpatrywany jako zjawisko współistniejace z akcentem – akcent ma przewaznie

wzdłuzajacy wpływ na czas trwania segmentu mowy, przy czym wyrazniej mozna zaobserwowac to dla

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 16: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

2.4. Główne zjawiska zachodzace w wymowie jezyka polskiego 18

samogłosek. Dla niektórych spółgłosek jak /r/ i /l/ wydłuzenie czasu wymowy praktycznie nie zachodzi.

Wpływ akcentu obejmuje cała sylabe, jednak to samogłoski sa głównym nosnikiem cech prozodycznych

i głównie na nich zasadza sie melodia wypowiedzi. Iloczas samogłoski dla sylaby wygłosowej jest

dłuzszy w przypadku sylaby otwartej (zakonczonej samogłoska) niz zamknietej. Wydłuzenie czasu trwa-

nia samogłoski jest spowodowane takze wystepowaniem po niej głoski dzwiecznej, natomiast nastepstwo

zbitki spółgłoskowej powoduje jej skrócenie. Iloczas pełni w jezyku polskim równiez funkcje ekspresy-

wne – wydłuzone głoski nadaja wypowiedzi bardziej wyrazistego charakteru.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 17: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3. Realizacja

3.1. Baza nagran sygnałów mowy Corpora

Baza ta została stworzona w 1997 roku w Poznaniu. Składa sie z 365 wypowiedzi kazdego

z 45 mówców (łacznie 16 425). Nagran dokonano w pomieszczeniach Politechniki Poznanskiej,

Wrocławskiej i Slaskiej w warunkach „normalnych” w bezposredniej bliskosci pracujacego komput-

era. Jakosc nagran: czestotliwosc próbkowania – 16kHz, długosc słów – 12 bitów. Pliki zapisane sa

w formacie *.wav. W kazdym podkatalogu umieszczone sa nagrania tylko jednego mówcy, a nazwy tych

podkatalogów okreslaja jego płec, wiek i mikrofon, jakim został nagrany. Pierwsze dwa znaki to inic-

jały mówcy, trzecia cyfra okresla numer nagrania tego mówcy lub kolejnego mówce o takich samych

inicjałach. Czwarty znak okresla jego płec, a piaty rodzaj mikrofonu (dokładny opis w znajduje sie

w tabelach 3.1, 3.2).

symbol płecM mezczyznaK kobietaC chłopiecD dziewczynka

Table 3.1: Opis symboli w nazwie (czwarty znak)

symbol typ mikrofonu1 pojemnosciowy2 dynamiczny

Table 3.2: Opis symboli w nazwie (piaty znak)

Ogółem w bazie na 45 mówców znajduje sie 11 kobiet, 28 mezczyzn, 3 dziewczynki i 3 chłopców.

Przedziały wiekowe mówców znajduja sie w tabeli 3.3.

Sposród wszystkich mówców do syntezy wybrano wypowiedzi jednego – kobiety w wieku 20-30 lat

o inicjałach AF nagrywanej mikrofonem pojemnosciowym (AF1K1).

Nazwy plików w katalogu konkretnego mówcy maja taka sama nazwe jak ów folder, ale poszerzona

o 3 znaki kodujace dane wyrazenie. Słownik bazy zawiera litery alfabetu polskiego (33), cyfry (10),

imiona polskie (200), polecenia sterujace (8) oraz inne wypowiedzi (114). Spis wszystkich wyrazen

znajduje sie w dodatku D na koncu pracy. Z uwagi na niepoprawny zapis w pliku *.mlf, nie skorzystano

z pliku AF1K1JOT.WAV.

19

Page 18: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.1. Baza nagran sygnałów mowy Corpora 20

mówca wiek mówca wiek mówca wiekAF1K1 20 – 30 JP1M1 30 – 50 PW1M1 20 – 30AK1C1 9 – 15 JP2M1 30 – 50 RG1M1 50 – 70AK2C1 9 – 15 JS1M1 30 – 50 SG1M1 30 – 50AO1M1 20 – 30 KD1M1 50 – 70 SG2M1 30 – 50BC1K1 20 – 30 KD2M1 50 – 70 SG3M1 30 – 50BC1M1 20 – 30 LD1K1 50 – 70 SP1M1 20 – 30BW1K1 30 – 50 LD2K1 50 – 70 SW1M1 20 – 30CK1C1 9 – 15 LK1D1 9 – 15 TS1M1 20 – 30DG1M1 20 – 30 MR1M1 20 – 30 TZ1M1 20 – 30HK1K1 30 – 50 MS1M1 20 – 30 WB1M1 20 – 30HK2K1 30 – 50 OJ1K1 20 – 30 WM1M1 20 – 30IS1K1 20 – 30 PB1K1 20 – 30 ZB1M1 20 – 30JC1M1 20 – 30 PL1K1 50 – 70 ZK1D1 9 – 15JK1M1 20 – 30 PL1M1 30 – 50 ZK1M1 50 – 70JO1M1 30 – 50 PS1M1 30 – 50 ZK2D1 9 – 15

Table 3.3: Przedział wiekowy mówców

Wszystkie 37 fonemów wystepuje w sumie 162811 razy. W bazie znajduje sie 1271 róznych difonów,

w sumie 179753. Z uwagi na wystepowanie wielu instancji danego difonu, zasadne staje sie posłuzenie

metoda selekcji jednostek przy syntezie mowy.

3.1.1. Segmentacja nagran

Baza nagran sygnałów mowy Corpora zawiera równiez pliki z transkrypcjami fonetycznymi wszys-

tkich wyrazen mówcy:

– *.chr – zawiera same transkrypcje słów;

– *.fon – dodatkowo kazdemu fonemowi przypisuje czas jego rozpoczecia i zakonczenia podany

w jednostkach 5ms;

– *.mlf – znajduje sie w nim to samo co w *.fon, ale czas jest podany w standardzie HTK 2.0.

Ponizej przedstawiony jest fragment pliku *.mlf (segmentacja słowa ’Piotr’)

"∗ / a f 1 k 1 p t r . l a b "

00 00 s i l

0 1150000 p

1200000 1800000 j

1850000 3050000 o

3100000 4700000 t

4750000 6850000 r

6900000 7000000 s i l

.

Do realizacji syntezatora uzyto pliku *.mlf, z którego łatwo mozna było odczytac czasy poczatków

i konców fonemów. Skorzystano z transkrypcji fonetycznej przedstawonej w tabeli 3.4.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 19: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.2. Transkrypcja fonetyczna – OrtFon AGH 21

fonem w jezykupolskim

transkrypcja wCORPORA

fonem w jezykupolskim

transkrypcja wCORPORA

a a n nia a_ N Nb b o oc c p pc ci r rcz cz s sd d s sie e sz sze e_ t tf f u ug g w wh h y yi i z zj j z rzk k z zil l dz dzł l_ dz drzm m dz dzin n cisza sil

Table 3.4: Transkrypcja fonemów

Do bazy nagran dołaczone były równiez programy BASAK i LABELER, które słuza odpowiednio

do przeszukiwania zadanych zbitek fonemów oraz do obserwacji przebiegów czasowych sygnałów i ich

spektrogramów. Nie zostały one uzyte przy realizacji syntezatora.

3.2. Transkrypcja fonetyczna – OrtFon AGH

Program OrtFon AGH został uzyty w projekcie do zamiany polskich słów, podanych

przez uzytkownika, z transkrypcji ortograficznej na fonemiczna. Jest to prosty program pobierajacy plik

tekstowy i zwracajacy plik z transkrypcja fonetyczna. Dostepnych jest kilka opcji uzytkowania. Naj-

wazniejsza z nich jest wybór alfabetu fonetycznego sposród:

- X-SAMPA;

- IPA;

- AGH;

- PolPhone;

- Corpora.

W zaleznosci od wyboru alfabetu mozna zauwazyc istotne róznice w transkrypcji. Sposród

wybranych alfabetów do programu uzyto alfabetu Corpora, gdyz jest kompatybilny z baza nagran Cor-

pora. Mozna jednak zauwazyc niewielkie róznice w zapisie z OrtFona i pliku Corpora *.mlf.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 20: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.3. Biblioteka BASS 22

Pozostałe opcje wyboru przy uruchamianiu programu to sposób kodowania oraz tryb zapisu.

Kodowanie domyslnie jest ustawione na UTF-8, do wyboru jest równiez ISO-8859-2, CP-852 oraz CP-

1250. Istnieja trzy tryby zapisu. Tryb domyslny transkrybuje tekst ciagły, bez spacji, traktujac konce

linii jako kropki w tekscie. Tryb omni lub omni-dev generuje koncówki osobnych słów w osobnych lini-

ach, a tryb trigramów wszystkie mozliwe trigramy w osobnych liniach. Program OrtFon AGH wywoły-

wany jest przez syntezator w trybie ciagłym z flaga –spaces, wstawiajaca odstepy pomiedzy symbolami,

oraz z kodowaniem UTF-8.

Ponizej przedstawiona została transkrypcja dwóch przykładowych wyrazen.

konkatenacyjny syntezator mowy polskiej:

!koNkatenacyjny#syntezator#mowy#polskjej#!

ksiazka zdzbło bank zadło:

!ksioe_rzka#zidzibl_o#baNg#rzondl_o#!

3.3. Biblioteka BASS

BASS jest darmowa, do niekomercyjnego uzytku, biblioteka słuzaca do obsługi dzwieków. Stwor-

zona została przez Un4seen Developments. W programie wykorzystano ja do odczytu oraz zapisu plików

*.wav z bazy nagran Corpora. Tresc licencji biblioteki znajduje sie w dodatku A.

Biblioteka działa na wielu platformach, w tym na platformie .NET, która wykorzystano do napisania

syntezatora. Posiada funkcje pozwalajace na obsługe wielu formatów dzwieku (*.wav, *.mp3, *.ogg).

Pozwala na ich odtwarzanie, nagrywanie, a takze modyfikowanie w czasie rzeczywistym.

Funkcje, które wykorzystano w projekcie syntezatora:

- BASS_Init – funkcja ta inicjalizuje urzadzenie wyjscia. Za jej pomoca zainicjalizowano urzadzenie

domyslne oraz okreslona czestotliwosc próbkowania;

- BASS_StreamCreateFile – tworzy strumien z pliku dzwiekowego, w tym przypadku *.wav o dłu-

gosci takiej, jak plik, bez opóznienia;

- BASS_SetConfig - ustawia dane konfiguracyjne;

- BASS_Encode_Start - ustawia enkoder na danym kanale;

- BASS_Encode_Stop - zatrzymuje enkoder na danym kanale;

- BASS_ChannelPlay – zaczyna odtwarzac strumien;

- BASS_ChannelIsActive – zwraca wartosc logiczna w zaleznosci od tego, czy odtwarzanie jest

w toku;

- BASS_ChannelSetPosition - ustawia pozycje odtwarzania strumienia;

- BASS_ChannelGetPosition – pobiera pozycje odtwarzania strumienia;

- BASS_ChannelGetLength – pobiera długosc odtwarzanego strumienia;

- BASS_ChannelStop – zatrzymuje strumien;

- BASS_StreamFree – zwalnia strumien próbek zródła;

- BASS_Stop – zatrzymuje strumien na wyjsciu;

- BASS_Free – zwalnia wszystkie uzywane zródła;

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 21: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.4. Funkcja kosztu 23

- BASSTimer.Tick - tworzy zegar, który za kazdym ’tikiem’ wykonuje dane zdarzenie;

- BASS_ErrorGetCode – zwraca kod błedu, gdy jedna z powyzszych funkcji jest niewykonalna.

3.4. Funkcja kosztu

W korpusowej metodzie syntezy mowy podstawowym zagadnieniem jest sposób doboru odpowied-

nich jednostek z bazy nagran. W bazie znajduje sie wiele instancji danej jednostki o róznych charak-

terystykach prozodycznych oraz spektralnych. Wybór odpowiednich sekwencji zapewnia synteze natu-

ralnie brzmiacej mowy.

Jednostki sa wybierane na podstawie wartosci funkcji kosztu. Na całkowity koszt wykorzystania

danego segmentu fonetycznego składaja sie dwa koszty: doboru oraz konkatenacji.

Koszt doboru okresla róznice pomiedzy docelowym fragmentem a fragmentem z bazy, który moze

byc jego realizacja. Składa sie z nastepujacych składowych:

- koszt akcentu,

- koszt lewego i prawego kontekstu,

- koszt niewłasciwego doboru melodii,

- koszt pozycji w sylabie,

- koszt pozycji w słowie,

- koszt pozycji we frazie,

- koszt Part-Of-Speech.

Funkcja kosztu konkatenacji okresla stopien trudnosci przejscia pomiedzy sasiednimi jednos-

tkami. Idealna sytuacja jest, gdy koszt konkatenacji jest mocno skorelowany z percepcja nieciagłosci

przez słuchacza. Funkcja ta jest implementowana jako miara odległosci miedzy parametrami sygnałów

mowy.

W niniejszej pracy przy obliczaniu kosztu doboru jednostek skoncentrowano sie na koszcie konkate-

nacji.

Funkcje kosztu konkatenacji mozna zrealizowac na wiele róznych sposobów. Parametrami charak-

teryzujacymi nagrania moga byc amplituda, czestotliwosc tonu krtaniowego F0 oraz parametry spek-

tralne, np.: współczynniki LPC1, widmo LP2, współczynniki MFCC3, współczynniki LSF4, współczyn-

niki PLP5, widmo PLP, współczynniki MCA6. Odległosc miedzy wektorami cech dwóch fragmentów

nagran moze byc obliczona za pomoca róznych miar odległosciowych, jak metryki: Euklidesowa, Ma-

halanobisa, miejska (Manhattan), czy dywergencja Kullbacka-Leiblera.

Autorki skorzystały z nastepujacych parametrów oraz metryk:

1Linear predictive coding2Linear prediction3Mel-frequency cepstral coefficients4Line spectral frequencies5Perceptual linear prediction6Multiple centroid analysi

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 22: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.4. Funkcja kosztu 24

3.4.1. Energia

Energia jest miara siły sygnału. Jest obliczana jako wartosc sredniokwadratowa sygnału:

Ex =+∞∑

n=−∞x2n (3.1)

3.4.2. Ton krtaniowy

Ton krtaniowy został obliczony za pomoca funkcji autokorelacji, która realizuje splot sygnału z jego

przesunieta w czasie wersja:

Rxx(k) =1

N − |k|

N−1−|k|∑n=0

xn ∗ x∗n−k (3.2)

gdzie k zawiera sie w przedziale:−N + 1 ≤ k ≤ N − 1.

Funkcja ta pozwala na okreslenie dzwiecznosci sygnału. Dla głosek dzwiecznych przyjmuje

wielokrotne maksimum. W celu wyznaczenia tonu krtaniowego istotne jest maksimum z przedziału czes-

totliwosci 80-1000 Hz.

3.4.3. MFCC

MFCC to współczynniki cepstralne w skali melowej. Skala melowa stosowana jest w zwiazku

z nieliniowym odbieraniem róznych czestotliwosci przez ludzkie ucho – ponizej 1 kHz zmiany czes-

totliwosci sa łatwiej wykrywalne niz dla wyzszych czestotliwosci. W celu zrekompensowania tej nielin-

iowosci tworzony jest zbiór filtrów trójkatnych dla poszczególnych pasm czestotliwosci, rozmieszc-

zonych w nieliniowy sposób na skali czestotliwosci. Rozkład filtrów przedstawia ponizszy rysunek

(Rys.4.2):

Figure 3.1: Bank filtrów melowych

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 23: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.4. Funkcja kosztu 25

Zwiazek miedzy skala czestotliwosci a skala Mel (Rys.4.3):

Figure 3.2: Skala melowa w odniesieniu do herzów

Skale mozna przeliczyc miedzy soba na podstawie zaleznosci:

mel(f) = 2595 ∗ log(1 + f

700) (3.3)

f(mel) = 700 ∗ (10m/2595 − 1) (3.4)

Współczynniki MFCC sa obliczane według ponizszego algorytmu:

Figure 3.3: Schemat obliczania MFCC

Cechy MFCC o indeksie równym lub wyzszym od indeksu cechy o maksymalnej wartosci

(który odpowiada czestotliwosci podstawowej mówcy) sa reprezentatywne jedynie dla mówcy, nie dla

wypowiadanego dzwieku, moga zostac pominiete.

3.4.4. LPC

LPC jest metoda kodowania oparta na liniowym modelu predykcji. W metodzie tej szacuje sie

wartosci sygnału u(k) na podstawie p wartosci z chwil poprzednich: u(k -1) , u(k - 2) , u(k - 3) , ... ,

u(k - p). Oznaczajac przez z(k) wynik predykcji sygnału mozemy zapisac:

z(k) =p∑

i=1

(aiu(k − i)) (3.5)

gdzie k > p, ai – współczynniki predykcji.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 24: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.5. Grafy – struktura danych 26

W celu uzyskania współczynników LPC oblicza sie najpierw współczynniki autokorelacji

pomiedzy próbkami sygnału, nastepnie stosuje sie algorytm Levinsona-Durbina.

Predykcja liniowa analizuje sygnał poprzez estymacje formantów, a nastepnie wyciecie ich z sygnału

i estymacje intensywnosci oraz czestotliwosci pozostałego szumu.

Współczynniki LPC odwzorowuja model traktu głosowego, w którym został wygenerowany sygnał

mowy.

3.4.5. Metryka Euklidesowa

DEu(X,Y ) =

√√√√ n∑i=1

(Xi − Yi)2 (3.6)

3.4.6. Metryka miejska

DM (X,Y ) =n∑

i=1

|Xi − Yi| (3.7)

3.5. Grafy – struktura danych

Do obliczania kosztu sciezek róznych kombinacji fonemów wykorzystano grafy. Kazdy fonem

przestawiony został jako pojedynczy wierzchołek grafu, a koszt konkatenacji jako połaczenia

(krawedzie) pomiedzy dwoma wierzchołkami. W ten sposób mozna było zastosowac metode szuka-

jaca “najkrótszej”, a wiec i najlepszej drogi wyboru fonemów tak, aby synteza brzmiała jak najbardziej

naturalnie.

Graf, jak i algorytm wykorzystany w celu jak najlepszego doboru fonemów, zaczerpniete zostały

z biblioteki QuickGraph na licencji Ms-PL7. Tresc licencji biblioteki znajduje sie w dodatku B. Jest

to najpopularniejsza biblioteka dostepna w srodowisku .NET przeznaczona do obsługi grafów. Zawiera

ona wszystkie najczesciej uzywane algorytmy grafowe, dostosowane do róznych rodzajów grafów –

kierunkowych i nie, miedzy innymi:

– wyszukiwanie najkrótszej sciezki;

– wyszukiwanie k-najkrótszych sciezek;

– algorytm A*;

– maksymalny przepływ;

– minimalne drzewo rozpinajace.

W realizacji syntezatora wykorzystano dwie podstawowe funkcje biblioteki QuickGraph:

7Microsoft Public License

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 25: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.5. Grafy – struktura danych 27

– AddVertexRange - dodaje wierzchołek do grafu;

– AddEdge - dodaje krawedz do grafu (pomiedzy dwoma wierzchołkami).

3.5.1. Wizualizacja grafów za pomoca Graphviz

Do wizualizacji grafów (niezwykle przydatnej przy poszukiwaniu błedów w implementacji grafu

i samego algorytmu) posłuzyła wspierajaca QuickGraph biblioteka Graphviz. QuickGraph generuje kod

*.dot i wysyła go do Graphviz. Oto przykładowy diagram (Rys. 4.4):

Figure 3.4: Przykładowy graf: praca dyplomowa

3.5.2. Algorytm Floyda-Warshalla

QuickGraph do obliczania sciezki o najmniejszym koszcie w grafie z wieloma zródłami wykorzys-

tuje algorytm Floyda-Warshalla. Algorytm ten zakłada, ze najkrótsza droga wiodaca z wierzchołka A

do B, przechodzaca przez punkt C to droga złozona z najkrótszego odcinka łaczacego A - C oraz C -

B. W ten sposób juz na poczatku algorytm tworzy tablice najkrótszych sciezek i w kolejnych krokach

dołacza do niej sciezki kolejnych wierzchołków. Złozonosc algorytmu wynosi O(|V 3|) (gdzie V - liczba

wierzchołków).

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 26: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

3.5. Grafy – struktura danych 28

Niestety juz po pierwszych próbach wygenerowania syntezowanych słów okazało sie, ze działanie

programu trwa zbyt długo (jedno krótkie słowo – kilkanascie sekund), wiec postanowiono skorzystac

z innej znanej metody wyszukiwania najkrótszej sciezki w grafie.

3.5.3. Algorytm Dijkstry

Algorytm Dijkstry jest metoda wyszukiwania najkrótszych sciezek pomiedzy wybranym wierz-

chołkiem grafu a wszystkimi pozostałymi. Przez najkrótsza sciezke jest rozumiana sciezka o na-

jmniejszym koszcie przejscia. Koszt przejscia jest obliczany jako suma wag krawedzi łaczacych

poszczególne wierzchołki. Algorytm Dijkstry jest stosowany do struktury grafu o jednym zródle

oraz krawedziach o nieujemnych wagach. Jego złozonosc to O(|E| + |V | ∗ log|V |) (gdzie V - liczba

wierzchołków, E - liczba krawedzi). Jego implementacja w projekcie znaczaco przyspieszyła czas dzi-

ałania syntezy.

Algorytm przebiega według nastepujacych kroków:

1. Wybór wierzchołka poczatkowego; właczenie go do zbioru wierzchołków odwiedzonych.

2. Poczatkowe nadanie wierzchołkom cech α – numer poprzedniego wierzchołka – oraz β – waga

połaczenia. Wierzchołki nie majace bezposredniego połaczenia ze startowym zostaja oznaczone:

α = 0, β =∞.

3. Znalezienie wierzchołka o minimalnej wartosci połaczenia β. Dodanie go do zbioru wierzchołków

odwiedzonych. Jesli w zbiorze znajduja sie wszystkie wierzchołki – zakonczenie algorytmu.

4. Zmiana cech α i β w przypadku, gdy droga od aktualnego wierzchołka jest mniejsza od poprzed-

niej wartosci β. Powrót do pkt. 3.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 27: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4. Efekty pracy

4.1. Struktura programu

Program syntezatora został zaimplementowany w jezyku C# w srodowisku Microsoft Visual Stu-

dio. Koszt konkatenacji wszystkich fonemów został policzony osobno w srodowisku MATLAB i jako

macierz został wyeksportowany do pliku tekstowego.

W projekcie zostały zaimplementowane dwa interfejsy: IPhoneticTranscription i ISynthesizer . Pier-

wszy definiuje funkcje słuzaca do transkrypcji zapisu ortograficznego na fonemiczny:

s t r i n g t r a n s l a t e ( s t r i n g t o T r a n s l a t e ) ;

Interfejs ISynthesizer okresla trzy funkcje: read czyta tekst przeznaczony do syntezy, finish

konczy odtwarzanie plików za pomoca biblioteki BASS, setNewWeights wczytuje rodzaj funkcji kosztu

wprowadzony przez uzytkownika.

void r e a d ( S t r i n g toRead ) ;

void f i n i s h ( ) ;

void se tNewWeights ( s t r i n g f i l e n a m e ) ;

Diagram UML1 pokazujacy strukture klas dołaczony został w dodatku C.

4.1.1. Wywoływanie OrtFona

Klasa Ortfon implementujaca interfejs IPhoneticTranscription zawiera metody zajmujace sie tran-

skrypcja fonemów. Konstruktor klasy tworzy proces wywołujacy program OrtFon AGH z podanej sciezki

dostepu z parametrami opisanymi w sekcji 3.2.

p u b l i c O r t f o n ( s t r i n g p a t h T o O r t f o n )

{

t h i s . p a t h T o O r t f o n = p a t h T o O r t f o n ;

o r t f o n P r o c e s s = new P r o c e s s ( ) ;

o r t f o n P r o c e s s . S t a r t I n f o . U s e S h e l l E x e c u t e = f a l s e ;

o r t f o n P r o c e s s . S t a r t I n f o . W o r k i n g D i r e c t o r y = p a t h T o O r t f o n ;

o r t f o n P r o c e s s . S t a r t I n f o . FileName = p a t h T o O r t f o n + @" \ o r t f o n . exe " ;

o r t f o n P r o c e s s . S t a r t I n f o . Arguments = "− t c o r p o r a −−s p a c e s i n . t x t o u t . t x t " ;

}

1Unified Modeling Language

29

Page 28: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 30

Metoda translate tworzy plik tekstowy podawany jako argument do programu OrtFon AGH, a nastep-

nie odczytuje jego plik wyjsciowy, dokonujac wstepnej obróbki (usuniecie znaków ’!’ z poczatku i konca

tekstu). Zapis fonetyczny jest przechowywany w zmiennej typu string.

p u b l i c s t r i n g t r a n s l a t e ( s t r i n g t o T r a n s l a t e )

{

System . IO . F i l e . W r i t e A l l T e x t ( p a t h T o O r t f o n + @" \ i n . t x t " ,

t o T r a n s l a t e + " k o n i e c " ) ;

o r t f o n P r o c e s s . S t a r t ( ) ; o r t f o n P r o c e s s . W a i t F o r E x i t ( ) ;

s t r i n g t r a n s l a t e d = System . IO . F i l e . ReadAl lTex t ( p a t h T o O r t f o n +

@" \ o u t . t x t " ) ;

t r a n s l a t e d = t r a n s l a t e d . Remove ( 0 , 1 ) ;

t r a n s l a t e d = t r a n s l a t e d . Remove ( t r a n s l a t e d . Length −1, 1 ) ;

re turn t r a n s l a t e d ;

}

4.1.2. Tworzenie listy fonemów

Klasa PhonemeMap zajmuje sie tworzeniem słownika list fonemów. Kazda lista zawiera wszystkie

instancje danego fonemu. Natomiast kazdy poszczególny fonem posiada informacje o pliku pochodzenia,

oraz o pozycji poczatku i konca tego fonemu w pliku wav. Listy jednakowych fonemow tworzone

sa z pliku *.mlf w metodzie readPhonemesFromMlf. W petli odczytywana jest kazda linia osobno.

Jesli zawiera odpowiednie wyrazenie, wczytywana jest do tablicy stringów values (czasy i fonem)

lub do stringa currentPath (nazwa pliku po uprzedniej obróbce). Wszystkie parametry sa nastepnie

przypisanie do obiektu typu Phoneme.

p u b l i c vo id readPhonemesFromMlf ( s t r i n g f i l e p a t h )

{

s t r i n g [ ] l i n e s = System . IO . F i l e . R e a d A l l L i n e s ( f i l e p a t h ) ;

i n t phonemeCount = l i n e s . Length ;

s t r i n g c u r r e n t P a t h = n u l l ;

i n t i n d e x = 0 ;

f o r ( i n t i = 0 ; i < phonemeCount ; i ++)

{

i f ( Regex . I sMatch ( l i n e s [ i ] , " \ \ ∗ " ) )

{

c u r r e n t P a t h = l i n e s [ i ] ;

c u r r e n t P a t h = c u r r e n t P a t h . Remove ( 0 , 3 ) ;

c u r r e n t P a t h = c u r r e n t P a t h . Remove ( c u r r e n t P a t h . Length − 5) ;

c u r r e n t P a t h = c u r r e n t P a t h . ToUpper ( ) ;

}

e l s e i f ( Regex . I sMatch ( l i n e s [ i ] , " \ \ d+ \ \ d+ \ \ w+" ) )

{

s t r i n g [ ] v a l u e s = l i n e s [ i ] . S p l i t ( ’ ’ ) ;

add ( new Phoneme ( c u r r e n t P a t h , Conve r t . To In t64 ( v a l u e s [ 0 ] ) ,

Conve r t . To In t64 ( v a l u e s [ 1 ] ) , v a l u e s [ 2 ] , i n d e x ++) ) ;

}

}

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 29: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 31

Zarzadzanie listami odbywa sie automatycznie dzieki metodzie add. Sprawdzany jest w niej

warunek, czy słownik posiada juz dany klucz. Jesli tak, do danej listy w słowniku dopisywany jest kole-

jny fonem, jesli nie, tworzona jest najpierw nowa lista, a nastepnie do słownika dodawany jest nowy

klucz i nowa wartosc w postaci jednoelementowej listy.

p u b l i c vo id add ( Phoneme p )

{

i f ( ph on eme Dic t i ona ry . Keys . C o n t a i n s ( p . g e t L e t t e r ( ) ) )

{

ph on eme Di c t i ona ry [ p . g e t L e t t e r ( ) ] . Add ( p ) ;

}

e l s e{

L i s t <Phoneme> phonemeLis t = new L i s t <Phoneme > ( ) ;

phonemeLis t . Add ( p ) ; pho ne meD ic t i o na ry . Add ( p . g e t L e t t e r ( ) , phonemeLis t

) ;

}

}

Klasa zawiera ponadto funkcje kopiujaca liste fonemów (metoda clone), nowa instancja listy

potrzebna jest do prawidłowego stworzenia grafu fonemów.

4.1.3. Obliczanie funkcji kosztu

Implementacje funkcji kosztu konkatenacyjnego wykonano w pakiecie MATLAB. Wczytane fonemy

zapisano do macierzy. Obliczono elementy dla wszystkich par plików. Dla fonemów sasiadujacych

ze soba w jednym pliku przypisano zerowy koszt. Oto sposób implementacji obliczen:

– obliczenie energii

e n e r g i a 1 = sum ( p l i k 1 . ^ 2 ) ; e n e r g i a 2 = sum ( p l i k 2 . ^ 2 ) ;

r o z n i c a _ e n e r g i i ( i , j ) = abs ( e n e r g i a 2 − e n e r g i a 1 ) ;

– obliczenie tonu krtaniowego (składa sie z trzech czesci - autokorelacja sygnału, ustalenie przedzi-

ału, wyciecie fragmentu wykresu autokorelacji, szukanie maksimum)

a u t o k o r e l a c j a 1 = x c o r r ( p l i k 1 ) ; a u t o k o r e l a c j a 2 = x c o r r ( p l i k 2 ) ;

d l u g o s c 1 = l e n g t h ( a u t o k o r e l a c j a 1 ) ; d l u g o s c 2 = l e n g t h ( a u t o k o r e l a c j a 2 ) ;

a u t o k o r e l a c j a _ p o l 1 = a u t o k o r e l a c j a 1 ( round ( ( d l u g o s c 1 / 2 ) ) +1 : d l u g o s c 1 ) ;

a u t o k o r e l a c j a _ p o l 2 = a u t o k o r e l a c j a 2 ( round ( ( d l u g o s c 2 / 2 ) ) +1 : d l u g o s c 2 ) ;

%% p r z e d z i a l

k o n i e c = f l o o r ( ( 1 / 8 0 ) ∗Fs ) ;

p o c z a t e k = f l o o r ( ( 1 / 1 0 0 0 ) ∗Fs ) ;

%%k o r e l a c j a 80−1000 Hz

a u t o k o r e l a c j a _ p o l 1 ( 1 : p o c z a t e k ) =0;

a u t o k o r e l a c j a _ p o l 1 ( k o n i e c : d l u g o s c 1 ) =0;

a u t o k o r e l a c j a _ p o l 2 ( 1 : p o c z a t e k ) =0;

a u t o k o r e l a c j a _ p o l 2 ( k o n i e c : d l u g o s c 1 ) =0;

%%%z n a j d z max

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 30: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 32

[ ~ , indeks_maks1 ] = max ( a u t o k o r e l a c j a _ p o l 1 ) ;

t o n _ k r t a n i o w y 1 = Fs / indeks_maks1 ;

[ ~ , indeks_maks2 ] = max ( a u t o k o r e l a c j a _ p o l 2 ) ;

t o n _ k r t a n i o w y 2 = Fs / indeks_maks2 ;

r o z n i c a _ t o n o w ( i , j ) = abs ( t o n _ k r t a n i o w y 2 − t o n _ k r t a n i o w y 1 ) ;

– parametry spektralne - współczynniki LPC (wykorzystana metryka euklidesowa)

obwiedn ia1 = l p c ( p l i k 1 , 1 0 ) ;

obwiedn ia2 = l p c ( p l i k 2 , 1 0 ) ’ ;

r o z n i c a _ l p c ( i , j ) = d i s t ( obwiednia1 , obwiedn ia2 ) ;

– parametry spektralne - współczynniki MFCC (wykorzystana metryka miejska). Współczynniki

MFCC zostały uzyskane dzieki filtracji widma sygnałów bankiem filtrów melowych i obliczenie

energii uzyskanego pasma.

%s k a l a melowa

f_melmax =2595∗ l og10 (1+ (8000 / 700) ) ;

o d l e g l o s c = f_melmax / 1 0 ;

f o r i =0:10

f_mel ( i +1 ,1 ) = i ∗ o d l e g l o s c ;

f_mel ( i +1 ,2 ) = 7 0 0∗ ( 1 0 ^ ( ( f_mel ( i +1 ,1 ) / 2 5 9 5 ) ) −1) ;

end%f i l t r a c j a widma

widmo=abs ( f f t ( s y g n a l ) ) ;

k rok = f_mel ( 1 1 , 2 ) / d l u g o s c _ r a m k i ;

f o r j =1:10

pocza tek_pasma = f l o o r ( f_mel ( j , 2 ) / k rok ) + 1 ;

koniec_pasma = f l o o r ( f_mel ( j +1 ,2 ) / k rok ) ;

wycie te_pasmo = widmo ( pocza tek_pasma : koniec_pasma ) ;

w s p o l c z y n n i k i ( j , 1 ) = l o g ( sum ( wycie te_pasmo ) ) ;

endend%w s p ó l c z y n n i k i

w s p o l c z y n n i k i 1 = mfcc ( p l i k 1 ) ’ ;

w s p o l c z y n n i k i 2 = mfcc ( p l i k 2 ) ;

r o z n i c a _ m f c c ( i , j ) = m a n d i s t ( w s p o l c z y n n i k i 1 , w s p o l c z y n n i k i 2 ) ;

Obliczone parametry zsumowano do macierzy wszystkich kosztów, a nastepnie zapisano ja do pliku

tekstowego.

4.1.4. Tworzenie grafu

Graf tworzony jest w metodzie create, która jako argumenty przyjmuje tekst do zsyntezowania

(toRead) oraz słownik fonemów. Dla kazdego fonemu z tekstu toRead wczytywana jest jego lista,

a kazdy element z listy dodawany jest jako nowy wierzchołek do grafu. Gdy kolejna lista fonemu zostanie

wczytana, poprzednia zostaje zapamietana jako previousLetterList. W ten sposób dodaje sie krawedzie

pomiedzy kolejnymi fonemami.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 31: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 33

i n t e r n a l vo id c r e a t e ( s t r i n g toRead , PhonemeMap phonemeMap )

{

L i s t <Phoneme> p r e v i o u s L e t t e r L i s t = n u l l ;

Boolean i s F i r s t = t rue ;

foreach ( s t r i n g c u r r e n t L e t t e r in toRead . Trim ( ) . S p l i t ( ’ ’ ) )

{

i f ( c u r r e n t L e t t e r == " " | | c u r r e n t L e t t e r == " # " | |

c u r r e n t L e t t e r == " " | | c u r r e n t L e t t e r == " ! " ) c o n t in u e ;

L i s t <Phoneme> c u r r e n t L e t t e r L i s t = phonemeMap . g e t ( c u r r e n t L e t t e r ) ;

i f ( i s F i r s t )

{

i s F i r s t = f a l s e ;

s t a r t = c u r r e n t L e t t e r L i s t ;

}

t h i s . AddVertexRange ( c u r r e n t L e t t e r L i s t ) ;

i f ( p r e v i o u s L e t t e r L i s t != n u l l )

{

foreach ( Phoneme c u r r e n t in c u r r e n t L e t t e r L i s t )

{

foreach ( Phoneme p r e v i o u s in p r e v i o u s L e t t e r L i s t )

{

t h i s . AddEdge ( new PhonemeGraphEdge ( p r e v i o u s , c u r r e n t )

) ;

}

}

}

p r e v i o u s L e t t e r L i s t = c u r r e n t L e t t e r L i s t ;

}

end = p r e v i o u s L e t t e r L i s t ;

}

Metoda print tworzy wizualizacje grafu z rozszerzeniem *.gif na podstawie pliku dot.txt. Na rysunku

4.1 przedstawiono przykładowy graf słowa ’przeszczep’. Z uwagi na przejrzystosc rysunku zmniejszono

baze nagran. Kazdy rzad (poczatek u góry) reprezentuje instancje kolejnych fonemów w słowie.

Figure 4.1: Graf przedstawiajacy słowo ’przeszczep’

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 32: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 34

4.1.5. Obliczanie najmniejszego kosztu sciezki

Wagi wczytywane sa z pliku tekstowego do dwuwymiarowej tablicy w metodzie readFrom-

File klasy Weights. Przypisanie ich do konkretnych krawedzi nastepuje przy wykonywaniu algo-

rytmu Dijkstry w readDijkstra. W metodzie tej dla kazdej krawedzi z aktualnie stworzonego grafu

wywołana jest funkcja getWeight zwracajaca wartosc spod indeksu tablicy wag dla konkretnej krawedzi

(weights[x.Source.getIndex(), x.Target.getIndex()]). Algorytm Dijkstry potrafi znalezc najkrótsze sciezki

jedynie z jednego wierchołka poczatkowego, dlatego stworzono dodatkowy fonem o indeksie -1 i ze-

rowym koszcie przejscia do kazdego innego fonemu, który w tworzonym grafie ma połaczenia z kazda

instancja pierwszego syntezowanego fonemu. Stworzony zostaje obiekt predecessors, który zapamietuje

z którego wierzchołka koszt dojscia do aktualnego wierzchołka był minimalny. Fragmenty kodu znajduja

sie ponizej:

– uruchomienie algorytmu ze sztucznym fonemem jako poczatek;

v a r p r e d e c e s s o r s = new V e r t e x P r e d e c e s s o r R e c o r d e r O b s e r v e r <Phoneme ,

PhonemeGraphEdge > ( ) ;

us ing ( p r e d e c e s s o r s . A t t a c h ( d i j k s t r a ) )

{

d i j k s t r a . Compute ( i m a g i n a r y S o u r c e ) ;

}

– odczytywanie z obserwatora predecessors kolejnych sciezek wyznaczonych przez algorytm Dij-

kstry, w celu odnalezienia tej najkrótszej

foreach ( v a r v in graph . ge tEnd ( ) )

{

whi le ( p r e d e c e s s o r s . V e r t e x P r e d e c e s s o r s . TryGetValue ( v e r t e x ,

out p r e d e c e s s o r ) )

{

d i s t a n c e += ge tWeigh t ( p r e d e c e s s o r ) ;

v e r t e x = p r e d e c e s s o r . Source ;

}

i f ( d i s t a n c e < s h o r t e s t D i s t a n c e )

{

s h o r t e s t D i s t a n c e = d i s t a n c e ;

r e a l E n d = v ;

}

}

– odczytywanie fonemów tworzacych najkrótsza sciezke (od konca), odwrócenie kolejnosci

L i s t <Phoneme> toRead = new L i s t <Phoneme > ( ) ;

PhonemeGraphEdge p r e ; Phoneme v e r = r e a l E n d ; / / toRead . Add ( v e r ) ;

whi le ( p r e d e c e s s o r s . V e r t e x P r e d e c e s s o r s . TryGetValue ( ver , out p r e ) )

{

toRead . Add ( v e r ) ;

v e r = p r e . Source ;

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 33: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.1. Struktura programu 35

}

toRead . Reve r se ( ) ;

Własciwe fonemy sa przesyłane dodowane sa do listy typu PhonemePlayList i przekazywane do funkcji

PhonemePlayer.play, gdzie sa odtwarzane.

4.1.6. Sposób wykorzystania biblioteki Bass

Odtwarzanie fonemów odbywa sie za pomoca funkcji PhonemePlayer.play(PhonemeList toPlay),

gdzie PhonemePlayList to przeładowana struktura danych List<Phoneme> potrafiaca automatycznie

scalac fonemy w taki sposob, by fonemy znajdujace sie bezposrednio po sobie odtwarzane były za po-

moca jednego wywołania odtwarzacza.

Funkcja play składa sie zasadniczo z kolejno:

1. inicjalizacji strumienia z pliku:

Bass . BASS_St reamCrea teF i l e (@"AF1K1 \ " + p . g e t P a t h ( ) + " . wav " ,

0L , 0L , BASSFlag . BASS_DEFAULT) ;

2. ustawienia pozycji na poczatku nastepnego do zagrania fonemu:

Bass . BASS_Channe lSe tPos i t i on ( s t r eam , p . g e t S t a r t ( ) ) ;

3. uruchomienia timera zatrzymujacego odtwarzanie po zakonczeniu fonemu:

Un4seen . Bass . BASSTimer _upda t eT imer =

new Un4seen . Bass . BASSTimer ( _ u p d a t e I n t e r v a l ) ; _upda teT imer . S t a r t ( ) ;

Funkcja zatrzymujaca wywoływanie uruchamiana jest za pomoca ‘ticku’ timera i wyłacza odtwarzanie,

gdy pozycja w kanale odtwarzania przekracza pozycje konca fonemu:

i f ( Bass . BASS_Channe lGetPos i t ion ( s t r e a m ) > end )

{ Bass . BASS_ChannelStop ( s t r e a m ) ; Bass . BASS_StreamFree ( s t r e a m ) ; }

Scalanie fonemów, jesli nastepuja po sobie, polega na przypisaniu do sasiedniego fonemu czasu

konca fonemu pierwszego.

new p u b l i c vo id Add ( Phoneme p )

{

i f ( i s S u b s e q u e n t ( p ) )

{

t h i s [ t h i s . Count − 1 ] . s e tE nd ( p . ge tEnd ( ) ) ;

}

e l s e{

base . Add ( p ) ;

}

sb . Append ( p . g e t L e t t e r ( ) ) ;

}

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 34: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.2. Interfejs uzytkownika 36

4.2. Interfejs uzytkownika

4.2.1. Interfejs graficzny

Program po uruchomieniu wyglada nastepujaco:

Figure 4.2: Okno programu po uruchomieniu

Aplikacja zbudowana jest z jednego okna, w którym znajduja sie nastepujace elementy:

- Tekst – pole tekstowe do wprowadzania tekstu do syntezy;

- Transkrypcja – pole, na którym wyswietla sie transkrypcja fonetyczna tekstu;

- Auto Trans – pole wyboru opcjonalnego trybu automatycznej transkrypcji;

- Przycisk Czytaj słuzacy do odtworzenia zsyntezowanej mowy;

- Transkrypcja – przycisk słuzacy do wygenerowania zapisu fonetycznego;

- Pole tekstowe słuzace do wprowadzenia nazwy pliku z parametrami funkcji kosztu i przycisk Wczy-

taj zatwierdzajacy wybór i wczytujacy plik do programu.

Przykładowy wyglad okna programu w trakcie uzycia:

Figure 4.3: Okno programu po wczytaniu tekstu

4.2.2. Obsługa programu

Zadaniem programu jest przetworzenie tekstu w zapisie ortograficznym w dzwiek mowy oraz odt-

worzenie go. Aby wykonac to zadanie nalezy wprowadzic z klawiatury lub wkleic tekst, który chcemy

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 35: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.3. Ocena syntenzy 37

zsyntezowac, w pole Tekst oraz, przy oznaczonej opcji Auto Trans, nacisnac przycisk Czytaj. Dla odznac-

zonej opcji automatycznej transkrypcji, nalezy najpierw transkrybowac wprowadzony tekst za pomoca

przycisku Transkrypcja, po czym nacisnac Czytaj. Gdy opcja Auto Trans jest odznaczona i uzytkownik

wcisnie Czytaj bez wczesniejszego uzycia Transkrypcja, program nie przetworzy wprowadzonego tek-

stu na zapis fonetyczny, lecz wykorzysta poprzednia dostepna transkrypcje i na jej podstawie zsyntezuje

oraz odtworzy dzwiek. Transkrypcja jest dostepna, jesli została wygenerowana w biezacej sesji programu

– wyswietla sie wówczas w polu Transkrypcja; program nie zapamietuje transkrypcji z poprzedniej sesji.

W stworzonym syntezatorze istnieje mozliwosc wyboru parametrów, na podstawie których wyszuki-

wane sa najodpowiedniejsze jednostki z bazy nagran. Program moze działac przy wykorzystaniu jednego

z czterech zestawów parametrów funkcji kosztu:

1. Współczynniki LPC + metryka Euklidesowa (lpc_dist);

2. Współczynniki LPC + metryka Manhattan (lpc_mandist);

3. Współczynniki MFCC + metryka Euklidesowa (mfc_dist);

4. Współczynniki MFCC + metryka Manhattan (mfc_mandist).

Funkcja kosztu, wraz z powyzszymi parametrami, zostały opisane w rozdziale 3.4. Aby wybrac

rodzaj parametrów nalezy w dolnym polu tekstowym wpisac odpowiednia nazwe: lpc_dist, lpc_mandist,

mfc_dist lub mfc_mandist, po czym nacisnac Wczytaj. Przedstawia to ponizszy rysunek:

Figure 4.4: Wybór funkcji kosztu

Domyslnie program działa przy uzyciu mfc_dist.

Przy uzyciu programu nalezy zwrócic uwage na nastepujace rzeczy: Syntezator nie czyta liczb, dat,

godzin itp., jedynie cyfry, dlatego informacje tego typu nalezy wprowadzac w formie słownej.

4.3. Ocena syntenzy

Do oceny działania syntezatora został wykorzystany test MOS (Mean Opinion Score), czyli metoda,

która liczbowo wyraza subiektywne wrazenia uzytkowników odnosnie jakosci działania programu.

Ogólne metody okreslania MOS zostały unormowane przez Miedzynarodowy Zwiazek Telekomunika-

cyjny (ITU) w zaleceniu ITU-T P.800.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 36: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.3. Ocena syntenzy 38

Jedna ze skal oceny jakosci metody MOS jest ACR (Absolute Category Rating). Ocena ACR jest

wyrazona jedna z pieciu cyfr od 1 do 5, gdzie 1 jest najgorsza ocena jakosci dzwieku, 5 najlepsza.

Poszczególne wartosci odpowiadaja nastepujacym odczuciom jakosci:

– 1 – zła; zrozumienie mowy nie jest mozliwe;

– 2 – słaba; zrozumienie mowy jest trudne, bardzo uciazliwe dla słuchacza;

– 3 – srednia; zrozumienie mowy wymaga koncentracji, jest umiarkowanie uciazliwe;

– 4 – dobra; zauwazalne błedy, jednak całosc zrozumiała;

– 5 – znakomita; zupełna zrozumiałosc mowy.

Srednia wartosc testu zawierajaca sie w przedziale od 4.0 do 4.5 jest uwazana za zupełnie satysfakcjonu-

jaca. Wartosc ponizej 3.5 przez wielu uzytkowników jest nie do zaakceptowania.

Celem przeprowadzenia testu, oprócz ogólnej oceny jakosci syntezowanej mowy, był wybór

parametrów oraz miary odległosciowej obliczonych parametrów w funkcji kosztu konkatenacji, które

pozwalaja na wygenerowanie mowy najbardziej naturalnej. W tym celu kazde zdanie testowe zostało

zsyntezowane przy uzyciu funkcji kosztu konkatenacji o nastepujacych parametrach:

– energia, ton krtaniowy, współczynniki lpc, miara euklidesowa;

– energia, ton krtaniowy, współczynniki lpc, miara odległosci Manhattan;

– energia, ton krtaniowy, współczynniki mfc, miara euklidesowa;

– energia, ton krtaniowy, współczynniki mfc, miara odległosci Manhattan.

Sposób przeprowadzenia testu

W badaniu jakosci stworzonego syntezatora wzieło udział 8 osób. Kazda osoba odsłuchała jednokrot-

nie czterech zestawów uprzednio wygenerowanych zdan. Kazdy zestaw składał sie z trzech zdan i jed-

nego słowa (takich samych dla wszystkich zestawów) zsyntezowanych dla jednej z czterech kombinacji

parametrów funkcji kosztu. Kazdej odsłuchanej wypowiedzi testowana osoba przypisała, według włas-

nych wrazen odsłuchowych i stopnia zrozumienia tekstu, ocene 1-5. Wynik MOS został obliczony dla

kazdego zestawu jako srednia arytmetyczna z ocen wszystkich słuchaczy.

W zwiazku z tym, ze ocena wypowiedzi odtwarzanej po nagraniu o bardzo dobrej jakosci moze

róznic sie od oceny uzyskanej w przypadku, gdy badana wypowiedz zostanie odtworzona po nagraniu

o niskiej jakosci oraz z tym, ze badana osoba z kazdym przesłuchaniem sekwencji testowej stopniowo

sie jej uczy, została zmieniona kolejnosc odtwarzania zdan wygenerowanych za pomoca róznych funkcji

kosztu.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 37: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.3. Ocena syntenzy 39

Zdania uzyte w tescie

W celu lepszego sprawdzenia działania stworzonego syntezatora, przy tworzeniu zdan do testów

starano sie nie uzywac słów badz sekwencji słów zawartych w bazie nagran Corpora. Wygenerowano

nastepujace wypowiedzi:

– „Czerwony lisc kocha jesien.”

– „W niedziele zostane dobrym kierowca.”

– „Kupisz mi pudełko zapałek?”

– “nauczyciel”

Wyniki testu

Stworzony syntezator mowy polskiej został oceniony za pomoca testu MOS. W ocenie programu

wzieło udział osiem osób. Na potrzeby testu zostały wygenerowane cztery wypowiedzi, kazda w czterech

róznych wersjach. Wyniki testu przedstawiaja ponizsze tabele:

– Dla parametrów: energia, ton krtaniowy, współczynniki lpc, miara euklidesowa;

osoba1 osoba2 osoba3 osoba4 osoba5 osoba6 osoba7 osoba8zdanie1 3 2 4 2 2 2 1 2zdanie2 1 1 1 2 1 1 1 2zdanie3 2 1 1 1 1 1 1 2słowo 3 3 1 4 2 1 3 2

Table 4.1: LPC, miara euklidesowa

– Dla parametrów: energia, ton krtaniowy, współczynniki lpc, miara odległosci Manhattan;

osoba1 osoba2 osoba3 osoba4 osoba5 osoba6 osoba7 osoba8zdanie1 3 3 1 2 2 1 1 2zdanie2 1 1 1 1 1 1 1 1zdanie3 1 1 1 1 1 1 1 1słowo 3 2 1 4 2 2 3 2

Table 4.2: LPC, miara miejska

– Dla parametrów: energia, ton krtaniowy, współczynniki mfc, miara euklidesowa;

osoba1 osoba2 osoba3 osoba4 osoba5 osoba6 osoba7 osoba8zdanie1 2 2 2 2 2 2 1 2zdanie2 3 1 1 1 2 1 1 2zdanie3 2 2 2 1 1 1 1 1słowo 4 3 2 3 3 4 5 4

Table 4.3: MFCC, miara euklidesowa

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 38: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

4.3. Ocena syntenzy 40

– Dla parametrów: energia, ton krtaniowy, współczynniki mfc, miara odległosci Manhattan.

osoba1 osoba2 osoba3 osoba4 osoba5 osoba6 osoba7 osoba8zdanie1 3 3 2 2 2 2 1 3zdanie2 2 1 1 1 1 1 1 1zdanie3 1 1 1 1 1 1 1 1słowo 4 3 2 4 3 3 4 3

Table 4.4: MFCC, miara miejska

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 39: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

5. Wnioski

Wyniki testu MOS

Wyniki zostały zestawione na ponizszych wykresach.

– Porównanie sredniej z wszystkich wypowiedzi dla kazdego zestawu parametrów:

Figure 5.1: Wynik sredni dla kazdego kosztu

– Porównanie sredniej z uzytych w tescie zdan:

Figure 5.2: Wynik sredni dla kazdej wypowiedzi

41

Page 40: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

42

– Porównanie sredniej oceny dla zsyntezowanego pojedynczego słowa:

Figure 5.3: Wyniki dla pojedynczego słowa

Ogólne wyniki testu – uwzgledniajace testy dla kazdej wypowiedzi i kazdego zestawu parametrów –

przyjmuja wartosc od 1,56 do 2,06, czyli ponizej wartosci uznawanej za satysfakcjonujaca przy uzyciu

testu MOS – 3,5. Przy syntezie pojedynczych słów wyniki sa zdecydowanie lepsze, jednak nadal znajduja

sie ponizej wartosci 3,5.

Wnioski dotyczace skutecznosci poszczególnych wersji funkcji kosztu kształtuja sie nastepujaco –

najlepiej oceniana synteza została uzyskana przy uzyciu mfc_dist (2,06 dla całego testu, 1,58 dla zdan,

3,5 dla słowa), natomiast najgorzej oceniana przy uzyciu lpc_mandist (1,56 dla całego testu, 1,29 dla

zdan, 2,37 dla słowa). Parametry mfc_dist zostały uzyte jako domyslne w programie. Przy syntezowa-

niu całych zdan lepsze wyniki osiagneły algorytmy wykorzystujace metryke Euklidesowa (na równi

lpc_dist i mfc_dist) niz wykorzystujace metryke Manhattan (mfc_mandist i lpc_mandist). Przy syntezie

pojedynczych słów lepsze okazały sie algorytmy wykorzystujace współczynniki MFCC (mfc_dist 3,5

i mfc_mandist 3,25, które były najlepszymi rezultatami w tescie) niz współczynniki LPC.

Wnioski ogólne

Wyniki przeprowadzonego testu MOS pokazuja, ze działanie syntezatora nie jest satysfakcjonu-

jace (w wielu przypadkach testujace program osoby oceniły zsyntezowane wypowiedzi jako zupełnie

niezrozumiałe). Zakładajac poprawnosc segmentacji uzytej bazy nagran oraz prawidłowe działanie mod-

ułu dokonujacego konwersji zapisu ortograficznego na fonetyczny, nalezy szukac przyczyny niezrozu-

miałosci syntezowanych tekstów w implementacji programu. Przyczyna moze byc uproszczenie algo-

rytmu obliczajacego funkcje kosztu oraz nie zastosowanie w programie algorytmów wygładzajacych

przejscia pomiedzy jednostkami fonetycznymi. Przyczyna moze byc takze zbyt mała, jak na potrzeby

konkatenacji z wyborem jednostek, baza nagran. W programie skupiono sie na czesci funkcji kosztu

odpowiadajacej za obliczenie kosztu łaczenia, nie uwzgledniono natomiast kosztu doboru. Koszt doboru

bazuje na takich parametrach jak np. lewy i prawy kontekst jednostki fonetycznej, czy jej pozycja

w sylabie i słowie. Dodatkowe uwzglednienie tych cech, z waga odpowiednia w stosunku do cech

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 41: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

43

uwzglednionych w koszcie konkatenacji, pozwoliłoby na bardziej efektywny wybór jednostek. Lepiej

dopasowane jednostki przyczyniłyby sie do mniej słyszalnych nieciagłosci w miejscach łaczenia. Do-

datkowo nieciagłosci mozna próbowac zredukowac za pomoca odpowiednich algorytmów, jak np. TD-

PSOLA (ang. Time-Domain Pitch-Synchronous OverLap-and-Add). Dodatkowym problemem przy syn-

tezie całych wypowiedzi były krótkie i niewyrazne przerwy miedzy słowami. Z doborem odpowiednich

przerw miedzy wyrazami wiaze sie kwestia uwzglednienia znaków interpunkcyjnych. Odpowiednie od-

czytanie interpunkcji pozwala takze na okreslenie typu zdania, co z kolei jest niezbedne do nadania

wypowiedzi własciwej intonacji. W realizowanej przez program syntezie nie zostały uwzglednione pro-

zodia, co stanowi jednak drugorzedna kwestie w porównaniu do problemów z nieciagłoscia w łaczeniu

jednostek oraz problemem z jednoznacznym okresleniem granic miedzywyrazowych przez słuchacza.

W celu ulepszenia jakosci syntezy, do programu mozna dołaczyc moduł normalizujacy tekst oraz słownik

pozwalajacy na poprawna transkrypcje wyjatków. Stworzony syntezator nie potrafi poprawnie odczytac

daty, godziny itp., odczytuje wyłacznie cyfry, co wymaga wprowadzenia danych takich jak data w formie

słownej. Normalizacja tekstu pozwoliłaby na wieksza dowolnosc w wprowadzanym tekscie.

Przy implementacji syntezatora bardzo istotnym aspektem okazał sie czas syntezy. Poczatkowo

do wyszukiwania nastepujacych po sobie jednostek o najlepiej dopasowanych parametrach został wyko-

rzystany algorytm Floyda-Warshalla, jednak czas potrzebny na synteze pojedynczego słowa, oscylu-

jacy około wartosci kilkunastu sekund, zdyskwalifikował te metode wyszukiwania. Zamiast algorytmu

Floyda-Warshalla został zastosowany algorytm Dijkstry, co znacznie przyspieszyło prace programu.

Oprócz zmiany algorytmu, w celu przyspieszenia pracy, do programu zostały dołaczone pliki z oblic-

zonymi wczesniej wartosciami funkcji kosztu dla wykorzystanej bazy nagran, dzieki czemu wartosci

te nie sa obliczane za kazdym razem na nowo. Przy duzych bazach nagraniowych uzyskanie wartosci

funkcji kosztu jest procesem bardzo czasochłonnym. Czasochłonne jest równiez obliczanie sciezek

o minimalnym koszcie, co czyni zasadnym uznanie wyboru algorytmu wyszukujacego za priorytetowe.

P. Gegotek, D. Korzec Konkatenacyjny syntezator mowy polskiej

Page 42: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Bibliografia

[1] Zespół Przetwarzania Sygnałów AGH. Dokumentacja programu OrtFon AGH. Akademia

Górniczo-Hutnicza, Kraków.

[2] J. Tambor D. Ostaszewska. Fonetyka i fonologia współczesnego jezyka polskiego. PWN, Warszawa,

2000.

[3] L. Dukiewicz. Intonacja wypowiedzi polskich. Zakład Narodowy im. Ossolinskich, Wrocław, 1978.

[4] M. Dłuska. Prozodia jezyka polskiego. PWN, Warszawa, 1976.

[5] M. Dłuska. Fonetyka polska - artykulacja głosek polskich. PWN, Warszawa-Kraków, 1986.

[6] S. Grocholewski. Baza nagran sygnałów mowy CORPORA - instrukcja uzytkowania. Politechnika

Poznanska, Instytut Informatyki, Poznan, 1997.

[7] http://quickgraph.codeplex.com/documentation. Dokumentacja biblioteki QuickGraph.

http://quickgraph.codeplex.com/, 2011.

[8] http://www.graphviz.org/Documentation.php. Dokumentacja biblioteki Graphviz.

http://www.graphviz.org/, 2011.

[9] http://www.un4seen.com/doc/. Dokumentacja biblioteki BASS. un4seen.com, 2011.

[10] W. Jassem. Akcent jezyka polskiego. Zakład Narodowy im. Ossolinskich, Wydawnictwo PAN,

Wrocław-Warszawa-Kraków, 1962.

[11] D. Oliver. Polish Text to Speech Synthesis. University of Edinburgh, Department of Linguistics,

1998.

[12] K. Szklanny. Przygotowanie bazy difonów jezyka polskiego dla realizacji syntezy mowy w systemie

MBROLA. Polsko-Japonska Wyzsza Szkoła Technik Komputerowych, Warszawa, 2002.

[13] K. Szklanny. System korpusowej syntezy mowy dla jezyka polskiego. XI International PhD Work-

shop, OWD, 2009.

[14] R. Tadeusiewicz. Sygnał mowy. Wydawnictwo Komunikacji i Łacznosci, Warszawa, 1988.

[15] J. Bralczyk W. Gruszczynski. Słownik gramatyki jezyka polskiego. WSiP, Warszawa, 2002.

44

Page 43: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Dodatek A

Licence

BASS is free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not making any money from

your product (through sales/advertising/etc), then you can use BASS in it for free. If you wish to use BASS in commercial products, then please

also see the next section.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BASS IS PROVIDED "AS IS", WITHOUT WARRANTY OF

ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHAN-

TABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS SHALL NOT BE HELD LIABLE FOR ANY DAMAGE

THAT MAY RESULT FROM THE USE OF BASS. YOU USE BASS ENTIRELY AT YOUR OWN RISK.

Usage of BASS indicates that you agree to the above conditions.

All trademarks and other registered names contained in the BASS package are the property of their respective owners.

Commercial licensing

BASS is available for use in your commercial products. The licence types available are as follows:

SHAREWARE: Allows the usage of BASS in an unlimited number of your shareware ("try before you buy") products, which must sell

for no more than 40 Euros each. Non-shareware products are also permitted, but the product price limit is 10 Euros in that case. The price limit

can be raised by purchasing duplicate licences, eg. 2 licences doubles it. If you are an individual (not a corporation) making and selling your

own software, this is the licence for you.

SINGLE COMMERCIAL: Allows the usage of BASS in one commercial product.

UNLIMITED COMMERCIAL: Allows the usage of BASS in an unlimited number of your commercial products. This licence is on a

per-site basis, eg. if you are creating products with BASS at 2 sites/locations, then 2 licences are required.

Please note the products must be end-user products, eg. not components used by other products.

These licences only cover your own software, not the publishing of other’s software. If you publish other’s software, its developers (or the

software itself) will need to be licensed to use BASS.

These licences are on a per-platform basis, with reductions available when licensing for multiple platforms. In all cases there are no

royalties to pay, and you can use future BASS updates without further cost.

These licences do not allow reselling/sublicensing of BASS. For example, if a product is a development system, the users of said product

are not licensed to use BASS in their productions; they will need their own licences.

If the standard licences do not meet your requirements, or if you have any questions, please get in touch (email: [email protected]).

Visit the BASS website for the latest pricing:

www.un4seen.com

45

Page 44: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Dodatek B

Microsoft Public License (Ms-PL)

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license,

do not use the software.

1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright

law.

A "contribution" is the original software, or any additions or changes to the software.

A "contributor" is any person that distributes its contribution under this license.

"Licensed patents" are a contributor’s patent claims that read directly on its contribution.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor

grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its

contribution, and distribute its contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor

grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale,

import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

3. Conditions and Limitations

(A) No Trademark License- This license does not grant you rights to use any contributors’ name, logo, or trademarks.

(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license

from such contributor to the software ends automatically.

(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present

in the software.

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete

copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only

do so under a license that complies with this license.

(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions.

You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your

local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

46

Page 45: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Dodatek C

47

Page 46: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

Dodatek DSpis wszystkich wyrażeń w bazie nagrań CORPORA. Obok znajdują się kody użyte do nazwania plików *.wav.

a__ a a-_ ą be_ be ce_ ce ci_ će de_ de e__ e e-_ ę ef_ ef ge_ ge ha_ ha i__ i jot jot ka_ ka el_ el eu_ eł em_ em en_ en ni_ eń o__ o pe_ pe ku_ ku er_ er es_ es esi eś esz esz te_ te u__ u wu_ wu y__ y zet zet zi_ źet rz_ żet _0_ zero _1_ jeden _2_ dwa _3_ trzy _4_ cztery _5_ pięć _6_ sześć _7_ siedem _8_ osiem _9_ dziewięć ada Adam agt Agataagn Agnieszkaalx Aleksanderalf Alfred

alc Alicja aln Alina ana Anastazja and Andrzej anz Andżelikaani Aniela ann Annaant Antoniapo Apolonia ark Arkadiusz art Arturbar Barbara brt Bartłomiej bea Beata ben Benon ber Bernard bla Błażej boz Bożena bgd Bogdan bgm Bogumił bsl Bogusław bls Bolesław bro Bronisław cec Cecylia cel Celina cez Cezary cyp Cyprian cze Czesław dm Damian dnl Daniel dnt Danuta drj Daria drs Dariusz djn Diana dom Dominik drt Dorota edm Edmund edw Edward edy Edyta eli Eliza elz Elżbietaeml Emil emj Emiliaelg Eugenia els Eugeniusz ewa Ewa fla Felicja fln Felicjan flx Feliks fil Filip

flo Florentyna flr Florian fra Franciszek fry Fryderyk gen Genowefa ger Gerard gra Grażyna gze Grzegorz gus Gustaw hal Halina han Hanna hel Helena hen Henryk hie Hieronim hon Honorata hub Hubert iga Iga ign Ignacy irn Irena ire Ireneusz iwo Iwona iza Izabela izy Izydor jck Jacek jdw Jadwiga jkp Jakub jan Jan jns Janusz jar Jaros ław jez Jerzy joa Joanna jln Jolanta jzf Józef jja Julia jlj Julian jnn Julianna jlt Julitajls Juliuszjst Justynakml Kamilkrl Karolkrn Karolinakat Katarzynakzm Kazimierakaz Kazimierzkld Klaudiakln Klaudynaklm Klementynaknr Konradkrs Krystyna

Page 47: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

krz Krzysztofleh Lechlkd Leokadialeo Leonlnd Leonardles Leszekldj Lidialcj Lucjanlcn Lucynaldm Ludmiłaldw Ludwikluc Łucjalun Łucjanlks Łukaszmac Maciejmgd Magdalenamlg Małgorzatamrc Marcinmrk Marekmrj Mariamrn Marianmrl Mariolamrs Mariuszmrt Martamrz Marzenamtu Mateuszmch Michałmjc Mieczysławmkl Mikołajmir Mirosławmnk Monikantl Natalianik Nikodemnin Ninanrb Norbertoln Oleńkaolg Olgaolt Olgierdpln Paulinapwl Pawełplg Pelagiaptr Piotrprz Przemysławrds Radosławrfl Rafałrjm Rajmundrgn Reginarnt Renatarbt Robertrmn Romanrmt Romualdrdl Rudolfrys Ryszardsbn Sabinasbs Sebastianswr Sewerynslm Sławomirsbj Sobiesławstn Stanisławstf Stefanslw Sylwiaszc Szczepan

szm Szymonsci Ściborswi Światosławtdu Tadeusztdr Teodortfl Teofiltrs Teresatms Tomaszurb Urbanurs Urszulawcl Wacławwld Waldemarwln Walentywal Walentynawnd Wandawrn Weronikawsl Wiesławwkt Wiktorvik Wiktoriawnc Wincentywjl Wiolettawtl Witoldwla Władysławwlo Włodzimierzwjc Wojciechzbg Zbigniewzdz Zdzisławznn Zenonziu Ziutazfj Zofiazuz Zuzannazgm Zygmuntzan Żanetacfn cofnijkrp kropkanie nienwl nowa liniapsz przecinekspc spacjastp stopzle źle

001 Lubić czardaszowy pląs.002 Cudzy brzuch i buzia w drzewie.003 W żądzy zejdę z gwoździa.004 Krociowych sum nie żal mi.005 Móc czuć każdy odczynnik.006 On łom kładzie, lampy i kołpak.007 Rybactwo smutnieje, on się śmieje.008 On liczne taśmy w cuglach da.009 Ten chór dusiłem licznie.010 Chciałbym wpaść na sesję .011 Żółtko wlazło i co zrobić .012 Wór rur żelaznych ważył.013 U nas ludzie zwą to fuchy.014 On myje wróble w zoo.015 Boś cały w wiśniowym soku.

016 Na czczo chleby i pyry z dżemem.017 Podobno bardzo wielki uczony.018 Lech być podlejszym chce.019 Ten ciepły dom z dachówką .020 Toż gdzieś tam w noc ciemną .021 Żre jeż zioła jak dżem John022 I wszyscy są na okrągło.023 Jak bym był jednak w domu.024 Masz dzisiaj różyczkę zieloną .025 Weź, daj im soli drogi Dyzmo.026 Weź, masz ramki opolskie.027 Dźgnął nas cicho pod zamkiem.028 Tam śpi wojsko z bronią?029 Nie odchodź bo żona idzie.030 Książę daj pół Ziemi i siostrę .031 Tym można atakować .032 Zmyślny kot psotny ujdzie.033 Niech pan sunie na wschód.034 Ten górnik wyżył z ochłapu.035 Czy upewnić się czy łże?036 Od ilu wolniej ślepcze?037 Dał snycerz matce tlen zimą.038 Niech 3e na f3.039 Chwat okno urwał wam Ziuto.040 Toż swój lew chadza, chroń go.041 Mój torf ma u Izy od Johna.042 Lecz wuj nasz pił równo.043 Babciu oddaj w mig mój dżem.044 On i Ewa noc i dzień szli z nim.045 Obcy ptak co drzemał na pniu.046 Wśród sosen kwiat i drzewa.047 Ktoś wbił się srodze.048 Kwaśny jęzor z kur lub gęsi.049 Koń warczy jak ćma w noc szarą .050 Oj bardziej niż wasz był szary.051 Pędź do chmur myjko.052 Idą do Ełku ulicą i jedzą.053 On szył im szwy dziś .054 On dziś chce mieć szyb wagon055 Lecz są gzymsy albo gzik.056 Tam go oblał mój zuch kawą .

Page 48: i Elektroniki Katedra Elektroniki - dsp.agh.edu.plsyntezatorpraca_fin.pdf · Praca inzynierska składa sie˛ z trzech cze˛˙ ´sci. W pierwszej opisano podstawowe zjawiska zwiazane˛

057 Też chroń słońce Ewo.058 Zrób hop siup malcze.059 Idą za młodym co serce ma.060 Lecz późną nocką idą raźniej.061 Mat szach tą wieżą.062 Tam dalszy zięć to był.063 Nasz NOT ma tam dźwig.064 Zlot się w pełni skończył.065 Zapną wtenczas ten pas.066 Daj choć samą ćwiartkę.067 Też leć za nim z szybą .068 Toć różni się mój frak często.069 Oddziel dziś go Oldze.070 Lecz z czym ten frajer zjadł .071 Król lew nam życie wziął.072 Woź żyto bo zżęty mój łan.073 Zgrabnie ją kat bił w pas.074 Idź jak kot cicho po mchu.075 Wal po tym czymś stopą .076 Ten był czwarty z zuchów.077 W palcu Eli atłas ino.078 Czmychnie w górę gałęzi.079 Obmyj dzban z dziurą okrągłą .

080 Widzą chrzan biały na rzęsach081 Koń drogą marną szedł .082 Od zimy dzwon wisi ojcze.083 Karpi zimą brać nie czas.084 Drożdże są czymś solone.085 Znów łamał haki od góry.086 Nasz Jan je ojca perłę .087 Aśka z Izą niech się pną .088 Daj żyć całej ziemi.089 Też zjesz coś czy dżem raczej.090 Piękny dyngus miał John091 Z tą Ewą Łukasz i Kacper grają.092 Na węch naszą aleją już szła.093 Żył ładniej niż świnka lub płaz.094 Mierź babcie lub brata, nas nie.095 Wierch gór Dżungarii.096 Olzą płyńmy wskroś Zaolzia.097 Na półce ciężkie połcie.098 Księżyc lśnił mocno noc całą .

099 Wiedźma zsiada z przęsła.100 W bryczce cmokają się i gwiżdżą.101 Żmije są sine bo są zimne.102 Niech za mur idą dżdżownice.103 Spręż ciało na pierś Jana.104 On żył zacniej niż żonka.105 Tęsknił żigolak pod żlebem.106 Wyżły i koń piją u źródła.107 Ból łokcia u dżokeja to klęska.108 Ma bzika po krzywdzie na poczcie.109 Cwany Jaś szyje dżinsy.110 Chodźże w ciąży z Jadzią.111 Król robił z zimna na hałdzie.112 Palcie drzazgi olchy z sensem.113 Najjaśniej gada z tą lalką dziś .114 Bank chłopski tą ceną dzwoni.