SPRAWOZDANIE Z ĆWICZENIA LABORATORYJNEGO NR 4
Przedmiot: Systemy dialogowe
Temat: Synteza sygnału mowy metodą konkatenacji
Prowadzący: dr inż. Andrzej Wiśniewski
Wykonał: Wojciech Węgrecki
Grupa: I9G2S1
Dla sygnału s(n) wykorzystywanego w ćwiczeniu nr 2 utworzyć dwa sygnały: s1(n) zawierający wyłącznie samogłoski i s2(n) zawierający wyłącznie spółgłoski. Odsłuchać - sformułować wnioski dla konkatenacyjnej syntezy sygnałów.
Za pomocą programu GoldWave wykonałem usunięcie poszczególnych fonemów. Wykorzystałem do tego słowo z ćwiczenia nr 2 - TELEFON. Oba te sygnały, zarówno zawierający same spółgłoski, jak i same samogłoski są zupełnie niezrozumiałe. Nie da się w żaden sposób rozpoznać słowa, które było pierwotnie nagrane. Oznacza to, że w wyrazie tak samo ważną rolę pełnią spółgłoski, jak i samogłoski. Gdyby było inaczej w którymś przypadku można by było rozpoznać nagrane słowo.
rys.1 Sygnał oryginalny słowa TELEFON
rys. 2 Sygnał po zostawieniu samogłosek
rys. 3 Sygnał po zostawieniu spółgłosek
Wykorzystując sygnały z ćwiczeń nr 2 i 3 dokonać syntezy dowolnej wypowiedzi (innej niż nagrana) jako konkatenacji wydzielonych (za pomocą programu PRAAT):
- fonemów
- difonów
- trifonów
Słowo |
fonemy |
Difony |
trifony |
Telefon |
T E L E F O N |
_T TE EL LE EF FO ON N_ |
_TE TEL ELE LEF EFO FON ON_ |
Budzik |
B U Ʒ' K |
_B BU UƷ' Ʒ'K K_ |
_BU BUƷ' UƷ'K Ʒ'K_ |
Gazeta |
G A Z E T A |
_G GA AZ ZE ET TA A_ |
_GA GAZ AZE ZET ETA TA_ |
Książka |
K Ś Ą Ż K A |
_K KŚ ŚĄ ĄŻ ŻK KA A_ |
_KŚ KŚĄ ŚĄŻ ĄŻK ŻKA KA_ |
Kubek |
K U B E K |
_K KU UB BE EK K_ |
_KU KUB UBE BEK EK_ |
Motor |
M O T O R |
_M MO OT TO OR R_ |
_MO MOT OTO TOR OR_ |
Plecak |
P L E C A K |
_P PL LE EC CA AK K_ |
_PL PLE LEC ECA CAK AK_ |
Pociąg |
P O Ć Ą G |
_P PO ĆĄ ĄG G_ |
_PO POĆ OĆĄ ĆĄG ĄG_ |
Rower |
R O W E R |
_R RO OW WE ER R_ |
_RO ROW OWE WER ER_ |
Samochód |
S A M O H Ó D |
_S SA AM MO OH HÓ ÓD D_ |
_SA SAM AMO MOH OHÓ HÓD ÓD_ |
Kastet |
K A S T E T |
_K KA AS ST TE ET T_ |
_KA KAS AST STE TET ET_ |
Kapusta |
K A P U S T A |
_K KA AP PU ST TA A_ |
_KA KAP APU PUS UST STA TA_ |
tab. 1Podział słów na fonemy, difony i trifony
Słowem, jakie postanowiłem utworzyć jest TETA. Jednak, byłem zmuszony dograć dodatkowe słowo, gdyż brakowało mi trifonu TET. Zdecydowałem się, że wykorzystam do tego wyraz KASTET. Poniżej przedstawiam podział utworzonego przeze mnie słowa na poszczególne jednostki fonetyczne oraz pochodzenie tej jednostki.
TETA
Jednostka fonetyczna |
|
Pochodzenie |
fonem |
T |
Telefon |
|
E |
kubEk |
|
T |
moTor |
|
A |
sAmochód |
difon |
_T |
_Telefon |
|
TE |
TElefon |
|
ET |
kastET |
|
TA |
gazeTA |
|
A_ |
książkA_ |
trifon |
_TE |
_TElefon |
|
TET |
kasTET |
|
ETA |
gazETA |
|
TA_ |
kapusTA_ |
tab. 2 Wykorzystane fonemy, difony i trifony
Do wydzielenia poszczególnych jednostek fonetycznych użyłem programu PRAAT i wyeksportowałem je do oddzielnych plików .wav. Do połączenia ich w przypadku fonemów i difonów wykorzystałem program GoldWave, a trifonów środowisko MATLAB.
Konkatenację dźwięku za pomocą trifonów wykonałem za pomocą następującego kodu:
ramka_TE = trifon_TE;
ramkaTET = trifonTET(745:3834);
ramkaETA = trifonETA(1162:4333);
ramkaTA_ = trifonTA_(519:3188);
teta_trifony = [ramka_TE' ramkaTET' ramkaETA' ramkaTA_'];
wavwrite(teta_trifony,fs1,'TETAtrifony');
Zastosować przekształcone okno Hanninga do wygładzenia nieciągłości konkatenacji jednostek fonetycznych.
Fonem
rys. 4 Wygładzenie nieciągłości w dźwięku stworzonym poprzez konkatenację fonemów
rys. 5 Przekształcona funkcja Hanninga wykorzystana do usunięcia pierwszej nieciągłości
rys. 6 Przekształcona funkcja Hanninga wykorzystana do usunięcia drugiej nieciągłości
dzwiek5=dzwiek1(5500:5641); %wygładzanie I nierówności w fonemach
for i = 1:1:180
dzwiek5=0.1-0.1*cos((2*pi*(5500:1:5641))/i);
end;
dzwiek6=dzwiek1(5642:5704); %wygładzanie II nierówności w fonemach
for i = 1:1:180
dzwiek6=0.1+0.1*cos((2*pi*(5642:1:5704))/i);
end;
dzwiek7=dzwiek1;
dzwiek7(5500:5641)=dzwiek5; %zapisanie do oryginału
dzwiek7(5642:5704)=dzwiek6; %zapisanie do oryginału
figure(4); %wyświetlenie różnicy przed i po zmianie
subplot(2,1,1)
plot(czas1,dzwiek1);
title('dzwiek przed obróbką')
subplot(2,1,2)
plot(czas1,dzwiek7);
title('dzwiek po obróbce')
axis([0,0.4,-0.4,1]);
wavwrite(dzwiek7,fs1, 'TETAfonemy1'); % zapisanie pliku
Difon
rys. 7 Wygładzenie nieciągłości w dźwięku stworzonym poprzez konkatenację difonów
rys. 8 Przekształcona funkcja Hanninga wykorzystana do usunięcia nieciągłości
dzwiek8=dzwiek2(10970:11020);
for i = 1:1:180
dzwiek8=0.01+0.01*cos((2*pi*(10970:1:11020))/i);
end;
dzwiek9=dzwiek2;
dzwiek9(10970:11020)=dzwiek8; %zapisanie do oryginału
figure(5); %wyświetlenie różnicy przed i po zmianie
subplot(2,1,1)
plot(czas2,dzwiek2);
title('dzwiek przed obróbką')
subplot(2,1,2)
plot(czas2,dzwiek9);
title('dzwiek po obróbce')
wavwrite(dzwiek7,fs1, 'TETAdifony1'); % zapisanie pliku
Trifon
W przypadku dźwięku stworzonego z trifonów nie było konieczne wygładzanie, gdyż powstały dźwięk był ciągły i nie posiadał żadnych trzasków na łączeniach.
Ocenić jakość syntezy sygnału mowy:
ocena subiektywna: poprzez odsłuchanie sygnału zsyntezowanego
ocena obiektywna poprzez porównanie sygnału zsyntezowanego z sygnałem rzeczywistym, zarejestrowanym przez wykonawcę ćwiczenia (w dziedzinie czasu i częstotliwości).
Fonem:
Odsłuchując dźwięk stworzony za pomocą fonemów można zrozumieć wypowiedziane słowo, jednak nie jest ono idealnej jakości. Poszczególne fonemy wypowiadane są raz ciszej, raz głośniej, tak jak były wypowiadane w oryginalnych nagraniach. Po połączeniu tych jednostek fonetycznych to się dodatkowo uwydatniło ze względu na bliskość tych głosek i możliwość porównania ich ze sobą. Poza tym połączenia pomiędzy fonemami nie są płynne, tylko słyszalne, ponieważ nie brane było pod uwagę otoczenia danego fonemu.
rys. 9 Ocena obiektywna konkatenacji fonemów
Porównując sygnał zsyntezowany z sygnałem rzeczywistym - wypowiedzianym przeze mnie, można stwierdzić że sygnał konkatenacyjny bardzo odbiega od ideału. Dźwięk jest dużo krótszy. Biorąc pod uwagę długość wypowiadanego słowa, różnica jest dosyć znaczna. Dźwięk wzorcowy ma większą amplitudę oraz płynniejsze przejścia pomiędzy fonemami. Jednak mimo wszystko można zauważyć podobieństwa w obu tych sygnałach. Wykresy odpowiadające poszczególnym fonemom mają podobne kształty oraz zachowując proporcje, podobne częstotliwości.
Difon:
Dźwięk stworzony z difonów jest znacznie lepszej jakości niż ten stworzony z fonemów. Przejścia pomiędzy głoskami są dużo płynniejsze i bardziej naturalne. Jednak także różnica głośności jest tutaj zauważalna. Tego problemu trudno jest uniknąć jeżeli łączy się difony z różnych słów w jedną całość. Nie da się wypowiedzieć kilku różnych słów identycznym tonem głosu.
rys.10 Ocena obiektywna konkatenacji difonów
Porównując sygnał zsyntezowany z sygnałem rzeczywistym można stwierdzić, że sygnał konkatenacyjny jest już bliższy oryginałowi. Długości obu tych sygnałów są porównywalne oraz przejścia pomiędzy fonemami są płynniejsze. Wykresy odpowiadające poszczególnym fonemom mają podobne kształty oraz zachowując proporcje, podobne częstotliwości.
Trifon
Dźwięk stworzony z trifonów jest najlepszej jakości. Nie ma żadnych nieciągłości i trzasków na łączeniach, nawet bez konieczności ingerowania w ten dźwięk. Jest w pełni zrozumiały. Nie jesteśmy w stanie rozpoznać, że słowo to powstało z kilku różnych słów. Przed rozpoczęciem wykonywania zadania, nie spodziewałem się aż tak dobrych wyników końcowych.
rys. Ocena obiektywna konkatenacji trifonów
Dźwięk stworzony konkatenacyjnie i dźwięk wzorcowy nie różnią się znacznie od siebie. Najbardziej zauważalną różnicą jest mniejsza amplituda w dźwięku wytworzonym. Jednak wpływa to jedynie na głośność wypowiadanego słowa, a nie na jego jakość. Poszczególne głoski praktycznie występują w tych samych miejscach co w wypowiedzi wzorcowej i mają podobną długość. Oczywistym faktem jest, że nie będą miały takiej samej długości, gdyż nie jesteśmy w stanie wypowiedzieć głosek, nawet w tych samych wyrazach dwa razy identycznie.