Upload
dangcong
View
243
Download
1
Embed Size (px)
Citation preview
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
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
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)
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
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ń.
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.
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
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.
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.
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ł
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.
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].
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.
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.
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;
• 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,
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;
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
• 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.
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.
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
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);
- 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:
- 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.
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.
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
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
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
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;
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
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
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
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
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'
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
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].
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
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, ʡ, ʔ, ɟ, ɖ.
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
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].
Pliki transkrypcji eksportowane zostaną do formatu MLF (Master Label Files), a ich
późniejsza modyfikacja pozwoli na otrzymanie pełnej anotacji difonowej korpusu.
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.
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.
[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
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