WOJSKOWA AKADEMIA TECHNICZNA
im. Jarosława Dąbrowskiego
SYSTEMY DIALOGOWE
SPRAWOZDANIE Z ĆWICZENIA nr 4
Temat: SYNTEZA SYGNAAU MOWY METOD KONKATENACJI
Wykonał: plut. pchor. Radosław WOyNIAK
Grupa: I9G1S1
1
1. TREŚĆ ZADANIA
1. 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.
2. 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
3. Zastosować przekształcone okno Hanninga do wygładzenia
nieciągłości konkatenacji jednostek fonetycznych.
4. 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).
2
2. WYNIKI
Zad 1.
W celu realizacji pierwszego zadania wykorzystano nagranie z
ćwiczenia laboratoryjnego nr 2 czyli MEGAFON . Sygnał dzwiękowy
nagrany został w trybie mono z częstotliwością próbkowania fs=22050
Hz. SÅ‚owo zawiera:
- trzy samogłoski e , a i o ;
- spółgłoskę nosową n ;
- spółgłoskę trącą bezdzwięczną f ;
- spółgłoskę zwartą g .
Plik dzwiękowy z ćwiczenia nr2 znajduję się w folderze
nagranie/megafon i nazywa siÄ™ megafon1.wav. Pik podzielono na fony,
difony i trifony za pomocą programu PRAAT (świadczy o tym plik
TEXTGRID). Z otrzymanych fonów utworzono dwa pliki dzwiękowe
zawierające (złączenie za pomocą programu Audacity):
·ð same samogÅ‚oski to s1(n), czyli plik eao.wav;
·ð same spółgÅ‚oski to s2(n), czyli plik fgmn.wav;
Pliki dzwiękowe znajdują się w folderze samogloski i spolgloski .
WNIOSKI do zad.1.
Przy porównaniu konkatencji samych samogłosek i samych
spółgłosek, słychać znaczące różnice. Odsłuchując plik s1(n) z samymi
samogłoskami słychać wyraznie każdą samogłoskę, pomimo że są one
koło siebie, można je odróżnić. Natomiast przy odsłuchiwaniu pliku s2(n)
z samymi spółgłoskami, trudno jest usłyszeć zmianę spółgłoski, a tym
samym rozpoznać co to za fon.
3
Zad.2.
Z pośród nagranych wcześniej wyrazów takich jak megafon,
meteor, beta i kapusta (sygnały dzwiękowe nagrane zostały w trybie
mono z częstotliwością próbkowania fs=22050Hz i rozdzielczością
16bitów), postanowiłem dokonać konkatencji wyrazu meta.
Konkatencja fonów: m - e - t a .
Z wyrazów:
·ð megafon (fon m);
·ð meteor (fon e);
·ð kapusta (fon t);
·ð beta (fon a).
Konkatencja difonów: _m me et ta a_ .
Z wyrazów:
·ð meteor (difon _m),
·ð megafon (difon me),
·ð meteor(difon et),
·ð beta (difon ta),
·ð kapusta (difon a_).
Konkatencja trifonów: _me met eta ta_ .
Z wyrazów:
·ð megafon (trifon _me),
·ð meteor(trifon met),
·ð beta (trifon eta),
·ð kapusta (trifon ta_).
W celu wykonania zadania podzielono wyrazy megafon, meteor, beta
i kapusta za pomocÄ… programu PRAAT na fony,trifony,difony. Pliki
znajdujÄ… siÄ™ w folderze nagrania (wraz z plikami TEXTGRID z
programu PRAAT).
Kapusta:
·ð Fonemy: K a p u - s t a
·ð Difony:_k ka ap pu us st ta a_
·ð Trifony: _ka kap apu pus ust sta ta_
Meteor:
·ð Fonemy: M e t e o r
4
·ð Difony: _m me et te eo - or r_
·ð Trifony: _me met ete teo eor or_
Megafon:
·ð Fonemy: m - e - g - a - f - o - n
·ð Difony: _m - me - eg - ga - af - fo - on - n_
·ð Trifony: _me - meg - ega - gaf - afo - fon - on_
Beta:
·ð Fonemy: B e t a
·ð Difony: _b be et ta a_
·ð Trifony: _be bet eta ta_
%fony
[fon_m,fm]=wavread('nagrania\megafon\fon_megafon\m.wav');
[fon_e,fe]=wavread('nagrania\meteor\fon_meteor\e2.wav');
[fon_t,ft]=wavread('nagrania\kapusta\fon_kapusta\t2.wav');
[fon_a,fa]=wavread('nagrania\beta\fon_beta\a.wav');
fon_meta=[fon_m', fon_e', fon_t',fon_a'];%konkatenacja fonemow
%wavplay(fon_meta,0.95*fm); %odtworzenie polaczonego dzwieku
wavwrite(fon_meta,'wyniki_syntezy\meta_z_fonow.wav');%zapis poloczonego
dzwieku
dl_fon_meta=length(fon_meta);
fon_czas=(0:dl_fon_meta-1)/(fm);%obliczenie czasu trwania dzwieku
figure(1)
plot(fon_czas,fon_meta);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy fonow');
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.1. Listing programu odpowiedzialnego za syntezę fonemów i
wyświetlenie wykresu.
5
Rys.2. Wykres sygnału meta uzyskanego z konkatencji fonów.
%difony
%wgranie dzwiekow
[difon__m,f_m]=wavread('nagrania\meteor\difon_meteor\_m.wav');
[difon_me,fme]=wavread('nagrania\megafon\difon_megafon\me.wav');
[difon_et,fet]=wavread('nagrania\meteor\difon_meteor\et.wav');
[difon_ta,fta]=wavread('nagrania\beta\difon_beta\ta.wav');
[difon_a_,fa_]=wavread('nagrania\kapusta\difon_kapusta\a_.wav');
%obliczenie dlugosci dzwiekow
dl_d1=length(difon__m);
dl_d2=length(difon_me);
dl_d3=length(difon_et);
dl_d4=length(difon_ta);
dl_d5=length(difon_a_);
%dopasowanie dlugosci difonow
difon_1=difon__m(200:dl_d1-800);
difon_2=difon_me(700:dl_d2-1200);
difon_3=difon_et(3300:dl_d3-1000);
difon_4=difon_ta(100:dl_d4-2000);
difon_5=difon_a_(300:dl_d5-2000);
%konkatenacja difonow
difon_meta=[difon_1', difon_2', difon_3',difon_4',difon_5'];
%wavplay(difon_meta,f_m);%odtworzenie polaczonego dzwieku
wavwrite(difon_meta,'wyniki_syntezy\meta_z_difonow.wav');%zapis
poloczonego dzwieku
difon_czas=(0:length(difon_meta)-1)/(f_m);%obliczenie czasu trwania
dzwieku
figure(3)
plot(difon_czas,difon_meta);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy difonow');
6
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.3. Listing programu odpowiedzialnego za syntezę difonów i
wyświetlenie wykresu.
Rys.4. Wykres sygnału meta uzyskanego z konkatencji difonów.
%trifony
[trifon__me,f_me]=wavread('nagrania\megafon\trifon_magafon\_me.wav');
[trifon_met,fmet]=wavread('nagrania\meteor\trifon_meteor\met.wav');
[trifon_eta,feta]=wavread('nagrania\beta\trifon_beta\eta.wav');
[trifon_ta_,fta_]=wavread('nagrania\kapusta\trifon_kapusta\ta_.wav');
%obliczenie dlugosci dzwiekow
dl_t1=length(trifon__me);
dl_t2=length(trifon_met);
dl_t3=length(trifon_eta);
dl_t4=length(trifon_ta_);
%dopasowanie dlugosci trifonow
trifon_1=trifon__me(1000:dl_t1-2800);
trifon_2=trifon_met(1500:dl_t2-4500);
trifon_3=trifon_eta(6200:dl_t3-2000);
trifon_4=trifon_ta_(2500:dl_t4-2500);
%konkatenacja trifonow
trifon_meta=[trifon_1', trifon_2',trifon_3',trifon_4'];
wavplay(trifon_meta,f_me);%odtworzenie polaczonego dzwieku
wavwrite(trifon_meta,'wyniki_syntezy\meta_z_trifonow.wav');%zapis
7
poloczonego dzwieku
trifon_czas=(0:length(trifon_meta)-1)/(f_me);%obliczenie czasu trwania
dzwieku
figure(5)
plot(trifon_czas,trifon_meta);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy trifonow');
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.5. Listing programu odpowiedzialnego za syntezę trifonów i
wyświetlenie wykresu.
Rys.6. Wykres sygnału meta uzyskanego z konkatencji trifonów.
8
Zad.3
%wygladzeniem miejsc polaczem fonow
fon_meta_h1=fon_meta(1350:1600).*(1-hann(251)');
fon_meta_h2=fon_meta(3350:3550).*(1-hann(201)');
fon_meta_h3=fon_meta(3750:4000).*(1-hann(251)');
fon_meta_h=fon_meta;
%Wygladzenie sygnalu
fon_meta_h(1350:1600)=fon_meta_h1;
fon_meta_h(3350:3550)=fon_meta_h2;
fon_meta_h(3750:4000)=fon_meta_h3;
%wavplay(fon_meta_h,fm*0.95); %odtworzenie polaczonego dzwieku
wavwrite(fon_meta_h,'wyniki_syntezy\meta_z_fonow_po_wygladzeniu.wav');%zapi
s poloczonego dzwieku
figure(2)
plot(fon_czas,fon_meta_h);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy fonow z
wygladzeniem miejsc polaczem');
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.7. Listing programu odpowiedzialnego za wygładzenie miejsca
łączenia fonów, zapisu nowopowstałego pliku i wyświetlenie wykresu.
Rys.8. Wykres sygnału meta uzyskanego z konkatencji fonów po
wygładzeniu nieciągłości konkatencji.
9
%wygladzeniem miejsc polaczem difonow
difon_meta_h1=difon_meta(2400:2600).*(1-hann(201)');
difon_meta_h2=difon_meta(5500:5700).*(1-hann(201)');
difon_meta_h3=difon_meta(5900:6100).*(1-hann(201)');
difon_meta_h4=difon_meta(9700:9900).*(1-hann(201)');
difon_meta_h=difon_meta;
%Wygladzenie sygnalu
difon_meta_h(2400:2600)=difon_meta_h1;
difon_meta_h(5500:5700)=difon_meta_h2;
difon_meta_h(5900:6100)=difon_meta_h3;
difon_meta_h(9700:9900)=difon_meta_h4;
%wavplay(difon_meta_h,fm*0.95); %odtworzenie polaczonego dzwieku
wavwrite(difon_meta_h,'wyniki_syntezy\meta_z_difonow_po_wygladzeniu.wav');%
zapis poloczonego dzwieku
figure(4)
plot(difon_czas,difon_meta_h);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy difonow z
wygladzeniem miejsc polaczem');
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.9. Listing programu odpowiedzialnego za wygładzenie miejsca
łączenia difonów, zapisu nowopowstałego pliku i wyświetlenie wykresu.
Rys.10. Wykres sygnału meta uzyskanego z konkatencji difonów po
wygładzeniu nieciągłości konkatencji.
10
%wygladzeniem miejsc polaczem fonow
trifon_meta_h1=trifon_meta(2150:2300).*(1-hann(151)');
trifon_meta_h2=trifon_meta(3700:3850).*(1-hann(151)');
trifon_meta_h3=trifon_meta(7350:7550).*(1-hann(201)');
trifon_meta_h=trifon_meta;
%Wygladzenie sygnalu
trifon_meta_h(2150:2300)=trifon_meta_h1;
trifon_meta_h(3700:3850)=trifon_meta_h2;
trifon_meta_h(7350:7550)=trifon_meta_h3;
wavplay(trifon_meta_h,fm*0.95); %odtworzenie polaczonego dzwieku
wavwrite(trifon_meta_h,'wyniki_syntezy\meta_z_trifonow_po_wygladzeniu.wav')
;%zapis poloczonego dzwieku
figure(6)
plot(trifon_czas,trifon_meta_h);%rysowanie wykresu
title('Wykres przebiegu dzwieku "meta" uzyskanego z syntezy trifonow z
wygladzeniem miejsc polaczem');
ylabel('a - amplituda');
xlabel('t - czas');
grid on;
Rys.11. Listing programu odpowiedzialnego za wygładzenie miejsca
łączenia trifonów, zapisu nowopowstałego pliku i wyświetlenie wykresu.
Rys.12. Wykres sygnału meta uzyskanego z konkatencji trifonów po
wygładzeniu nieciągłości konkatencji.
11
Rys.13. Fragment wykresu sygnału przedstawiający nieciągłość
konkatencji podczas syntezy fonu m i e w wyrazie meta.
Rys.14. Fragment sygnału przedstawiający wyrównanie nieciągłości
konkatencji podczas syntezy fonu m i e za pomocÄ… okna hanninga.
12
WNIOSKI do zad 2,3,4
Podczas wykonywania zadania udało się dokonać konkatencji
fonów, difonów i trifonów, w wyniku czego uzyskano 3 wyrazy po
wykonaniu zadania 2 i 3 wyrazy z zadania 3. Wszystkie nagrania
znajdujÄ… siÄ™ w folderze wyniki_syntezy .
Po odsłuchaniu nagrań, można zauważyć różnice w plikach
dzwiękowych. Z oceny subiektywnej wynika, że najczystsze nagranie to
plik uzyskany z syntezy trifonów, a najsłabsze to plik uzyskany z syntezy
fonów. Dzieje się tak ponieważ przy łączeniu trifonów doszło do
pokrywania się końcowej części jednego trifona z początkową częścią
drugiego trifona. Zjawisko to nie zaszło przy konkatencji fonów,
ponieważ poszczególne fony nie miały żadnej części podobnej do siebie.
Przy porównaniu nagrań po przetworzeniu przez okno Hanninga
miejsc konkatencji do wyrazów przed tym przekształcenie można
zauważyć delikatne poprawienie jakości dzwięku. Proces porównania
nieciągłości konkatencji przed i po przekształceni Hanninga widać na
rys.13 i 14.
Z porównania obiektywnego dzwięków uzyskanych z syntezy
fonów, difonów i trifonów z dzwiękiem rzeczywistym wynika, że uzyskane
nagrania zsyntetyzowane odbiegają jakością od prawdziwego. Jest to
spowodowane zapewne, nie za wysoką jakością sprzętu do nagrywania
dzwięków oraz braku profesjonalnego studia. Podsumowując, uzyskane
dzwięki zrozumieć i zinterpretować.
13
Wyszukiwarka
Podobne podstrony:
i9g1s1 wozniak lab5 sdi9g1s1 wozniak lab3 sdskrypt część ogólna J Woźniakprojekt SD NAW MT RW v2SD przykłady do w2Lab4 1 R4 lab41SD przykłady do w1 13lab4 sprI9G1S1 Nadolny Michal Lab10Wykres W, skala sdHiPUA lab4www Modul SD WprowCzas pracy bÄ…dĹş jazdy przekroczony co robići2 lab4Grabowska Lab4sdwięcej podobnych podstron