• Nie Znaleziono Wyników

Synteza mowy

N/A
N/A
Protected

Academic year: 2021

Share "Synteza mowy"

Copied!
8
0
0

Pełen tekst

(1)

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

Laboratorium Akustyki mowy

Ćwiczenie 1: Synteza mowy

Opracowanie: mgr inż. Kuba Łopatka

1. Jak nauczyć komputer mówić

W tytule powyższego punktu jest już zawarty pewien błąd w myśleniu. Synteza mowy nie polega na tym, aby komputer mówił. Mówienie wymaga bowiem rozumienia treści wypowiedzi. Celem jest jedynie generowanie komunikatów głosowych jak najbardziej przypominających ludzką mową. Nie jest to oczywiście zadanie łatwe, o czym świadczy fakt, że mowę generowaną przez spotykane obecnie syntetyzery można niemal zawsze odróżnić od naturalnej.

Pierwsze pytanie, które należy sobie zadać w związku z implementacją syntetyzera mowy, to co właściwie komputer powinien mówić. Podstawowy podział wyróżnia systemy ograniczone i nieograniczone. Systemy ograniczone to takie, które mogą generować tylko z góry określone komunikaty. Systemy nieograniczone, nazywane też systemami TTS (ang.

Text To Speech) mają za zadanie zamieniać dowolny tekst na mowę.

System potrafiący „przeczytać” dowolny tekst składa się z dwóch modułów: wysokiego i niskiego poziomu. Istotą syntezy wysokiego poziomu jest przede wszystkim normalizacja tekstu, czyli zamiana znaków na ciąg głosek, zgodnie z uwzględnieniem zasad fonetycznych (na przykład „poniedziałek, 26 IX” zostanie zamienione na – w bardzo uproszczonej transkrypcji fonetycznej – pońedźałek dwudźesty szusty wżeśńa ). Innym zadaniem modułu syntezy wysokiego poziomu jest też determinacja przebiegu intonacji, akcentów i tempa wypowiedzi. Syntetyzer wysokiego poziomu generuje instrukcje sterujące syntetyzerem niskiego poziomu, działającym na sygnale i odpowiedzialnym za generowanie syntetyzowanej mowy. Można więc uznać, że to moduł niskiego poziomu „wydaje z siebie głos”, a wysoki poziom udziela mu jedynie instrukcji „co ma powiedzieć”. Synteza niskiego poziomu może być realizowana różnymi metodami. Najważniejsze z nich to synteza formantowa, artykulacyjna i konkatenacyjna.

Pierwsze syntetyzery mowy wykorzystywały elementy mechaniczne. Poprzez kierowanie powietrza do odpowiednich przestrzeni rezonansowych lub na elementy drgające starano się odwzorować charakter poszczególnych głosek. W dziedzinie elektrycznej natomiast rolę rezonatorów akustycznych przejmują filtry. Zazwyczaj częstotliwości własne wykorzystanych elementów lub obwodów odpowiadają częstotliwościom formantowym. Stąd nazwa tej metody – synteza formantowa.

(2)

Jeszcze do niedawna najbardziej obiecującą i najszerzej wykorzystywaną metodą syntezy jest synteza artykulacyjna. Jej założeniem jest odwzorowanie charakterystyki całego traktu głosowego za pomocą transmitancji układu elektronicznego. Mowa jest wówczas generowana za pomocą pobudzenia takiego filtru falą przypominającą ton krtaniowy (np. przebieg piłokształtny). W pierwszych zastosowaniach wykonywano zdjęcia aparatu mowy podczas artykulacji poszczególnych głosek i projektowano filtr na podstawie podobieństwa transmitancji elektrycznej do charakterystyki przenoszenia widzianego na zdjęciu ustroju akustycznego. Wydajniejszym podejściem okazało się być wykorzystanie liniowego kodowania predykcyjnego (Linear Predictive Coding). Współczynniki LPC niosą informację o charakterystyce traktu głosowego i pozwalają oddzielić ją od pobudzenia (tonu krtaniowego). Teoretycznie, aby generować mowę wystarczy więc znać pobudzenie i współczynniki LPC odpowiadające artykulacji poszczególnych głosek. W praktyce jednak problem stwarza zarówno kształt pobudzenia, jak i rozdzielczość czasowa analizy czy ilość współczynników LPC. Przede wszystkim natomiast synteza artykulacyjna wymaga stosunkowo skomplikowanych obliczeń i nie gwarantuje wysokiej naturalności brzmienia generowanego sygnału.

Obecnie najlepsze efekty pod względem zrozumiałości i naturalności brzmienia daje synteza konkatenacyjna. Dlatego też to ćwiczenie skupia się głównie na tej właśnie metodzie. Konkatenacja to wiązanie mniejszych jednostek w większą całość. W syntezie mowy konkatenacja oznacza tworzenie wypowiedzi poprzez łączenie ze sobą nagranych jednostek mowy. Syntetyzery konkatenacyjne wykorzystują bazę przygotowanych wcześniej próbek, którymi mogą być głoski, wyrazy, sylaby albo, tak jak w tym ćwiczeniu, połączenia dwóch fonemów. Dzięki wykorzystaniu głosu „żywego” lektora można osiągnąć bardzo wysoką zrozumiałość i naturalność syntetyzowanego sygnału.

2. Co to są difony i jak je łączyć

Na jakość sygnału generowanego przez syntetyzer konkatenacyjny największy wpływ mają następujące czynniki:

- wybór jednostek mowy, - jakość segmentów,

- metoda łączenia segmentów.

Jak wspomniano we wprowadzeniu, synteza konkatenacyjna może wykorzystywać różne jednostki. Mogą one być to segmenty o stałej długości lub też o zmiennej długości. Wybór właściwych jednostek ma wpływ na jakość syntezy, a także na objętość bazy segmentów i złożoność metody. W niniejszym ćwiczeniu została zaprezentowana synteza z wykorzystaniem jednostek o stałej długości tj. difonów.

Difon (lub diafon) to przejście między dwoma fonemami zawierające fragment fonemu pierwszego i fonemu drugiego odpowiadające stanowi ustalonemu sygnału mowy. Pomysł, żeby w syntezie wykorzystywać difony oparty jest na takiej właściwości języka, że na brzmienie głoski wpływają w znacznej mierze głoska poprzednia i następna. Dlatego tworzenie wypowiedzi z pojedynczych głosek nie daje dobrych rezultatów. Liczba difonów potrzebnych do złożenia wypowiedzi jest o 1 większa od liczby głosek. Przykładowo, aby wygenerować słowo mama, potrzebne są difony m-a, a-m i znowu m-a. Dodatkowo potrzebne są jeszcze difony zawierające przejście od ciszy do głoski początkowej i od głoski końcowej do ciszy. Oznaczamy je #-m i a-#. Zaletą wykorzystywania difonów jest fakt, że można przy ich pomocy generować dowolne wyrazy (nawet nieistniejące w słowniku). Wszystkie te połączenia wymagają przy tym bardzo podobnej ilości operacji i charakteryzują się

(3)

porównywalną naturalnością.

Ważnym elementem przygotowania difonu jest określenie próbki, na którą przypada przejście między fonemami. Znajomość tego indeksu umożliwia między innymi podział difonów na głoski oraz poprawne łączenie głosek wybuchowych, które są o wiele krótsze od innych. Jakość zastosowanych difonów ma kluczowe znaczenie dla jakości syntezy. Jeśli podczas nagrania lub ekstrakcji segmentów popełniono błędy, mogą się one okazać nie do poprawienia, nawet jeżeli wykorzystano najlepszy algorytm konkatenacji. Błędy, o których mowa, prowadzą do tzw. niedopasowania segmentów. Każdy przypadek niedopasowania wiąże się z pogorszeniem jakości syntetyzowanego sygnału i może powodować negatywne wrażenia w odsłuchu. Wyróżnia się trzy rodzaje niedopasowania:

- niedopasowanie fazy – gdy faza końcowa segmentu jest inna od fazy początkowej segmentu następującego po nim,

- niedopasowanie tonu podstawowego – gdy sąsiednie segmenty różnią się pod względem częstotliwości podstawowej

- niedopasowanie obwiedni widmowej – gdy segmenty różnią się znacznie pod względem składowych częstotliwościowych (można to zaobserwować też jako różnicę w kształcie czasowej reprezentacji sygnału).

Każdego z tych trzech zjawisk należy unikać. W pierwszej kolejności należy zadbać o poprawne przygotowanie difonów, a w drugiej – o algorytm, który jest jak najmniej wrażliwy na te problemy.

Łączenie segmentów może się odbywać na różne sposoby. W tym ćwiczeniu zostały zaimplementowane trzy algorytmy konkatenacji difonów:

- sklejenie – czyli połączenie segmentów w taki sposób, że po ostatniej próbce poprzedniego następuje pierwsza próbka następnego. Algorytm ten nie gwarantuje dopasowania pod żadnym względem,

- przemiksowanie – czyli nałożenie fragmentów segmentów na siebie i stopniowe wyciszanie pierwszego z nich przy jednoczesnym zgłaśnianiu drugiego (ang fade out, fade

in). Długość zakładki może przyjmować wartości od 0 (sklejenie) do połowy długości

segmentu. Duży wpływ na naturalność brzmienia ma kształt stosowanej krzywej wzmocnienia (liniowa, sinusoidalna). Przemiksowanie daje możliwość regulowania tempa wypowiedzi poprzez zmianę długości zakładki. Minimalizuje też wpływ niedopasowania obwiedni widmowej, ponieważ segmenty przechodzą łagodnie jeden w drugi. Metoda ta nie rozwiązuje jednak problemów z fazą i tonem podstawowym.

- PSOLA – nazwa metody jest akronimem angielskich słów Pitch-Synchronous Over-Lap

and Add, co oznacza dosłownie „dodawanie z nałożeniem zgodnie z okresem

podstawowym”. Difon jest dołączany w miejscu, w którym rozpocząłby się kolejny okres sygnału. Operacja łączenia difonów za pomocą PSOLA nie daje wprost możliwości zmiany tempa wypowiedzi tak jak przemiksowanie ze zmienną zakładką, rozwiązuje jednak problem niedopasowania okresu podstawowego sąsiednich segmentów. Ponadto, jeśli segmenty rozpoczynają się i kończą zgodnymi fazami, nie wystąpią spotykane w przypadku przemiksowania problemy fazowe. Wadą algorytmu jest za to konieczność znajomości chwilowego okresu podstawowego przetwarzanego sygnału. Łączenie segmentów zgodnie z okresem zostało przedstawione na rysunku poniżej:

(4)

Konkatenacja jednostek mowy z wykorzystaniem algorytmu PSOLA

3. Dlaczego synteza brzmi jak „głos robota”

Jeśli difony zostały dobrze przygotowane, a konkatenacja przebiegła bezbłędnie, wynik syntezy brzmi poprawnie. Poprawność oznacza tutaj, że w sygnale nie słychać zniekształceń. Jednak to poprawne brzmienie jest dalekie od naturalnego. O generowanej przez syntetyzer mowie mówi się często, że brzmi jak „głos robota”. Ta sztuczność wynika z tego, że mowa generowana jest przy użyciu difonów o stałej częstotliwości podstawowej, długości i energii artykulacyjnej. Oznacza to, że za każdym razem, gdy w syntetyzowanej mowie pojawia się głoska a, będzie ona brzmiała dokładnie tak samo, niezależnie od tego, czy jest na początku, czy na końcu zdania lub czy znajduje się pod akcentem, czy nie. W naturalnej mowie parametry głosek cały czas się zmieniają, w zależności od na przykład akcentu, intonacji czy emocji związanych z wypowiedzią. Właściwość języka związaną ze „śpiewnością” głoski tj. o zmienności jej wysokości, siły i długości nazywa się prozodią. Prozodia to również dział językoznawstwa zajmujący się akcentem, iloczasem i intonacją. Aby generowana mowa brzmiała naturalnie, konieczna jest modyfikacja prozodii wypowiedzi. W przeciwnym razie najlepsze, co uda się uzyskać, to jedynie „wyraźnie mówiący robot”.

4. W jaki sposób kształtować prozodię wypowiedzi

Aby kształtować prozodię wypowiedzi za pomocą operacji na sygnale, należy przede wszystkim odpowiedzieć sobie na pytanie, jakie cechy sygnałowe związane są z akcentem, intonacją i iloczasem. Większość językoznawców wiąże te pojęcia z trzema cechami sygnału: częstotliwością podstawową (z którą łączy się wrażenie wysokości dźwięku), amplitudą sygnału (związaną z wrażeniem głośności) i czasem trwania (w prosty sposób związanym z długością głoski). Nie jest to przy tym związek jednoznaczny, ponieważ przykładowo z akcentem może być związane albo tylko jedno z tych zjawisk albo wszystkie trzy naraz. Ogólnie rzecz ujmując, algorytmy kształtowania prozodii to głównie metody zmiany częstotliwości podstawowej i czasu trwania dźwięku (ang. pitch shifting i time stretching).

(5)

Kształtowanie intonacji

Kształtowanie intonacji wypowiedzi polega na odwzorowaniu tzw. konturu intonacyjnego. Ów kontur to stworzony przez fonetyków wykres ilustrujący przebieg wysokości dźwięku w obrębie frazy intonacyjnej. Na przykład dla zdania twierdzącego kontur intonacyjny jest na końcu opadający, a dla zdania pytającego – rosnący. Zadaniem algorytmu kształtowania prozodii jest modyfikacja częstotliwości podstawowej sygnału tak, aby jej przebieg pokrywał się z zadanym konturem intonacyjnym. Wówczas słuchacz poprawnie zrozumie daną intonację.

Kształtowanie akcentu

W tym ćwiczeniu dla kształtowania akcentu wyrazowego posłużono się kombinacją rzech modyfikacji. Dla głoski znajdującej się pod akcentem dokonywane jest zarówno wzmocnienie, jak i jej nieznaczne wydłużenie i podniesienie częstotliwości podstawowej. Kształtowanie tempa wypowiedzi

Zmiana czasu trwania jednostek mowy daje możliwość kształtowania tempa wypowiedzi. Jeśli generowana przez syntetyzer mowa jest zbyt powolna, będzie odbierana jako nienaturalna. Z kolei w systemie typu TTS bardzo ważną funkcją jest możliwość zmiany tempa czytania tekstu.

Kształtowanie wysokości głosu

Dzięki zastosowaniu modyfikacji częstotliwościowej możliwa jest również zmiana wysokości całej wypowiedzi. Będzie to odbierane jako podwyższenie lub obniżenie głosu przez mówcę. Zmiana wysokości głosu ma duże znaczenie dla odwzorowania emocji związanych z wypowiedzią. Podwyższony głos może być na przykład kojarzony z radością, a obniżony – ze znudzeniem.

Do modyfikacji czasu trwania i częstotliwości podstawowej głoski można stosować różne algorytmy. W ćwiczeniu wykorzystany został algorytm TD-PSOLA (Time Domain

Pitch-Synchronous Over-Lap and Add). Jest to szybki i łatwy w implementacji algorytm działający

całkowicie po stronie czasu. Opiera się on na tej samej metodzie co algorytm łączenia segmentów o podobnej nazwie.

5. Opis interfejsu ćwiczenia

Interfejs ćwiczenia został opracowany w środowisku MATLAB. Otwiera go skrypt

synteza_konkatenacyjna. Interfejs stwarza możliwość przejścia przez kolejne kroki syntezy

konkatenacyjnej, którymi są:

 zamiana tekstu na difony

 wczytanie tablicy difonów

 modyfikacja prozodii

 konkatenacja difonów.

Zaimplementowany w ćwiczeniu syntetyzer generuje 5 przykładowych zdań:

1. Jedziemy do domu. 2. Kuba obronił dyplom. 3. Studiujesz na ETI.

(6)

4. Ta laborka jest fajna.

5. Zapraszamy kobiety na politechnikę.

Zdanie wybiera się z rozwijanej listy u góry ekranu. W polu tekstowym poniżej wyświetlana jest informacja o wczytanych difonach. Możliwe jest również sprecyzowanie ścieżki, z której mają być wczytane difony, co umożliwia syntezę różnych głosów.

Interfejs ćwiczenia

Modyfikacja prozodii sygnału może być włączona lub wyłączona za pomocą zaznaczenia pola typu checkbox opisanego prozodia. Do dostępnych modyfikacji prozodycznych należą:

zmiana wysokości dźwięku całej wypowiedzi – za pomocą suwaka i pola F0.

uwzględnienie akcentu wyrazowego – przez zaznaczenie pola akcenty,

zmiana tempa wypowiedzi – za pomocą suwaka wolniej…szybciej

 wczytanie intonacji wypowiedzi z rozwijanej listy. Wśród zaimplementowanych intonacji znajdują się: stwierdzenie, pytanie, zdziwienie, irytacja, znudzenie, radość. Wczytany kontur intonacyjny zostanie wyświetlony na wykresie. Suwaki na tle wykresu umożliwiają dodatkową modyfikację konturu intonacyjnego.

(7)

LABORATORIUM AKUSTYKI MOWY

Ćw. Synteza mowy

Wykonujący: Ocena:

Specjalność:

Data wykonania ćwiczenia: Data oddania sprawozdania:

1. Zapoznaj się z mechanizmem zamiany tekstu na difony. Otwórz kilka wybranych difonów w dowolnym programie do edycji dźwięku. Co możesz powiedzieć o ich fazach początkowych i końcowych?

Jaka informacja zapisana jest w pliku tekstowym o nazwie takiej samej jak difon?

2. Odpowiedz na pytanie: Jaki jest związek pomiędzy długością jednostek mowy wykorzystywanych w syntezie konkatenacyjnej a naturalnością generowanego sygnału?

Co stoi na przeszkodzie, żeby wykorzystać jednostki gwarantujące najwyższą naturalność?

W jakiego typu systemach możliwe jest ich użycie?

3. Przeprowadź syntezę zdania (bez modyfikacji prozodii) przy pomocy trzech różnych algorytmów. Który z algorytmów jest najlepszy i dlaczego?

(8)

4. Dokonaj modyfikacji prozodii sygnału. Odsłuchaj wszystkie zdania z różnymi konturami intonacyjnymi. Które intonacje brzmią bardziej, a które mniej naturalnie i dlaczego?

Jak na syntetyzowaną wypowiedź wpływa zmiana tempa?

Jaki wpływ na naturalność wypowiedzi ma zmiana parametru F0?

W jaki sposób w procesie kształtowania prozodii uwzględniane są akcenty?

5. Jak oceniasz jakość syntezy prezentowanej w ćwiczeniu? Czy modyfikacja prozodii wpływa pozytywnie na naturalność generowanego sygnału?

Cytaty

Powiązane dokumenty

Do opisu/tworzenia strony często stosuje się język HTML (z ang. Hypertext Markup Language). Nazwa strona jest jednak nazwą umowną, ponieważ jest zbudowana z wielu stron, które

Filtrem częstotliwości nazywamy układ o strukturze czwórnika (czwórnik to układ mający cztery zaciski – jedna z par zacisków pełni rolę wejścia, zaś druga wyjścia),

Zasadniczo rzecz biorąc, współczesna praktyka projektowa w wymiarze designu doświadczeń została sprowadzona do totalitaryzmu semantyk, przeciwko któremu trudno się buntować,

Artykuł umieszczony jest w kolekcji cyfrowej bazhum.muzhp.pl, gromadzącej zawartość polskich czasopism humanistycznych i społecznych, tworzonej przez Muzeum Historii Polski

Szybkiego Przekształcenia Fouriera (SPF, ang. Na podstawie powyŜszych obliczeń moŜna wykonać wykres cepstrum, przy czym naleŜy pamiętać, Ŝe jest to przejście ponownie

In her attempt to trace a ‘tidalectics’ of queer diasporic space, Brand imagines a cartography of desire moving from territorially situated bodies and languages to deterritorialised

pojęcia przestrzeni, gdzie przestrzeń traktuje się jako zbiór elementów spełniających określone postulaty.. Vzychodząc z takiego założenia,

• Nadaj pierwszej linijce styl Tytuł i zmodyfikuj ten styl nadając mu zielony kolor tła oraz podwójne podkreślenie.. • Zmodyfikuj akapit Domyślny nadając odstęp powyżej