45
AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI Praca dyplomowa inżynierska Aleksandra Nabożny Inżynieria Akustyczna Przygotowanie korpusu do projektu korpusowego syntezatora mowy Dr inż. Bartosz Ziółko ………………….. Ocena Kraków, rok 2013/2014

Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Embed Size (px)

Citation preview

Page 1: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

AKADEMIA GÓRNICZO-HUTNICZA

im. Stanisława Staszica w Krakowie

WYDZIAŁ INŻYNIERII

MECHANICZNEJ I ROBOTYKI

Praca dyplomowa

inżynierska

Aleksandra Nabożny

Inżynieria Akustyczna

Przygotowanie korpusu do projektu korpusowego

syntezatora mowy

Dr inż. Bartosz Ziółko ………………….. Ocena

Kraków, rok 2013/2014

Page 2: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Kraków, dn……………..

Aleksandra Nabożny

Nr albumu: 241175

Kierunek studiów: Inżynieria Akustyczna

Specjalność:

OŚWIADCZENIE

Świadomy/a odpowiedzialności karnej za poświadczanie nieprawdy oświadczam,

że niniejszą inżynierską pracę dyplomową wykonałem/łam osobiście i samodzielnie

oraz nie korzystałem/łam ze źródeł innych niż wymienione w pracy.

Jednocześnie oświadczam, że dokumentacja praca nie narusza praw autorskich

w rozumieniu ustawy z dnia 4 lutego 1994 roku o prawie autorskim i prawach

pokrewnych (Dz. U. z 2006 r. Nr 90 poz. 631 z późniejszymi zmianami) oraz dóbr

osobistych chronionych prawem cywilnym. Nie zawiera ona również danych i

informacji, które uzyskałem/łam w sposób niedozwolony. Wersja dokumentacji

dołączona przeze mnie na nośniku elektronicznym jest w pełni zgodna z wydrukiem

przedstawionym do recenzji.

Zaświadczam także, że niniejsza inżynierska praca dyplomowa nie była

wcześniej podstawą żadnej innej urzędowej procedury związanej z nadawaniem

dyplomów wyższej uczelni lub tytułów zawodowych.

………………………………..

podpis dyplomanta

Page 3: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Kraków, ……………..

Aleksandra Nabożny

ul. Lipowicza 45, 80-809 Gdańsk

Temat pracy dyplomowej inżynierskiej: Przygotowanie korpusu do projektu

korpusowego syntezatora mowy

Rok ukończenia: 2014

Nr albumu: 241175

Kierunek studiów: Inżynieria Akustyczna

Profil dyplomowania:

OŚWIADCZENIE

Niniejszym oświadczam, że zachowując moje prawa autorskie , udzielam Akademii

Górniczo-Hutniczej im. S. Staszica w Krakowie nieograniczonej w czasie nieodpłatnej

licencji niewyłącznej do korzystania z przedstawionej dokumentacji inżynierskiej pracy

dyplomowej, w zakresie publicznego udostępniania i rozpowszechniania w wersji

drukowanej i elektronicznej1.

Publikacja ta może nastąpić po ewentualnym zgłoszeniu do ochrony prawnej

wynalazków, wzorów użytkowych, wzorów przemysłowych będących wynikiem pracy

inżynierskiej2.

Kraków, ...............… ……………………………..

data podpis dyplomanta

1 Na podstawie Ustawy z dnia 27 lipca 2005 r. Prawo o szkolnictwie wyższym (Dz.U. 2005 nr 164 poz.

1365) Art. 239. oraz Ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz.U. z 2000 r. Nr 80, poz. 904, z późn. zm.) Art. 15a. "Uczelni w rozumieniu przepisów o szkolnictwie wyższym przysługuje pierwszeństwo w opublikowaniu pracy dyplomowej studenta. Jeżeli uczelnia nie opublikowała pracy dyplomowej w ciągu 6 miesięcy od jej obrony, student, który ją przygotował, może ją opublikować, chyba że praca dyplomowa jest częścią utworu zbiorowego."

2 Ustawa z dnia 30 czerwca 2000r. – Prawo własności przemysłowej (Dz.U. z 2003r. Nr 119, poz. 1117 z późniejszymi zmianami) a także rozporządzenie Prezesa Rady Ministrów z dnia 17 września 2001r. w sprawie dokonywania i rozpatrywania zgłoszeń wynalazków i wzorów użytkowych (Dz.U. nr 102 poz. 1119 oraz z 2005r. Nr 109, poz. 910)

Page 4: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Kraków, dnia

AKADEMIA GÓRNICZO-HUTNICZA WYDZIAŁ INŻYNIERII MECHANICZNEJ I ROBOTYKI

TEMATYKA PRACY DYPLOMOWEJ INŻYNIERSKIEJ dla studenta IV roku studiów stacjonarnych

imię i nazwisko studenta TEMAT PRACY DYPLOMOWEJ INŻYNIERSKIEJ:

Promotor pracy:

Recenzent pracy: Podpis dziekana: PLAN PRACY DYPLOMOWEJ

1. Omówienie tematu pracy i sposobu realizacji z promotorem. 2. Zebranie i opracowanie literatury dotyczącej tematu pracy. 3. Zebranie i opracowanie wyników badań. 4. Analiza wyników badań, ich omówienie i zatwierdzenie przez promotora. 5. Opracowanie redakcyjne.

Kraków, ...............… …………………………….. data podpis dyplomanta

TERMIN ODDANIA DO DZIEKANATU: 20 r.

podpis promotora

Page 5: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Akademia Górniczo-Hutnicza im. Stanisława Staszica Kraków, .................

Wydział Inżynierii Mechanicznej i Robotyki

Kierunek: Inżynieria Akustyczna

Profil dyplomowania:

Aleksandra Nabożny

Praca dyplomowa inżynierska

Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Opiekun: dr inż. Bartosz Ziółko

STRESZCZENIE

Na jakość syntezy mowy ma wpływ wiele czynników, jednym z których jest

właściwie przygotowany i zbalansowany korpus. W pracy dyplomowej prezentowany

jest proces tworzenia bazy audio do syntezatora mowy. Opisano także strukturę

fonetyczną języka polskiego. Omówiona została architektura oraz różne rodzaje

systemów TTS (ang. Text-to-speech), ze szczególnym uwzględnieniem syntezy

korpusowej. Następnie przedstawiane są kolejne etapy pracy nad korpusem: analiza

dużych zbiorów tekstowych pod kątem częstotliwości występowania poszczególnych

fonemów, bifonów i trifonów, zautomatyzowana selekcja tekstów oraz sporządzenie i

obróbka nagrań.

Page 6: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

AGH University of Science and Technology Kraków, the............

Faculty of Mechanical Engineering and Robotics

Field of Study: Acoustic engineering

Specialisations:

Aleksandra Nabożny

Engineer Diploma Thesis

Corpus creation for polish Unit-selection speech synthesis.

Supervisor: Ph.D. Bartosz Ziółko

SUMMARY

The crucial factor for synthesised voice’s quality is, among other aspects, well-

prepared and balanced corpus. The thesis depicts whole process of preparation of the

audio database for unit selection speech synthesis. Furthermore, phonological structure

of polish language is briefly described. Although unit selection synthesis is mostly taken

into consideration, other text-to-speech systems’ architecture was presented and

discussed. The key part introduces each step of creation of the corpus: analysis of the

big text database in terms of occurrence of different phones, diphones and triphones,

automatic sentence selection, and finally, realisation and postprocessing of the audio

recordings.

Page 7: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

SPIS  TREŚCI  1.   WSTĘP ..................................................................................................................... 8  

2.   RYS HISTORYCZNY ............................................................................................... 10  

2.1.   GŁOWA Z BRĄZU ......................................................................................... 10  

2.2.   SYNTEZA ARTYKULACYJNA ....................................................................... 10  

3.   PRZEGLĄD AKTUALNYCH TECHNOLOGII ZWIĄZANYCH Z PRZETWARZANIEM

JĘZYKA NATURALNEGO ...................................................................................................... 14  

3.1.   RODZAJE WSPÓŁCZESNYCH SYNTEZATORÓW MOWY ............................... 14  

3.1.1.   SYNTEZA FORMANTOWA ...................................................................... 14  

3.1.2.   SYNTEZA KONKATENACYJNA .............................................................. 15  

3.1.3.   SYNTEZA KORPUSOWA ......................................................................... 16  

3.1.4.   ANALIZA ISTNIEJĄCYCH ROZWIĄZAŃ ................................................. 17  

3.2.   RODZAJE KORPUSÓW W SYSTEMACH NLP ................................................ 18  

4.   SZCZEGÓŁOWY OPIS REALIZACJI PROJEKTU ...................................................... 21  

4.1.   PRZYGOTOWANIE BAZY TEKSTÓW ............................................................ 21  

4.1.1.   NARODOWY KORPUS JĘZYKA POLSKIEGO ......................................... 21  

4.2.   TRANSKRYPCJA FONETYCZNA ................................................................... 22  

4.2.1.   FONETYKA JĘZYKA POLSKIEGO .......................................................... 22  

4.2.2.   ALFABET IPA ....................................................................................... 24  

4.2.3.   ORTFON 2.0 .......................................................................................... 25  

4.3.   ALGORYTM ZACHŁANNY ............................................................................ 27  

4.3.1.   CORPUSCRT ........................................................................................ 28  

4.3.2.   SKRYPTY DO FORMATOWANIA PLIKÓW TEKSTOWYCH ...................... 31  

4.3.3.   RĘCZNA WERYFIKACJA POPRAWNOŚCI DZIAŁANIA ALGORYTMU –

STATYSTYKI WYSTĘPOWANIA POSZCZEGÓLNYCH FONEMÓW ............................... 32  

4.4.   REALIZACJA BAZY AUDIO .......................................................................... 35  

4.4.2.   PRZYGOTOWANIE SESJI NAGRANIOWEJ .............................................. 39  

4.5.   ANOTACJA NAGRAŃ .................................................................................... 40  

5.   PODSUMOWANIE ................................................................................................... 42  

6.   BIBLIOGRAFIA ...................................................................................................... 43  

6.1.   SPIS RYSUNKÓW ......................................................................................... 44  

Page 8: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

1. WSTĘP

Synteza konkatenacyjna to od lat osiemdziesiątych naszego wieku najprężniej rozwijana

metoda generowania sztucznej mowy. Polega ona na wytworzeniu sygnału audio

odpowiadającemu zadanej na wejściu frazie, poprzez łączenie ze sobą mniejszych

jednostek akustycznych mowy pobieranych z odpowiednio anotowanej bazy nagrań. Jej

najpopularniejszą i najbardziej efektywną modyfikacją jest synteza korpusowa,

zakładająca zawartość wielu instancji wybranych jednostek w korpusie danych.

Podstawowym wyznacznikiem jakości tego typu systemów jest naturalność i płynność

uzyskiwanych wypowiedzi. Syntetyczna mowa tym lepiej spełnia te założenia, im

bogatsza jest baza danych programu. Jednakże praca na dużych zbiorach wiąże się z

odpowiednio dużą złożonością obliczeniową, co nawet dla współczesnych komputerów

może być zadaniem zbyt obciążającym. Ponadto, stworzenie bazy wszystkich

dźwięków, na które składa się dany język, biorąc pod uwagę każdy możliwy kontekst

wypowiedzi, jest niemożliwe. Dlatego przygotowanie optymalnego korpusu jest dla

twórców syntezatora zadaniem kluczowym [2][5][10]. Musi być on tak zaprojektowany,

aby osiągnięty został kompromis pomiędzy jego rozmiarem, a jakością. Oznacza to, że

przy jak najmniejszej objętości, powinien cechować się jak największym bogactwem

różnorodnych jednostek lingwistycznych. Osiągnięcie tych założeń jest

skomplikowanym i czasochłonnym zagadnieniem.

Niniejsza praca zawiera krótki opis dziejów syntezy, złożony z historii badań nad

procesem ksztłtowania dźwięków mowy oraz prób odtworzenia rezonansów traktu

głosowego człowieka za pomocą ustrojów akustycznych, a później elektronicznych. W

dalszej części, natomiast, przedstawione zostały współczesne rozwiązania

technologiczne z zakresu przetwarzania mowy naturalnej. Szczególnie uwzględniono

nie tylko zagadnienia dotyczące syntezy, ale również przygotowywania różnego rodzaju

korpusów danych wykorzystywanych w badaniach nad charakterystyką ludzkiego

głosu. Podjęta została także dyskusja na temat przyszłości syntezy konkatenacyjnej, w

porównaniu do zaniedbanej w ostatnich dziesięcioleciach syntezy formantowej.

Wypunktowano cechy potencjalnego idealnego programu do generowania mowy,

dołączając komentarz dotyczący perspektyw ich spełnienia przez każdy z tych

systemów.

Page 9: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Kolejne rozdziały przedstawiają pełen proces projektowy tworzenia korpusu, na

który składają się:

1) wybór jednostki akustycznej - fonem, difon, trifon, etc.;

2) wybór i przygotowanie bazy tekstowej;

3) wybór alfabetu do transkrypcji fonetycznej;

4) realizacja transkrypcji fonetycznej;

5) balansowanie korpusu pod względem optymalnego pokrycia wybranych

jednostek;

6) realizacja nagrań – wybór sprzętu i oprogramowania, wybór lektora, etc.;

7) segmentacja nagrań;

Każde z użytych rozwiązań opatrzone jest stosownym uzasadnieniem co do jego

wyboru. Opisane zostały kolejne etapy ich wdrażania oraz efekty ich zastosowania.

Ostatecznie, streszczono plany na dalszy rozwój projektu, ze szczególnym

uwzględnieniem implementacji korpusu, jako serca systemu syntezy mowy polskiej.

Page 10: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

2. RYS HISTORYCZNY

Mimo że współczesne wysiłki podejmowane w kierunku wygenerowania naturalnie

brzmiącej ludzkiej mowy dotyczą ściśle zagadnień z dziedziny cyfrowego

przetwarzania sygnałów, dzieje syntezy sięgają dużo wcześniej, niż zostały wynalezione

komputery oraz odpowiedni aparat matematyczny. Pierwsze eksperymenty związane z

odtwarzaniem samogłosek przypadają dopiero na epokę nowożytną, choć

zainteresowanie ludzi automatycznym imitowaniem głosu datuje się na XII wiek.

Poniżej wymieniono kilka postaci, bądź instytucji, które miały znaczący wpływ na

rozwój syntezy na przestrzeni dziejów.

2.1. GŁOWA Z BRĄZU

Pierwsze fantazje człowieka na temat urządzeń przemawiających ludzkim głosem

sięgają XII wieku. Wtedy to niemiecki uczony i katolicki święty, Albert Wielki, został

posądzony o wynalezienie tak zwanej mechanicznej głowy. Legenda głosi, iż był to

automat w kształcie ludzkiej czaszki, który przyjmował pytania zapisane na kartce i na

każde z nich potrafił odpowiedzieć. Został ostatecznie zniszczony przez Tomasza z

Akwinu, jako heretycki, magiczny eksperyment [13]. Przekazy dotyczące „Głowy z

brązu” zachowały się, między innymi, w literaturze Miquela de Cervantesa, czy Daniela

Dafoe.

2.2. SYNTEZA ARTYKULACYJNA

Niewątpliwym pionierem w dziedzinie syntezy mowy był osiemnastowieczny doktor

fizyki Uniwersytetu w Kopenhadze, Christian Gottlieb Kratzenstein [3]. Uczony po raz

pierwszy w historii opublikował opracowanie naukowe traktujące o wytwarzaniu

samogłosek przez ludzkie narządy mowy. Swoją pracą zwyciężył w konkursie

organizowanym przez Petersburską Akademię Nauk, odpowiadając na pytanie: „Jaka

jest natura oraz różnice pomiędzy samogłoskami a, o, e, i, u oraz jak można je

instrumentalnie odtworzyć?”. Kratzenstein podszedł do pracy koncentrując się na

anatomii traktu głosowego. Dokładnie mierzył średnicę i długość krtani, czy objętość

jamy ustnej podczas wypowiadania poszczególnych fonemów. Jedym słowem, badał

Page 11: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

geometrię wszystkich kanałów i szczelin, jakie strumień powietrza pokonuje podczas

ich wymowy. W efekcie wynalazł system piszczałek, dzięki którym można było

odtworzyć zadane samogłoski. Jego praca jest o tyle ciekawa, że powstała na około sto

lat przed dokładnym opisaniem przez Hermana von Helmhotlza teorii i równań

dotyczących rezonansu akustycznego.

Rysunek 1. Szkice przekrojów poprzecznych rezonatorów Kratzensteina, które odtwarzały,

kolejno, głoski a, o i e [3]

Kolejnym pionierskim wynalazkiem okazała się maszyna mówiąca Wolfganga von

Kempelena. Było to już w pełni funkcjonalne urządzenie, z pompą imitującą płuca, oraz

dwoma gumowymi ujściami powietrza ze skrzyni rezonansowej, które miały imitować

nos i usta. Wprawny operator mógł z jej pomocą generować już nie tylko pojedyncze

głoski, ale też niektóre słowa, czy frazy. Cały wynalazek von Kempelen opisał w swojej

książce pt. “Mechanismus der menschlichen Sprache nebst Beschreibung einer

sprechenden Maschine” (Mechanizmy mowy ludzkiej, z opisem maszyny mówiącej), a

jego replika znajduje się na Wydziale Fonetyki Uniwersytetu Saarland w Niemczech.

Page 12: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 2. Szkic maszyny mówiącej pochodzący z książki von Kempelena [6]

Pierwszą elektroniczną implementacją syntezatora mowy było urządzenie Voder (Voice

Operating Demonstrator), system składający się z układu oscylatorów, filtrów i źródła

szumu opatentowany w Bell Laboratories w roku 1928 przez Homera Dudleya. Mimo,

że jego budowa różniła się od poprzednich konstrukcyjnie, opierała się na podobnych

założeniach projektowych. Generator szumu pełnił rolę pompy w maszynie von

Kempelena, a poszczególne układy elektroniczne odzwierciedlały rezonanse, które

zachodzą podczas artykulacji głosek. Operator miał do wyboru dwa źródła: szum

„syczący”, do wytwarzania sybilant (rodzaj spółgłosek szczelinowych, np. s, z), oraz

szum „brzęczący”, produkowany lampą elektronową, do samogłosek i spółgłosek

nosowych (np. m, n). Ten wybór kontrolowany był poprzez przycisk obsługiwany

nadgarstkiem (wrist bar, Rysunek 3). Sygnał źródłowy przechodził przez kombinację

wybranych za pomocą klawiszy filtrów pasmowo-przepustowych (spectrum keys;

Rysunek 3). Było ich do wyboru dziesięć. Dodatkowo, dzięki odpowiedniej modulacji

wysokości tonu (pitch pedal; Rysunek 3) można było kreować prozodię (melodykę)

wypowiedzi [22].

Page 13: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 3. Schemat działania urządzenia „Voder” [22]

Automat został po raz pierwszy zaprezentowany w roku 1939 na światowych targach w

Nowym Jorku. Był on tak skomplikowany w obsłudze, że jego operatorzy musieli być

specjalnie przeszkoleni, a nie każdemu udawało się dojść do takiej sprawności, aby

generowana mowa była wystarczająco zrozumiała.

Page 14: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

3. PRZEGLĄD AKTUALNYCH TECHNOLOGII ZWIĄZANYCH Z

PRZETWARZANIEM JĘZYKA NATURALNEGO

3.1. RODZAJE WSPÓŁCZESNYCH SYNTEZATORÓW MOWY

Współcześnie synteza mowy rozwinęła się w nieco odmiennym kierunku, niż ten,

którym podążał jej rozwój na przestrzeni poprzednich wieków. Efekty i potencjalne

konsekwencje tego zjawiska opisane zostały w niniejszym rozdziale.

3.1.1. SYNTEZA FORMANTOWA

Synteza formantowa jest rodzajem syntezy addytywnej, czyli zakładającej łączenie ze

sobą fal sinusoidalnych o różnych amplitudach i częstotliwościach, i polega na

całkowicie sztucznym wytworzeniu cyfrowego sygnału mowy. Pożądane brzmienie

otrzymuje się poprzez wygenerowanie tonu podstawowego, kontrolę poziomów szumu

oraz analizę artykulacji poszczególnych głosek. Właśnie od tej ostatniej właściwości

zależna jest nazwa, ponieważ artykulacja każdego fonemu cechuje się określonym

rozkładem formantów [5].

Formant oznacza rezonans akustyczny ludzkiego traktu głosowego. Dotycząca

ściśle fonetyki definicja mówi, że są to wartości szczytowe widma sygnału mowy dla

poszczególnych jednostek akustycznych. Według bardziej uniwersalnego określenia, bo

dotyczącego barwy dźwięku w ogóle, są to uwypuklone w danej barwie pasma

częstotliwości. Rozkład formantów bada się, między innymi, stosując analizę

spektrogramów.

Page 15: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 4. Cyfrowy zapis angielskiego słowa "treaty" oraz jego spektrogram [19]

Na Rysunek 4 można dokładnie zaobserwować formanty smogłosek, jednak ten rodzaj

analizy dla grup spółgłosek jest już dużo trudniejszy. Właśnie dlatego, oraz z powodu

trudności odwzorowania naturalnych przejść pomiędzy fonemami, sygnał wytworzony

metodą syntezy formantowej ma bardzo nienaturalny, „robotyczny” wydźwięk.

3.1.2. SYNTEZA KONKATENACYJNA

Od lat siedemdziesiątych synteza konkatenacyjna to najpopularniejsza i najszerzej

rozwijana metoda generowania mowy [4][5]. Polega ona na sklejaniu fragmentów

wypowiedzi z bazy nagrań lektora celem osiągnięcia lepszej zrozumiałości. Na

zarzucenie dotychczasowej idei wytwarzania sztucznej mowy pozwolił szybki wzrost

zdolności obliczeniowej współczesnych komputerów. Możliwość realizacji

skomplikowanych procesów przez maszynę w czasie rzeczywistym jest kluczowa z

punktu widzenia rozwoju tej technologii, ponieważ operacje wykonywane są na

zbiorach danych dużo większych, niż wymagane w przypadku syntezy formantowej.

Porównanie wad i zalet obu rozwiązań znajduje się w rozdziale 3.1.4 dalszej części

pracy.

Złożoność obliczeniowa systemu syntezy konkatenacyjnej ścisle zależy od rodzaju

elementu akustycznego, jaki jego twórca przyjmie, jako podstawę do sklejania

wyrazów i zdań. Rodzaje jednostek akustycznych, jakie wyróżniamy:

• fonem – najmniejsza jednostka akustyczna niosąca ze sobą informację,

której fizyczną realizacją jest głoska [12];

• difon – fonem w kontekście prawo- lub lewostronnym;

• trifon – fonem w kontekście obustronnym;

Page 16: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

• sylaby – krótka sekwencja głosek; określenie nieposiadające jednoznacznej

definicji w fonetyce i fonologii;

• słowa;

Konkatenacja fraz oparta na słowach jest wysoce nieefektywna obliczeniowo, oraz nie

uwzględnia wyrazów obcych i słowotwórczych. Dodatkowo, niemożliwym staje się

wytworzenie tranzjentów, czyli naturalnych przejść pomiędzy wyrazami. Ze względu na

powyższe problemy zdecydowanie popularniejsze jest wykorzystanie mniejszych

jednostek. Sensownym wydaje się zastosowanie konkatenacji sylab, jednak, mimo

zadowalających rezultatów z punktu widzenia zrozumiałości, i w tym przypadku baza

danych jest na tyle duża, że algorytm syntezy działa powoli. W przypadku konkatenacji

jednostek takich jak fonemy, czy difony, baza jest z kolei zbyt ograniczona. Zaledwie

pojedyncze występowanie każdej z nich może negatywnie wpływać na naturalność

generowanej mowy. Dlatego najpopularniejszą obecnie metodą jest zmodyfikowana

wersja syntezy konkatenacyjnej – synteza korpusowa.

3.1.3. SYNTEZA KORPUSOWA

Ta stosunkowo nowa forma syntezy zakłada, że w korpusie nagrań znajduje się więcej

instancji danej jednostki akustycznej, niż w klasycznej syntezie konkatenacyjnej.

Najlepsze rezultaty, ze względu na zrozumiałość i niewielką złożoność obliczeniową,

uzyskuje się, jeżeli rozkład ilości jednostek w bazie odwzorowuje dosyć dokładnie

rozkład występowania tychże w języku naturalnym [1][12]. Dlatego tworzenie systemu

tego typu wymaga analizy fonetycznej dużych, reprezentatywnych zbiorów danych,

takich jak np. Narodowy Korpus Języka Polskiego, opisany w rozdziale 4. Rdzeniem

programu jest tak zwana funkcja kosztu. Przez koszt rozumie się błąd na obszarze

łącznia jednostek akustycznych. Działanie funkcji polega na znajdywaniu w korpusie

danych takiej frazy, która najlepiej odpowiada syntezowanemu fragmentowi. Każdej

możliwej kombinacji jednostek, która pozwala na wygenerowanie określonego zdania,

przypisuje się koszt ich łączenia. Jeżeli jednostki znajdują się obok siebie, koszt

konkatenacji jest niski. Wykorzystując algorytmy wyszukiwania najkrótszej ścieżki

oblicza się przejście generujące najniższy koszt i na tej podstawie wybiera fragmenty, z

których sklejany jest ostateczny sygnał. Oznacza to, że w przypadku syntezy prostego

zdania „Ala ma kota” prawdopodobnie zostaną wybrane pełne wyrazy, czyli „ala”,

„ma” i „kota”. Innymi słowy, funkcja oszacowuje tworzenie takich sekwencji jednostek,

Page 17: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

aby zminimalizować błędy na obszarach łączenia tych jednostek i w rezultacie otrzymać

płynną mowę.

3.1.3.1. Synteza difonów

Biorąc pod uwagę rozmiar bazy danych oraz złożoność obliczeniową związaną z

działaniem funkcji kosztu, rozsądnym wydaje się wybór fonemów, jako jednostki

używanej do konkatenacji. W transkrypcji alfabetem IPA dla języka polskiego

występuje 88 fonemów, co po uwzględnieniu fonemu ciszy daje prawie 4000 różnych

difonów. Mimo znaczącej różnicy w rozmiarze bazy, konkatenacja difonów niesie ze

sobą pewne wymierne korzyści. Sprawiają one, że utrudnienia związane z większym

rozmiarem korpusu tracą na znaczeniu. Przede wszystkim, difon pokrywa tranzjentowe

przejścia pomiędzy fonemami, a jego granice znajdują się w stabilnej części jednostki.

Dzięki temu rdzeniem jednostki jest najtrudniejszy do wytworzenia fragment sygnału

mowy, kluczowy z punktu widzenia płynności wypowiedzi. Dodatkowo, dłuższy czas

trwania difonu w porównaniu do fonemu sprawia, że jest on łatwiejszy do wykrycia.

Dotychczasowe doświadczenia w tworzeniu difonowej bazy danych dla syntezy

konkatenacyjnej języka polskiego pokazują, że difony pozwalają na wygenerowanie

naturalnie brzmiącej mowy [10].

3.1.4. ANALIZA ISTNIEJĄCYCH ROZWIĄZAŃ

Rozpatrując zarówno historię rozwoju syntezy, jak i obecne na rynku rozwiązania z

tego zakresu, można zauważyć pewne zjawisko. Otóż większość czasu i energii badacze

poświęcili na zaawansowaną analizę sygnału mowy oraz próby jego wygenerowania na

podstawie jego elementarnych składowych. Tymczasem ostatnie kilkadziesiąt lat pracy

nad systemami TTS to rozwój technologii, który nie prowadzi do spełnienia wszystkich

założeń dobrego, uniwersalnego oprogramowania. Wspomniane założenia to [11]:

1) generowanie zrozumiałej mowy;

2) generowanie naturalnie brzmiącej mowy;

3) możliwość odtwarzania różnych typów głosu: męski, żeński, osoby młodej,

starej, etc.;

4) możliwość odtwarzania dowolnego języka;

5) możliwość naśladowania jakiegokolwiek mówcy, biorąc pod uwagę jego

indywidualne cechy głosowe;

Page 18: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

6) możliwość odtworzenia nietypowego głosu, np. osoby z dysfunkcją mowy,

lub głosu wokalisty o siedmiooktawowej skali;

7) posiadanie parametrów modyfikowalnych przez użytkownika;

Syntezatory konkatenacyjne spełniają cztery pierwsze założenia, wyprzedzając

znacznie syntezatory formantowe w drugim i trzecim podpunkcie. Jednakże

implementacja kolejnych mówców jest niezwykle pracochłonna, a dla niektórych

głosów wręcz niemożliwa. Pomimo dostępnego oprogramowania upraszczającego tę

procedurę (np. Festival), samo nagranie korpusu może być zadaniem zbyt

skomplikowanym. Wymaga ono bowiem nie tylko odpowiedniego sprzętu i

profesjonalnie przeprowadzonej sesji nagraniowej, ale przede wszystkim umiejętności i

możliwości lektora. Na przykład, implementacja mówcy z dysfunkcją lub chorobą

narządów traktu głosowego byłaby niemożliwa, ze względu na męczącą i czasochłonną

sesję.

Syntezator konkatenacyjny jest tak elastyczny i zaawansowany, jak jego baza

danych. Jest to rozwiązanie, które, choć jak dotychczas daje lepsze efekty niż synteza

formantowa i artykulacyjna, nie może być traktowane jako uniwersalne w dalszej

perspektywie.

3.2. RODZAJE KORPUSÓW W SYSTEMACH NLP

Korpus lingwistyczny to zbiór danych, zwykle duży zasób tekstów pisanych lub

transkrypcje nagrań mowy. Korpusy znajdują szerokie zastosowanie w systemach

przetwarzania języka naturalnego (ang. NLP – Natural Language Processing).

Głównym celem do wykorzystania korpusu jest ustalenie jakiejś hipotezy językowej, na

przykład, jak różni się użycie poszczególnych jednostek akustycznych mowy (lub ich

kombinacji), słów, bądź całych wyrażeń. W praktyce przechowuje się go zwykle w

postaci elektronicznej bazy danych i używa znaczników (tagów) do wyróżniania cech

poszczególnych wyrazów. Najczęściej są to oznaczenia części mowy (tzw. POS-tagi;

Part-of-speech). Stąd wygodnym formatem do przechowywania tego typu zbiorów są

pliki tekstowe zapisane w języku XML.

Dobry korpus powinien wyróżniać się następującymi cechami [12] :

• być przetwarzalny przez maszyny

• zawierać autentyczne dane językowe

• być reprezentatywny

Page 19: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

• być anotowany, czyli zawiera (w zależności od funkcji, jaką ma

spełniać) transkrypcje, informacje o cechach lektora (płeć, wiek, stan

zdrowia, etc.) lub funkcje gramatyczne

W analizie języka mówionego korpusy tekstowe nie są jedynymi, jakie

wykorzystuje się w badaniach naukowych. Inne typy to, przykładowo, korpusy:

a) wielojęzyczne (np. do uczenia tłumaczeń)

b) wielomodalne (np. audiovideo)

Mogą służyć jako wzorce do rozpoznawania mowy z ułożenia warg, bądź do

rozpoznawania emocji. Systemy ARS (Automatic Speech Recognition) wspierane

dodatkowo przez odczyt z kamer w czasie rzeczywistym, mogą wykazywać dużo

większą skuteczność, na przykład w miejscach, w których odnotowuje się wysoki

poziom tła akustycznego, gdyż hałas zmniejsza efektywność algorytmów weryfikacji

wyłącznie ze ścieżki audio.

c) emocjonalne

Dzięki tego typu korpusom można rozpoznać z dużą dokładnością (około 80%)

kilka podstawowych typów emocji, takich jak radość, złość, zaskoczenie czy smutek.

Analizuje się zarówno zmiany amplitudy sygnału mowy, wektory MFCC (Mel-

frequency Cepstrum Coefficients), jak i używane słownictwo (w bardziej

zaawansowanych badaniach). Nagranie takiego korpusu jest sprawą niezwykle

skomplikowaną. Nawet doświadczeni aktorzy, którzy wiele razy muszą powtórzyć tę

samą wypowiedź, tracą na autentyczności podczas odgrywania danego nastroju.

Jednakże, wzorce uzyskane dzięki tego typu korpusom mogą znaleźć szerokie

zastosowanie w tworzeniu systemów dialogowych, na przykład w automatycznych

centralach informacyjnych.

d) do zastosowań medycznych

Efektywną metodą określania prawdopodobieństwa występowania danej choroby

narządów toru głosowego może być rozpoznawanie wzorców z wykorzystaniem

algorytmów, takich jak HMM (Hidden Markov Models), czy ANN (Artificial Neuronal

Network). Jako bazy wzorców używa się obszernego korpusu, który, dla zwiększenia

skuteczności, zawiera nie tylko ścieżki audio, ale też nagrania wideo bądź obrazy

cyfrowe uzyskane metodą rezonansu magnetycznego (MRI), ultrasonografu (USG),

danych uzyskanych w badaniu elektromiograficznym (EMG - diagnostyka czynności

elektrycznej mięśni i nerwów obwodowych twarzy), i innych.

Page 20: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Dużą zaletą dobrze przygotowanych korpusów jest łatwość ich przetwarzania i

możliwość wykorzystania w wielu zróżnicowanych eksperymentach. Jednak ceny

korpusów są adekwatne do ich jakości i zwykle bardzo wysokie. Natomiast nagranie

własnego wymaga olbrzymiego nakładu pracy, czasu, a także może być sporym

obciążeniem finansowym dla zespołu badawczego.

Page 21: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

4. SZCZEGÓŁOWY OPIS REALIZACJI PROJEKTU

4.1. PRZYGOTOWANIE BAZY TEKSTÓW

Pierwszym krokiem, który należy podjąć przed balansowaniem zawartości tekstowej

korpusu, jest uważny wybór podstawowej bazy tekstów. Powinna być ona na tyle

obszerna, aby odzwierciedlać rozkład statystyczny występowania jednostek

lingwistycznych w danym języku, oraz powinna pozwalać na łatwe przetwarzanie w

celu ekstrakcji zdań w określonym formacie.

4.1.1. NARODOWY KORPUS JĘZYKA POLSKIEGO

NKJP to korpus referencyjny polszczyzny o objętości ponad półtora miliarda słów. Jest

to inicjatywa naukowa, którą koordynował Instytut Podstaw Informatyki PAN, a

współpracowały: Instytut Języka Polskiego PAN, Wydawnictwo Naukowe PWN oraz

Zakład Językoznastwa Komputerowego i Korpusowego Uniwersytetu Łódzkiego.

Została ona zrealizowana jako projekt badawczo-rozwojowy Ministerstwa Nauki i

Szkolnictwa Wyższego. Do ninejszego projektu wykorzystana została jedynie jego

część na ogólnodostępnej licencji.

Podkoprus milionowy jest zrównoważonym fragmentem pełnego korpusu,

dostępnym na licencji GNU GPL v. 3, w całości zaanotowanym ręcznie. Użycie języka

w wielu kontekstach zapewnia zbiór tekstów prasowych z czasopism o różnej tematyce

(politycznej, komputerowej, orgrodniczej, kobiecej, etc.) oraz obszerny przekrój

polskiej literatury. Wszystkie teksty są przechowywane w plikach formatu XML

zawierających znaczniki morfosyntaktyczne dla każdego słowa [7][17].

Zróżnicowanie tematyczne korpusu nie jest aż tak ważne z punktu widzenia

projektu syntezy mowy, jednak istotne jest to, że dzięki odpowiednim tagom można od

razu usunąć wyrazy, które mogą sprawiać problemy podczas transkrypcji fonetycznej.

Wyrazy problematyczne to między innymi liczebniki (zwykle zapisywane

numerycznie), skróty i akronimy oraz występujące bardzo często wyrazy obce.

Ekstrakcja tekstów w pożądanej formie była możliwa dzięki zestawowi skryptów

napisanych w języku programowania Ruby przez mgr inż. Aleksandra Pohla z

Uniwersytetu Jagiellońskiego [15]. Wykorzystując gotowy parser można było łatwo

uzyskać dużą, reprezentatywną i „oczyszczoną” bazę tekstów, która po transkrypcji

Page 22: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

fonetycznej została wykorzystana na wejściu programu do automatycznego

balansowania korpusu.

4.2. TRANSKRYPCJA FONETYCZNA

Poprawna transkrypcja fonetyczna bazy tekstowej jest kluczowa w pracy nad korpusem

dla syntezatora mowy. Na początku należy odpowiednio dobrać słownik transkrypcji,

tak aby ilość znaków oznaczających dany fonem nie była zbyt mała – powodowałoby to

niepoprawne brzmienie konkatenowanych wyrazów. Nie może też być zbyt duża. Część

fonemów występuje na tyle rzadko, lub ich różnice w stosunku do innych są tak

nieistotne, że uwzględnianie ich jest zbyteczne, a w rezultacie nieefektywne

obliczeniowo z punktu widzenia systemu. Następnie należy zadbać, aby program

realizujący transkrypcję robił to zgodnie z zasadami fonetyki języka, a także

uwzględniał liczne wyjątki.

4.2.1. FONETYKA JĘZYKA POLSKIEGO

Język polski jest jednym z najtrudniejszych języków na świecie pod względem

gramatycznym. Jednakże zasady wymowy zapisanego tekstu są łatwiejsze niż w

przypadku, uznawanego zwykle za prostszy, języka angielskiego. Jest dużo bardziej

jednoznaczna, choć niepozbawiona wyjątków [18].

Między innymi, kłopoty może sprawiać tak zwana zasada historyczna, która

wskazuje na zapisywanie niektórych, identycznych w wymowie dźwięków, w różny

sposób. Chodzi o głoski takie jak rz/ż, czy u/ó. Ta pozornie niepotrzebna komplikacja

ma jednak swoje uzasadnienie – pozwala odróżnić od siebie homofony, czyli wyrazy o

różnym znaczeniu, choć wypowiadane jednakowo. Są to wyrazy, na przykład morze –

może, buk – bóg - bug, wierz – wież, etc.

Poniżej zostały wypunktowane główne problemy związane z transkrypcją

fonetyczną języka polskiego:

a) Istnieje 5 dźwięków zadziąsłowo-palatalnych, które zapisać

można na trzy różne sposoby.

- literami ć, dź, ń, ś, ź przed spółgłoską lub na końcu wyrazu (ćma,

wiedźma, bańka, sieć, jedź, koń);

- literami c, dz, n, s, z przed i (cichy, jeździsz, siny);

Page 23: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

- dwu- i trójznakami ci, dzi, ni, si, zi przed dowolną inną

samogłoską (ciuchy, ziąb, dzień);

Palatalizacja (łac. palatum ‘podniebienie; smak; sklepienie’) [24], jest to

zjawisko zmiękczenia spółgłoski. Innymi słowy, zgodnie z etymologią tego

określenia, jest to dodatkowa artykulacja środkowopodniebienna (zbliżenie

środkowej części języka ku podniebieniu twardemu) podczas wymowy.

b) Dwu- i trójznaki z poprzedniego przykładu mogą być różnie

interpretowane. Na przykład:

- jedna głoska zadziąsłowo-palatalna (ciocia, dzień, konie);

- głoska zadziąsłowo-palatalna oraz samogłoska [i] (cioci, dziś,

łazik);

- spółgłoska zębowa oraz samogłoska [i] (Siwert, sinus, fanzin).

Ten wariant dotyczy poniekąd problematyki wymowy wyrazów obcych

w języku polskim.

Spółgłoski zębowe – spółgłoski, których miejsce artykulacji znajduje się tuż

za przednimi zębami (siekaczami), w dowolnym miejscu za ich tylną ścianą.

W języku polskim rozróżnia się 7 takich: c, d, dz, n, s, t, z.

c) Dwuznaki ch, cz, dz, dź, dż, rz, sz wymawiane są z reguły jako

jeden dźwięk (chimera, czaszka, dzwon, dżdżysty, rzeka), jednak są

wyjątki:

- istnieją wyrazy, w których należy znaki rz czytać oddzielnie, jako

[r + z] (marznąć, obmierzły);

- kombinacja i po rz może oznaczać sekwencję dźwięków [r + zi]

(mierzić) lub [r + ź] (mirzie);

- często w przypadku wyrazów z przedrostkami dz, dzi i dż czyta

się, jako oddzielne głoski (nadżerka, podzamcze);

- kombinacja i po dz może oznaczać sekwencję dźwięków [d + zi]

(przedzimie) lub [r + ź] (podziemny);

d) Istnieją różne sposoby na zapis spółgłoski j:

Page 24: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

- po c, i, j, s, z oraz po d należącym do prefiksów, używa się znaku

j (mijać, Azja, nadjeżdża);

- po b, ch, cz, d, dż, f, g, h, k, l, m, p, r, sz, t, w, ż używa się znaku i

(kiosk, dieta, fiord, arabia, etc.);

- w niektórych przypadkach dwuznaku ni występującego przed

samogłoską [a], i wymawiane jest jako [j] (unia, kania);

e) Istnieją różne interpretacje zapisu litery [i]. Może on oznaczać:

- samogłoskę [i], zwykle na początku wyrazów (iskra, sinus);

- samogłoskę [i] oraz zmiękczenie poprzedzającej ją spółgłoski

(sinica);

- spółgłoskę [j] (hiena, rewia);

- tylko zmianę wymowy poprzedzającej ją spółgłoski (kiedy,

siadaj);

- element palatalizujący (zmiękczający) (mięso, biały);

- złącze dźwięków [j] + [i] lub [ʔi] (ziścić, szyici, żmii);

Zwarcie krtaniowe – oznaczane w alfabecie IPA symbolem ʔ samogłoska

wytwarzana poprzez zwarcie i rozwarcie więzadeł głosowych w krtani.

4.2.2. ALFABET IPA

Do stworzenia transkrypcji fonetycznej bazy tekstowej dla korpusu wykorzystano

Miedzynarodowy Alfabet Fonetyczny IPA (ang. International Phonetic Alphabet). Tym

samym akronimem zwana jest instytucja, która powołała go do życia. IPA –

International Phonetic Association – najstarsza organizacja zrzeszająca

językoznawców-fonetyków została założona w Paryżu w roku 1886, natomiast w 2013

roku mineła 125 rocznica pierwszej publikacji Międzynarodowego Alfabetu

Fonetycznego oraz jego głównych założeń. Najnowsza wersja notacji pochodzi z roku

2005.

IPA charakteryzuje się przede wszystkim tym, że jest alfabetem uniwersalnym dla

każdego z języków. Od lipca 2012 roku jest udostepniana na podstawie licencji

publicznej Creative Commons, która zezwala na jakiekolwiek wykorzystanie (włączając

projekty komercyjne oraz utwory zależne) o ile projekt pochodny jest publikowany na

tej samej licencji.

Page 25: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

IPA zawiera 107 oznaczeń dla liter, samogłosek i spółgłosek, 31 znaków

diakrytycznych (znaków graficznych umieszczanych w okolicach danej litery,

zmieniających jej artykulację) oraz 19 dodatkowych znaków określających cechy, takie

jak długość głoski, czy intonacja [16].

4.2.3. ORTFON 2.0

Program Ortfon powstaje w Zespole Przetwarzania Sygnałów przy Katedrze Elektroniki

Akademii Górniczo Hutniczej. Służy do transkrypcji ortograficznej na fonemiczną dla

języka polskiego. Bazuje na algorytmach opisanych w tabelach w następujących

publikacjach:

- Steffen-Batóg, M. and Nowakowski, P. (1993). An algorithm for phonetic

transcription of ortographic texts in Polish.

- Andrzej Pluciński. Optimisation of Transcription Rules. Studia Phonetica

Posnaniensia. An International Journal for Linguistic Phonetics, 6:8396, 2000. vol 6.

Page 26: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

i ĩ ɨ ! ɛ ɛ ɛ ɛ a a ã a ɔ ɔ ɔ ɔ u u ũ u j ȷ w

w

w l l lʲ r

r rʲ m m mʲ n n nʲ n ɲ ɲ ŋ ŋ ŋʲ ŋʲ v vʲ f fʲ z zʲ ʑ s sʲ ɕ ʒ ʒʲ ʃ

ʃʲ γ h x ç ʣ ʣʲ ʥ ʦ ʦʲ ʨ ʤ ʤʲ ʧ ʧ b bʲ p pʲ d dʲ ḍ t tʲ ṭ g ɟ k c

Tabela 1. Lista wszystkich symboli transkrypcji fonetycznej wg alfabetu IPA, używanej przez

program Ortfon 2.0 [16]

4.2.3.1. Poprawki do programu Ortfon

Ortfon w wersji 2.0 jest programem, który w dalszym ciągu powstaje. Nie został jeszcze

użyty w żadnym komercyjnym projekcie, dlatego jednym z założeń niniejszej pracy

było testowanie i weryfikacja poprawności jego działania. Pierwszym etapem pracy nad

korpusem okazało się wprowadzenie poprawek do tabel transkrypcji fonetycznej, które

przekształcane do odpowiedniego formatu podawane były na wejściu systemu.

Najpierw należało sprawdzić ewentualne błędy w przygotowanych już plikach .xls przy

pomocy tabel zawartych w publikacji Steffen-Batóg i Nowakowskiego. Na dalszym

etapie, pliki konwertowano na .csv, a ostatecznie, dzięki odpowiedniemu parserowi

Page 27: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

będącemu elementem oprogramowania, do formatu .tbl akceptowanego przez główny

plik programu.

Rysunek 5. Przykładowa tabela transkrypcji [1]

Następnie wprowadzono modyfikacje zgodnie z tabelami zawartymi w publikacji

Andrzeja Plucińskiego [9].

Przebadano ręcznie około 100 fragmentów tekstów, w celu wykrycia błędów

działania programu. Udało się wychwycić około pięć błędnie wprowadzonych reguł. Po

modyfikacji parsera tabel oraz poprawieniu błędów tabeli udało się usprawnić działanie

całego systemu.

4.3. ALGORYTM ZACHŁANNY

Narzędzia do projektowania korpusu syntezatora oparte są na algorytmie zachłannym.

Jego działanie polega na wyselekcjonowaniu z bazy tekstów takich zdań, które spełnią

określone kryteria, przy jednoczesnym zachowaniu rozkładu statystycznego

występowania poszczególnych jednostek w korpusie wyjściowym zbliżonego do ich

rozkładu w korpusie wejściowym.

Opierając się, między innymi, na publikacjach Krzysztofa Szklannego z Polsko-

Japońskiej Wyższej Szkoły Technik Komputerowych, któremu udało się stworzyć w

Page 28: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

pełni sprawny i naturalnie brzmiący syntezator [10], zdecydowano się na wybór difonu,

jako podstawowej jednostki do konkatenacji. Stąd założenia przyjęte w niniejszym

projekcie są następujące:

1) maksymalna długość zdania – 80 fonemów;

2) minimalna liczba wystąpień każdego fonemu – 40;

3) minimalna liczba wystąpień każdego difonu – 4;

4) liczba zdań składających się na korpus wyjściowy – 2500;

Kryterium 1. przyjęto ze względu na ewentualne trudności odczytu dłuższego zdania na

jednym wydechu przez lektora.

4.3.1. CORPUSCRT

Program CorpusCRT v. 1.03 to narzędzie do balansowania korpusu stworzone na

Politechnice Katalońskiej (Universitat Politécnica de Catalunya). Oprogramowanie

zostało pomyślnie wykorzystane w projekcie SpeechDat Car Spanish Database

finansowanym przez Komisję Europejską i hiszpański rząd. Jest dostępne bezpłatnie do

użytku niekomercyjnego [20].

Program na wejściu otrzymuje odpowiednio przygotowane dane w postaci pliku

tekstowego. Powinien się on składać z trzech kolumn, czyli ciągów znaków

oddzielonych tabulacją. W przypadku, gdy balansuje się korpus z uwzględnieniem

fonemów i difonów, plik wejściowy o nazwie corpuscrt.input powinien mieć

następującą strukturę:

1) Kolumna 0 – oryginalny tekst;

2) Kolumna 1 – transkrypcja na fonemy;

3) Kolumna 2 – transkrypcja na difony;

Następnie, przy wywoływaniu programu określa się kryteria, według których balansuje

się korpus. Dla kryteriów opisanych w rozdziale 4.3. wywołanie będzie wyglądało

następująco:

>> CorpusCrt -L 80,1 -m 40,1 -m 4,2 -c 2500 -C 1 -- corpuscrt.input

Zasada działania algorytmu w programie jest następująca – w każdej iteracji danemu

zdaniu przypisuje się określoną punktację w przedziale od 0 do 1. Po jej podliczeniu,

wybierane jest zdanie, które otrzymało najwyższą notę. Jeżeli więcej niż jedno ma tę

samą punktację, wybierane jest zdanie pierwsze w kolejności. Wyselekcjonowana fraza

Page 29: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

dołączana jest do korpusu wyjściowego i kasowana z korpusu wejściowego. Wtedy

rozpoczyna się kolejna iteracja.

Punktacja zdania wynosi 0, jeżeli nie są spełnione podstawowe warunki, czyli zbyt

wielka/mała zawartość fonemów. W pozostałych przypadkach punktację przypisuje się

wedle trzech reguł.

Aby obliczyć punktację dla każdego wiersza kolumny pliku wejściowego, stosuje

się następujące oznaczenia zmiennych:

1) Wartości wprowadzane przez użytkownika:

• T – próg; minimalna zadana ilość wystąpień danej jednostki (fonemu

lub difonu);

2) Wartości obliczone dla korpusu wejściowego w danej iteracji:

• N – liczba różnych jednostek w kolumnie;

• U1 – jednostka o najniższej częstotliwości wystąpień;

• U2 – jednostka o drugiej najniższej częstotliwości wystąpień;

• UN – jednostka o najwyższej częstotliwości wystąpień;

• F1 – liczba wszystkich wystąpień jednostki U1;

• FN – liczba wszystkich wystąpień jednostki UN;

3) Wartości obliczone dla korpusu wyjściowego w danej iteracji:

• N1 – liczba jednostek U1 w korpusie wyjściowym;

• NN – liczba jednostek UN w korpusie wyjściowym;

• L – numer jednostki (1 - N), która ma najmniejszą częstotliwość

wystąpień i spełnia Ni < T;

4) Wartości obliczone dla pojedynczego wiersza kolumny:

• R1 – liczba wystąpień jednostki U1 w zdaniu;

• RN – liczba wystąpień jednostki UN w zdaniu;

• M – numer jednostki (1 - N) występującej w wierszu, która ma

najmniejszą częstotliwość wystąpień i spełnia Ni < T;

Page 30: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

REGUŁA 1:

Stosowana, gdy w zdaniu występują tylko jednostki, których pokrycie już przekracza

lub jest równe progowi T.

Równanie 1

wynik _ reg1= 0.01(1+ 2N )

REGUŁA 2:

Stosowana, jeżeli w komórce występują jednostki, których liczba w korpusie

wyjściowym nie doszła jeszcze do progu T oraz nie występuje w niej jednostka UL.

(1)

REGUŁA 3:

Stosowana, jeżeli w komórce występuje jedna lub więcej jednostka UL.

wynik _ reg3= 1.0 (2)

Zasady użycia poszczególnych reguł zostaną wyjaśnione na przykładzie. Załóżmy, że w

kolejnej iteracji algorytmu jedna z kolumn korpusu wejściowego, dla zdań S1 – S6,

wygląda następująco:

                 S1:  U1  U2  U4  U5                    S2:  U4  U4  U4  U5                    S3:  U2  U3  U5  U7                    S4:  U6  U6  U8  U9                    S5:  U3  U3  U5  U6                    S6:  U7  U7  U7  U9  

 Przy czym jednostki U1 U2 U4 i U5 osiągnęły już w korpusie wyjściowym pożądaną

ilość, przekraczającą lub równą progowi T. Zostały zatem do uzupełnienia jednostki U3

U6 U7 U8 oraz U9.

N(T −100) < 50

Page 31: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Regułę 1. zastosowano zatem dla zdań S1 i S2, gdyż zawierają one wyłącznie jednostki,

które spełniły już wszystkie kryteria.

wynik _S1= 0.01(1+ 2*9)

= 0.0119

wynik _S2 = 0.01(1+ 2*9)

= 0.0119

Regułę 2. zastosowano dla zdań S4 i S6, gdyż w tym przypadku indeks L przyjmie

wartość 3, a zdania te nie zawierają jednostek U3.

wynik _S4 =0.5min(1; 2

min(T ;F6 )− N6

)

(6 − 3+1)= 0.125min(1; 2

min(T ;F6 )− N6

)

wynik _S6 =0.5min(1; 3

min(T ;F7 )− N7

)

(7 − 3+1)= 0.1min(1; 3

min(T ;F7 )− N7

)

Regułę 3. zastosowano dla zdań S3 i S5, gdyż zawierają jednostki U3.

wynik _S3= 1.0wynik _S5 = 1.0

Na koniec warto dodać, iż wzory są tak skonstruowane, aby w praktycznycg

przypadkach (spełniających założenie N(T −100) < 50 ) wynik dla zastosowania

Reguły 1. zawsze był mniejszy niż wynik dla Reguły 2., a dla Reguły 3 większy od

dwóch pozostałych.

4.3.2. SKRYPTY DO FORMATOWANIA PLIKÓW TEKSTOWYCH

Aby wprowadzić na wejście programu CorpusCrt dane do poprawnego przetwarzania,

należało stworzyć szereg skryptów do modyfikacji plików .txt. Napisano je w języku

Ruby, a służyły, między innymi, do ekstrakcji zdań z formatu języka XML, z bazy

tekstów NKJP. Usunięto wszystkie słowa posiadające oznaczenia wyrażeń obcych,

skróty, aglutynacje i liczby. Wykorzystano skrypty również do poprawnego

Page 32: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

przygotowania transkrypcji fonetycznej (każdy symbol oddzielony spacją) oraz do

stworzenia kolumny difonów.

Przykładowa linijka pliku corpus.input to oddzielone od siebie tabulacją

kolumny, kolejno: ortograficznego zapisu zdania, zapisu fonetycznego oraz zapisu

difonami: nie było więc źle n' e b y w o vj j et n c z' l e #n' n'e eb

by yw wo ovj vjj jet etn nc cz' z'l le e#

4.3.3. RĘCZNA WERYFIKACJA POPRAWNOŚCI DZIAŁANIA ALGORYTMU –

STATYSTYKI WYSTĘPOWANIA POSZCZEGÓLNYCH FONEMÓW

Przed oceną poprawności działania oprogramowania należało przeczytać wszystkie

zdania korpusu, w celu wyeliminowania fraz powtarzających się bądź takich, których

transkrypcja fonetyczna okazała się niepoprawna. Były to, na przykład, zdania w

których występowały cyfry rzymskie, bądź nieoznaczone w plikach NKJP skróty i

akronimy. Ostatecznie z 2500 w korpusie zostały 2132 zdania.

Po oczyszczeniu korpusu można było przejść do weryfikacji działania algorytmu

programu CorpusCRT. W tym celu wygenerowano statystyki częstotliwości

występowania fonemów i difonów w każdym z korpusów – wejściowym i wyjściowym

– oraz dokonano analizy porównawczej.

Ogólne statystyki korpusu wyjściowego dla fonemów:

• Średnia długość zdania (w fonemach): 58.0469

• Całkowita liczba jednostek: 123756

• Liczba różnych jednostek: 78

• Średnia liczba występowania jednostki: 1586.62

• Najmniejsza liczba wystąpienia jednostki: 6

• Największa liczba wystąpienia jednostki: 11824

Ostatecznie z 80 fonemów, które występują w bazie NKJP w ostatecznym korpusie

znajduje się 78. Dwa brakujące fonemy można było pominąć, gdyż w bazie ponad 70

tys. zdań wystąpiły po 1 i 2 razy.

Na rysunkach 7 i 8 można zauważyć, że dla czterdziestu najpopularniejszych

fonemów stosunek częstości występowania danego fonemu oscyluje wokół jedynki,

zatem rozkład statystyczny dla obu korpusów jest podobny. Sytuacja się zmienia w

Page 33: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

przypadku fonemów rzadziej występujących. Ich pokrycie w korpusie docelowym

(wyjściowym) jest dużo większe, niż w korpusie wejściowym. Świadczy o tym wyjście

większości wartości stosunku poza zakres osi pionowej. Jest to zjawiskiem pożądanym,

gdyż duża ilość żadkich fonemów w bazie wpływa dodatnio na jakość syntezowanej

mowy.

Rysunek 6. Porównanie udziału procentowego 40-stu najpopularniejszych fonemów w korpusie

wejściowym i wyjściowym programu CorpusCRT [rys. autora]

Rysunek 7. Stosunek zawartości procentowej danego fonemu w korpusie wyjściowym, do

wejściowego. Wykres dla 40-stu najpopularniejszych fonemów [rys. autora]

0%  1%  2%  3%  4%  5%  6%  7%  8%  9%  10%  

et   it  dzi   lj   yt   k'  m'  wt  vj   ot  zk   h   tsz  co   c   b   g   s'   z   sz   l   f   w   d   v   m   n'   k   p   u   y   i   s   n   r   j   t   o   e   a  

NKJP  

KORPUS  

-­‐0,1  

0,1  

0,3  

0,5  

0,7  

0,9  

1,1  

1,3  

1,5  

et   it  dzi   lj   yt   k'  m'  wt  vj   ot  zk   h   tsz  co   c   b   g   s'   z   sz   l   f   w   d   v   m   n'   k   p   u   y   i   s   n   r   j   t   o   e   a  

Page 34: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 8. Stosunek zawartości procentowej danego fonemu w korpusie wyjściowym, do

wejściowego. Wykres dla 38-śmiu pozostałych fonemów [rys. autora]

Ogólne statystyki korpusu wyjściowego dla difonów:

• Średnia długość zdania (w fonemach): 59.0469

• Całkowita liczba jednostek: 125888

• Liczba różnych jednostek: 1837

• Średnia liczba występowania jednostki: 68.5291

• Najmniejsza liczba wystąpienia jednostki: 1

• Największa liczba wystąpienia jednostki: 2364

Na 2346 difony występujące w bazie NKJP w korpusie finalnym znalazło się ich

1837. Nie występują w nim żadne jednostki, które w zbiorze wejściowych danych

pojawiają się z częstotliwością mniejszą niż 5. Jest to wynik zadowalający. Ponadto,

porównanie statystyk częstości występowania najpopularniejszych difonów w obu

korpusach (Rysunek 9) również wypada korzystnie. Na Rysunku 10 widać wyraźnie, że

proporcja udziałów procentowych czterdziestu najczęstszych jednostek jest we

wszystkich przypadkach bliska jedności.

-­‐0,1  

0,1  

0,3  

0,5  

0,7  

0,9  

1,1  

1,3  

1,5  

N2  

tsz2  

N2j  

sz2   hy  

n'2  

wd  

zk2   sj  

opt   ut  

ns   _  

etd   ll   nd  

md   dr  

dd  

dz'  

dzk   t'   ed  

chi  

Nj   zj  

d'   r'   j2  

g'  

z'  

td   N  

dz   Qj   bj  

c'  

p'  

Page 35: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 9. Porównanie udziału procentowego 40-stu najpopularniejszych difonów w korpusie

wejściowym i wyjściowym programu CorpusCRT [rys. autora]

Rysunek 10. Stosunek zawartości procentowej danego difonu w korpusie wyjściowym, do

wejściowego. Wykres dla 40-stu najpopularniejszych difonów [rys. autora]

4.4. REALIZACJA BAZY AUDIO

Baza audio korpusu powinna być rejestrowana w warunkach akustycznie sterylnych,

aby zapewnić jak największą zrozumiałość generowanej mowy. Minimalny poziom

wszelkich zakłóceń, takich jak szum czy pogłos, jest osiągalny wyłącznie w

0,0%  

0,2%  

0,4%  

0,6%  

0,8%  

1,0%  

1,2%  

1,4%  

1,6%  

1,8%  

2,0%  

as  

wa   os  

en'   le  

ot  

psz   ne  

eg  

lji  

n'i  

sze   er  

vjj   te  

an  

ar  

to  

at  

go  

za  

ka  

do  

em  

es  

otwt  

aw  

ko  

ja  

va  

ej  

ta  

ro  

ov  

ra  

st  

n'e   po  

na  

je  

NKJP  KORPUS  

0,00  

0,20  

0,40  

0,60  

0,80  

1,00  

1,20  

as  

wa   os  

en'   le  

ot  

psz   ne  

eg  

lji  

n'i  

sze   er  

vjj   te  

an  

ar  

to  

at  

go  

za  

ka  

do  

em  

es  

otwt  

aw  

ko  

ja  

va  

ej  

ta  

ro  

ov  

ra  

st  

n'e   po  

na  

je  

Page 36: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

pomieszczeniach specjalnie przystosowanych do profesjonalnych sesji, oraz przy użyciu

wysokiej jakości sprzętu do nagrań lektorskich.

4.4.1.1. Oprogramowanie

Dźwięk z mikrofonu zapisywano poprzez interfejs dźwiękowy Lexicon (różne modele)

w otwartym oprogramowaniu Audacity, w rozdzielczości 16 bit i częstotliwości

próbkowania 44,1 kHz. Reżyser miał do dyspozycji słuchawki podłączone do

mikrofonu lektora.

Rysunek 11. Zrzut interfejsu programu Audacity podczas nagrywania lektora [rys. autora]

4.4.1.2. Pomieszczenie nagraniowe

Nagrania zrealizowano w komorze bezechowej udostępnionej przez Laboratorium

Akustyki Technicznej Katedry Mechaniki i Wibroakustyki Akademii Górniczo-

Hutniczej. Komora zapewnia doskonałe warunki dla nagrań lektorskich, ze względu na

ekstramalnie niski poziom tła akustycznego, oraz praktycznie zniwelowany pogłos.

Warunki, które zapewnia komora pozwala na rejestrację bazy w taki sposób, aby jak

najbardziej ograniczyć potrzebę postprocessingu cyfrowego, który mógłby spowodować

zniekształcenia.

Jest to sześcian o wymiarach 10x10 metrów wykonany z żelbetu. Jej objętość

użyteczna wynosi 342 m3, a masa 600 ton. Całość posadowiona jest na 25 kasetach

wibroizolujących, w których każda zawiera 4 sprężyny zderzakowe ograniczające

drgania podowodowane bliskością infrastruktury miejskiej. Poziom ciśnienia

akustycznego w komorze wynosi 1,5 dBA za dnia, w porze nocnej spada nawet do 0

dBA[8][25].

Page 37: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

4.4.1.3. Mikrofon

Dobór odpowiedniego sprzętu nagraniowego ma wyjątkowo duże znaczenie dla jakości

ostateczniej formy korpusu. Podczas wybierania mikrofonu należy kierować się

kryteriami zależnymi od warunków akustycznych panujących w pomieszczeniu

nagraniowym, specyfikacji rejestrowania głosu ludzkiego, oraz tego, jak pozostałe

urządzenia będą z nim współpracować. W większości przypadków do tego typu zadań

polecane są wielkomembranowe mikrofony pojemnościowe. Rozmiar membrany ma

subtelny, choć zauważalny efekt przy utrwalaniu mowy. Popularne są również

klasyczne mikrofony lampowe, takie jak Rode Classic, które zapewniają ciepłe,

przyjemne brzmienie głosu. Jednak ze względu na wysoką cenę takiego sprzętu,

zdecydowano zrealizować nagrania przy pomocy mikrofonu AKG C 4000 B o

dwumembranowym przetworniku pojemnościowym, który został udostępniony przez

Laboratorium Przetwarzania Sygnałów AGH. Mikrofon ten wyposażony jest w tłumik

przedwzmacniacza -10 dB, jego czułośc wynosi 25 mV/Pa (-32 dBV), SNR 86 dB,

impedancja wejściowa 200 Ohm, a średnica membrany 25 mm. Posiada regulowaną

charakterystykę (kardioidalną, hiperkardioidalną oraz dookólną), a jego zakres

częstotliwości pokrywa się z zakresem słyszalności częstotliwości dla ucha człowieka.

Użyto powyższego przetwornika wybierając następujące ustawienia:

• Charakterystyka kardioidalna – zdecydowano się na ten wybór ze

względu na to, iż źródło dźwięku to wyłącznie jeden lektor, przed którym w

komorze znajdowały się sprzęty, których szum zakłócałby nagranie

• Filtr niskich częstotliwości (poniżej 100 Hz) – aby dodatkowo

zniwelować potencjalne zakłócenia pochodzące, między innymi, z

przenośnego komputera, na którym uruchomiono program Audacity

Page 38: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 12. Wykres odpowiedzi częstotliwościowej mikrofonu AKG C 4000 B dla charakterystyki

kardioidalnej [23]

Widmo częstotliwości mowy to bardzo szeroki zakres, od 100 do 8000 Hz, jednakże

nawiększa energia przypada na wartość 500 Hz i od tego progu maleje sukcesywnie

wraz ze wzrostem częstotliwości. Na wykresie z rysunku 1. można zauważyć, że w

najistotniejszym obszarze charakterystyka mikrofonu jest maksymalnie płaska, co

dodatkowo czyni uzasadnionym wybór właśnie takiego sprzętu.

4.4.1.4. Filtracja głosek wybuchowych

Aby uniknąć niepożądanych zakłóceń związanych ze specyfiką wypowiadania

spółgłosek zwartych, zastosowano pop-filtr. Jest to nylonowa osłona rozciągnięta na

metalowej obręczy instalowana na statywie mikrofonu, wykorzystywana często w

studiach nagrań i radio.

Spółgłoski zwarte, inaczej zwarto-wybuchowe, powstają w wyniku gwałtownego

odblokowania intensywnego strumienia powietrza przez jamę ustną i nosową. Eksplozja

związana z artykulacją tych głosek może być na tyle duża, aby spowodować zakłócenia

w nagraniu. W języku polskim, zgodnie ze standardami alfabetu IPA, są to głoski

oznaczone symbolami p, b, d, ɢ, d, ʡ, ʔ, ɟ, ɖ.

Page 39: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

4.4.2. PRZYGOTOWANIE SESJI NAGRANIOWEJ

Ważnym czynnikiem wpływającym na jakość ostatecznej bazy audio jest dobrze

zorganizowana i przeprowadzona seria sesji nagraniowych. Istotną rolę odgrywa

zarówno doświadczony lektor, jak i reżyser. Osoba kierująca sesją powinna nieustannie

monitorować zróżnicowanie w mowie lektora, sprawdzać, czy jego wypowiedzi

pokrywają się z transkrypcją fonetyczną korpusu tekstowego, oraz regulować czas

poświęcony na przerwy. Reżyser powinien realizować swoje funkcje przy pomocy

bezpośredniego odsłuchu z mikrofonu, a także obserwując cyfrowy zapis fali

dźwiękowej na interfejsie programu Audacity.

4.4.2.1. Wybór lektora

Ze względu na niekomercyjny charakter projektu inżynierskiego, skorzystanie z usług

profesjonalnego lektora było niemożliwe. Udało się jednak zaangażować w pracę nad

korpusem osoby zajmujące się doskonaleniem umiejętności wokalnych w teatrze

komedii improwizowanej. Przesłuchano łącznie trzech potencjalnych lektorów – jedną

kobietę i dwóch mężczyzn. Zdecydowano ostatecznie wybrać głos kobiecy. Lektorką

jest młoda dziewczyna (20 lat), o niskim, ciepłym głosie. Test polegał na nagraniu i

późniejszej analizie około pięćdziesięciu próbek zdań z korpusu tekstowego. Brano pod

uwagę następujące kryteria [4]:

• Naturalność czytania;

• Umiejętność zachowania jednolitego tempa wypowiedzi;

• Umiejętność czytania monotonnym, pozbawionym ekspresji głosem;

• Zachowanie jednorodnej dynamiki wypowiedzi;

• Umiejętność zachowania wysokiej zrozumiałości, mimo długotrwałego i

wyczerpującego aparat mowy procesu nagraniowego;

• Subiektywne odczucia związane z przyjemnym brzmieniem głosu;

4.4.2.2. Przebieg sesji nagraniowej

Przed każdą sesją lektor odbywał rozgrzewkę głosową. Dokładnie sprawdzana była jego

pozycja, oraz rozkład wszelkiego sprzętu wydającego szumy, względem mikrofonu.

Wykonywano kilka próbek i porównywano je ze ścieżkami z poprzednich sesji. Czas

trwania jednego cyklu wynosił średnio 45 minut. Po każdym z nich następowała

Page 40: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

przynajmniej 10-cio minutowa przerwa. Podczas wznawiania sesji, za każdym razem

lektor dostawał do odsłuchu kilka próbek, aby przyzwyczaić się do ich brzmienia i

głośności, a następnie jak najwierniej odtworzyć podobny styl wypowiedzi.

Odbyło się łącznie 6 sesji nagraniowych o różnych czasach trwania. Wynosiły one

od czterech, do dziewięciu godzin (z jedną dłuższą przerwą). Wykonano 4h 31min

nagrań na około 500 ścieżkach, z których każda zawiera po pięć zdań korpusu. Łączna

długość zmniejszy się jednak do około 3 godzin, gdy nagrania zostaną pocięte do

pojedynczych wypowiedzi na ścieżkę.

4.4.2.3. Uwagi do przebiegu sesji oraz jakości nagrań

Ze względu na ograniczoną dostępność w czasie zarówno lektora, jak i komory

bezechowej, należało wykonywać jak najwięcej nagrań danego dnia. Nie wpływało to

korzystnie na spokojny przebieg sesji nagraniowych. Co więcej, ze wględu na brak

pulpitu lektor musiał trzymać w ręku tekst korpusu, co uniemożliwiało maksymalne

rozluźnienie mięśni i w efekcie powodowało szybsze wyczerpywanie się, powodujące

zakłócenia jednolitego tempa wypowiedzi podczas całego cyklu sesji. Mimo wszystko,

ostateczną jakość bazy nagrań można określić jako bardzo dobrą, głównie ze względu

na praktycznie niezauważalne tło akustyczne oraz zachowaną równomierną dynamikę.

4.5. ANOTACJA NAGRAŃ

Ostatnim, najtrudniejszym i najbardziej pracochłonnym etapem tworzenia korpusu jest

segmentacja nagrań na fonemy. Ta część pracy jest przewidziana w ramach dalszego

rozwoju projektu i będzie realizowana z wykorzystaniem oprogramowania

powstającego w Zespole Przetwarzania Sygnałów na AGH.

Najpierw przygotowane zostaną ręczne anotacje na fonemy takiej liczby próbek

nagrań, aby każdy fonem miał przynajmniej trzykrotne pokrycie. Transkrypcje

wykorzystane będą do treningu modeli HMM, aby ostatecznie reszta anotacji została

przeprowadzona automatycznie. Najpierw jednak w całości korpusu trzeba będzie

dokonać ręcznej segmentacji na słowa. Przeznaczony do tego zadania jest Anotator 1.0,

również powstały na AGH program. Taka wstępna segmentacja ma na celu zwiększenie

skuteczności późniejszej anotacji na fonemy. Czas pracy nad przypisywaniem tekstu do

ścieżki audio to średnio 20 minut na jedną minutę nagrania [14].

Page 41: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Pliki transkrypcji eksportowane zostaną do formatu MLF (Master Label Files), a ich

późniejsza modyfikacja pozwoli na otrzymanie pełnej anotacji difonowej korpusu.

Page 42: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

5. PODSUMOWANIE

Przygotowanie korpusu jest procesem długotrwałym i wymagającym dużej dokładności

na każdym etapie jego realizacji. Jego ostateczną jakość i stopień użyteczności będzie

można ocenić dopiero po implementacji do systemu syntezy, która będzie miała miejsce

w przyszłości. Wedle początkowych założeń, niniejszy korpus przede wszystkim

powinien znaleźć zastosowanie w implementacji nowego głosu w środowisku Festival.

Jest to powstały na Uniwersytecie w Edynburgu, dostępny bezpłatnie na użytek

niekomercyjny silnik do budowy nowych głosów syntezatora dla dowolnego języka

[21].

Pomimo tak jasno określonego celu realizacji korpusu, synteza nie musi być jego

jedynym zastosowaniem. Jakikolwiek systemem związany z przetwarzaniem mowy jest

tym skuteczniejszy, im więcej materiałów zostało wykorzystanych podczas ich

rozwijania [12]. Dlatego korpus może również okazać się cenny w pracy nad

powstającymi w Zespole Przetwarzania Sygnałów na AGH technologiami

automatycznego rozpoznawania mowy. Już ostatni etap realizacji ninejszego projektu,

anotacja nagrań, pozwoli na poszerzenie funkcjonalności oprogramowania służącego do

automatycznej segmentacji, o możliwość transkrypcji nagrań według standardów

alfabetu IPA.

Podsumowując, staranność wykonanych nagrań, jak i uważnie dobrany zasób

jednostek lingwistycznych powstałego korpusu sprawia, że jest to cenna baza danych,

mogąca służyć jako narzędzie do ulepszania i modyfikacji wielu rozwiązań

technologicznych związanych z przetwarzaniem języka polskiego.

Page 43: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

6. BIBLIOGRAFIA

[1] Steffen-Batóg, M. and Nowakowski, P., An algorithm for phonetic transcription of

ortographic texts in Polish. Studia Phonetica Posnaniensia, 3. vol 3, Poland 1993

[2] Matoušek J., Tihelka D., Romportl J., Building of a Speech Corpus Optimised for

Unit Selection TTS Synthesis, Republika Czeska

[3] Ohala J. John, Christian Gottlieb Kratzenstein pioneer in speech synthesis, 2011

[4] Kelly A. C., Berthelsen H., Campbell N., Chasaide A. N., Gobl C., Corpus Design

Techniques for Irish Speech Synthesis, Trinity College Dublin, Ireland

[5] Schroeter J., Fifty years of progress in speech synthesis, San Diego

[6] Kempelen, von W., Mechanismus der menschlichen Sprache nebst Beschreibung

einer sprechenden Maschine, Wiedeń 1791

[7] Przepiórkowski A., Bańko M., Górski R. L., Lewandowska-Tomaszczyk B.,

Narodowy Korpus Języka Polskiego, Wydawnictwo Naukowe PWN, Warszawa,

2012.

[8] Flach A., Kamisiński T., Felis J. Pilch A., Zastawnik M., Zborowski A., The

negative aspects of automation of selected acoustic measurements performed in an

anechoic chamber, Rzeszów–Polańczyk, Poland, 2013

[9] Andrzej Pluciński. Optimisation of Transcription Rules. Studia Phonetica

Posnaniensia. An International Journal for Linguistic Phonetics, 6:8396, 2000. vol

6.

[10] Szklanny K., Preparing the Polish diphone database for speech synthesis in

MBROLA, 50. Otwarte Seminarium z Akustyki Szczyrk, Poland, 2003

[11] Shadle H. C., Damper I. R., Prospects for Articulatory Synthesis: A Position

Paper, UK

[12] Ziółko B., Ziółko M., Przetwarzanie Mowy, Wydawnictwa AGH, Kraków 2011

[13] McMullan G., Matthews D., Reading the medieval in Early Modern England,

Cambridge University Press, 2007

[14] Ziółko B., Miga B., Jadczyk T., Semisupervised production of speech corpora

using existing recordings, AGH Department of Electronics, Poland

[15] Pohl A., Ziółko B., Using Part of Speech N-grams for Improving Automatic

Speech Recognition of Polish”, 9th International Conference on Machine

Learning and Data Mining MLDM 2013, New York.

Page 44: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

[16] Oficjalna strona alfabetu IPA. Dostępna: http://www.langsci.ucl.ac.uk/ipa/

(odwiedzona w styczniu 2014)

[17] Oficjalna strona Narodowego Korpusu Języka Polskiego. Dostępna: http://nkjp.pl/

(odwiedzona w styczniu 2014)

[18] Portal dotyzący fonetyki i ortografii języka poslkiego pod redakcją Grzegorza

Jagodzińskiego. Dostęp: http://www.jezyk.wortale.net (odwiedzone w styczniu

2014)

[19] Przykłady nagrań mowy studentów z University of Arizona. Dostęp:

http://www.u.arizona.edu/~nwarner/reduction_examples.html (odwiedzone w

styczniu 2014)

[20] Oficjalna strona Centrum Aplikacji i Technologii Mowy Uniwersytetu

Katalońskiego. Dostęp: http://www.talp.upc.edu/ (odwiedzone w styczniu 2014)

[21] Strona projektu silnika syntezy mowy Festival. Dostęp: http://festvox.org

(odwiedzione w styczniu 2014)

[22] Strona Departamentu EECS Uniwersytetu Kalifornijskiego Berkeley. Dostęp:

http://ptolemy.eecs.berkeley.edu/ (odwiedzone w styczniu 2014)

[23] Oficjalna strona firmy AKG. Dostęp: http://www.akg.com (odwiedzone w

styczniu 2014)

[24] Słownik wyrazów obcych i zwrotów obcojęzycznych Władysława Kopalińskiego.

Dostęp: http://www.slownik-online.pl/index.php (odwiedzone w styczniu 2014)

[25] Strona Laboratorium Akustyki Technicznej AGH. Dostęp: http://lat.agh.edu.pl

(odwiedzone w styczniu 2014)

6.1. SPIS RYSUNKÓW

Rysunek 1. Szkice przekrojów poprzecznych rezonatorów Kratzensteina, które

odtwarzały, kolejno, głoski a, o i e [3] ................................................................... 11  

Rysunek 2. Szkic maszyny mówiącej pochodzący z książki von Kempelena [6] .......... 12  

Rysunek 3. Schemat działania urządzenia „Voder” [22] ................................................ 13  

Rysunek 4. Cyfrowy zapis angielskiego słowa "treaty" oraz jego spektrogram [19] ..... 15  

Rysunek 5. Przykładowa tabela transkrypcji [1] ............................................................ 27  

Rysunek 6. Porównanie udziału procentowego 40-stu najpopularniejszych fonemów w

korpusie wejściowym i wyjściowym programu CorpusCRT [rys. autora] ............ 33  

Page 45: Przygotowanie korpusu do projektu korpusowego syntezatora mowy

Rysunek 7. Stosunek zawartości procentowej danego fonemu w korpusie wyjściowym,

do wejściowego. Wykres dla 40-stu najpopularniejszych fonemów [rys. autora] . 33  

Rysunek 8. Stosunek zawartości procentowej danego fonemu w korpusie wyjściowym,

do wejściowego. Wykres dla 38-śmiu pozostałych fonemów [rys. autora] ........... 34  

Rysunek 9. Porównanie udziału procentowego 40-stu najpopularniejszych difonów w

korpusie wejściowym i wyjściowym programu CorpusCRT [rys. autora] ............ 35  

Rysunek 10. Stosunek zawartości procentowej danego difonu w korpusie wyjściowym,

do wejściowego. Wykres dla 40-stu najpopularniejszych difonów [rys. autora] ... 35  

Rysunek 11. Zrzut interfejsu programu Audacity podczas nagrywania lektora [rys.

autora] ..................................................................................................................... 36  

Rysunek 12. Wykres odpowiedzi częstotliwościowej mikrofonu AKG C 4000 B dla

charakterystyki kardioidalnej [23] .......................................................................... 38