I9G1S1 Nadolny Lab4

WOJSKOWA AKADEMIA TECHNICZNA

im. Jarosława Dąbrowskiego

SYSTEMY DIALOGOWE

SPRAWOZDANIE Z ĆWICZENIA nr 4

Temat: SYNTEZA SYGNAŁU MOWY METODĄ KONKATENACJI

Wykonał: szer. pchor. Michał NADOLNY

Grupa: I9G1S1

1. TREŚĆ ZADANIA

Temat: SYNTEZA SYGNAŁU MOWY METODĄ KONKATENACJI

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. WYNIKI Zad 1.

W celu realizacji pierwszego zadania wykorzystano nagranie z ćwiczenia laboratoryjnego nr 2 czyli „telefon”. Sygnał dźwiękowy nagrany został w trybie mono z częstotliwością próbkowania fs=22050

Hz. Słowo zawiera:

- trzy samogłoski „e”, „e” i „o”;

- spółgłoskę nosową „n”;

- spółgłoskę trącą bezdźwięczną „f”;

- spółgłoskę zwartą „t”;

-spółgłoskę boczną półotwartą „l”;

Plik dźwiękowy z ćwiczenia nr 2 znajduje się w folderze „nagrania”,

nazywa się „telefon.wav”. Plik podzieliłem na fony, difony, oraz trifony za pomocą programu PRAAT. Z wydzielonych fonemów utworzyłem dwa pliki dźwiękowe za pomocą programu Audacity:

WNIOSKI do zad.1.

Podczas porównywania konkatenacji spółgłosek, oraz samogłosek można usłyszeć znaczące różnice. W pliku z samymi samogłoskami wyraźnie słychać każdą samogłoskę, natomiast przy spółgłoskach trudno jest rozpoznać każdy fonem.

Zad.2.

Z wyrazów, które zostały nagrane wcześniej takie jak: jeden, cztery, osiem, trzy utworzyłem z fonemów wyraz: jemy. Natomiast do otrzymania tego samego słowa przy konkatenacji difonów, oraz trifonów potrzebowałem nagrać takie dźwięki jak: jedziemy, dajemy, mamy.

Konkatencja fonów: „j-e-m-y”.

Z wyrazów:

• jeden (fonem j);

• cztery(fonem e);

• osiem (fonem m);

• trzy (fonem y).

Konkatencja difonów: „_j-je-em-my-y_”

Z wyrazów:

• jeden (difon _j),

• jedziemy (difon je),

• siedem(difon em),

• jedziemy (difon my),

• trzy (difon m_).

Konkatencja trifonów: „_je-jem-emy-my_”

Z wyrazów:

• jeden (trifon _je),

• dajemy(trifon jem),

• jedziemy (trifon emy),

• mamy(trifon my_).

%fonemy

[j,fj]=wavread('fonemy\j.wav');

[e,fe]=wavread('fonemy\e.wav');

[m,fm]=wavread('fonemy\m.wav');

[y,fy]=wavread('fonemy\y.wav');

fon_jemy=[j', e', m',y'];

wavplay(fon_jemy,0.95*fm); %odtworzenie polaczonego dzwieku

wavwrite(fon_jemy,fj,'wynik\jemy.wav');%zapis poloczonego dzwieku

dl_fon_jemy=length(fon_jemy);

fon_czas=(0:dl_fon_jemy-1)/(fm);%obliczenie czasu trwania dzwieku

figure(1)

plot(fon_czas,fon_jemy);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" uzyskanego z syntezy fonemow');

ylabel('a - amplituda');

xlabel('t - czas');

grid on;

Rys.1. Listing programu odpowiedzialnego za syntezę fonemów i wyświetlenie wykresu.

Rys.2. Wykres sygnału „jemy” uzyskanego z konkatencji fonów.

[dif_j,f_j]=wavread('difony\_j1.wav');

[dif_je,fje]=wavread('difony\je.wav');

[dif_em,fem]=wavread('difony\em.wav');

[dif_my,fmy]=wavread('difony\my.wav');

[dif_y_,fy_]=wavread('difony\y_.wav');

dl_d1=length(dif_j);

dl_d2=length(dif_je);

dl_d3=length(dif_em);

dl_d4=length(dif_my);

dl_d5=length(dif_y_);

dif_1=dif_j(100:dl_d1);

dif_2=dif_je(700:dl_d2-100);

dif_3=dif_em(1000:dl_d3-500);

dif_4=dif_my(100:dl_d4-1000);

dif_5=dif_y_(300:dl_d5-1000);

dif_jemy=[dif_1', dif_2', dif_3' ,dif_4' ,dif_5'];

wavplay(dif_jemy,f_j);%odtworzenie polaczonego dzwieku

%wavwrite(dif_jemy,f_j,'wynik\jemy_difony.wav');%zapis poloczonego dzwieku

dif_czas=(0:length(dif_jemy)-1)/(f_j);%obliczenie czasu trwania dzwieku

figure(3)

plot(dif_czas,dif_jemy);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" uzyskanego z syntezy difonow');

ylabel('a - amplituda');

xlabel('t - czas');

grid on;

l=length(dif_jemy);

Rys.3. Listing programu odpowiedzialnego za syntezę difonów i wyświetlenie wykresu.

Rys.4. Wykres sygnału „jemy” uzyskanego z konkatencji difonów.

%trifony

[tri_je,f_je]=wavread('trifony\_je.wav');

[tri_jem,fjem]=wavread('trifony\jem1.wav');

[tri_emy,femy]=wavread('trifony\emy.wav');

[tri_my_,fmy_]=wavread('trifony\my_.wav');

dl_t1=length(tri_je)

dl_t2=length(tri_jem)

dl_t3=length(tri_emy);

dl_t4=length(tri_my_);

trifon_1=tri_je(500:dl_t1-500);

trifon_2=tri_jem(2500:dl_t2-500);

trifon_3=tri_emy(6200:dl_t3-2000);

trifon_4=tri_my_(2500:dl_t4-2500);

tri_jemy=[trifon_1', trifon_2',trifon_3',trifon_4'];

wavplay(tri_jemy,fm*1.9);%odtworzenie polaczonego dzwieku

%wavwrite(tri_jemy,f_je,'wynik\trifon_jemy.wav');%zapis poloczonego dzwieku

trifon_czas=(0:length(tri_jemy)-1)/(f_je);%obliczenie czasu trwania dzwieku

figure(5)

plot(trifon_czas,tri_jemy);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" 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 „jemy” uzyskanego z konkatencji trifonów.

Zad.3

fon_h1=fon_jemy(600:800).*(1-hann(201)');

fon_h2=fon_jemy(1500:1700).*(1-hann(201)');

fon_h3=fon_jemy(2500:2750).*(1-hann(251)');

fon_h=fon_jemy;

fon_h(600:800)=fon_h1;

fon_h(1500:1700)=fon_h2;

fon_h(2500:2750)=fon_h3;

%wavplay(fon_h,fm*0.95); %odtworzenie polaczonego dzwieku

%wavwrite(fon_h,fm,'wynik\jemy_wygladz.wav');%zapis poloczonego dzwieku

figure(2)

plot(fon_czas,fon_h);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" 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.

dif_h1=dif_jemy(400:600).*(1-hann(201)');

dif_h2=dif_jemy(1000:1200).*(1-hann(201)');

dif_h3=dif_jemy(1600:1800).*(1-hann(201)');

dif_h4=dif_jemy(3800:4200).*(1-hann(401)');

dif_h=dif_jemy;

dif_h(400:600)=dif_h1;

dif_h(1000:1200)=dif_h2;

dif_h(1600:1800)=dif_h3;

dif_h(3800:4200)=dif_h4;

wavplay(dif_h,fm*0.95); %odtworzenie polaczonego dzwieku

%wavwrite(dif_h,fm,'wynik\jemy_difon_wygladz.wav');%zapis poloczonego dzwieku

figure(4)

plot(dif_czas,dif_h);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" 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.

tri_jemy_h1=tri_jemy(2150:2300).*(1-hann(151)');

tri_jemy_h2=tri_jemy(3700:3850).*(1-hann(151)');

tri_jemy_h3=tri_jemy(7350:7550).*(1-hann(201)');

tri_jemy_h=tri_jemy;

%Wygladzenie sygnalu

tri_jemy_h(2150:2300)=tri_jemy_h1;

tri_jemy_h(3700:3850)=tri_jemy_h2;

tri_jemy_h(7350:7550)=tri_jemy_h3;

wavplay(tri_jemy_h,fm*1.9); %odtworzenie polaczonego dzwieku

%wavwrite(tri_jemy_h,fm*1.9,'wynik\trifon_jemy_hamming.wav');%zapis poloczonego dzwieku

figure(6)

plot(trifon_czas,tri_jemy_h);%rysowanie wykresu

title('Wykres przebiegu dzwieku "jemy" 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.

Rys.13. Fragment wykresu sygnału przedstawiający nieciągłość

konkatencji podczas syntezy

Rys.14. Fragment sygnału przedstawiający wyrównanie nieciągłości

WNIOSKI do zad 2,3,4

W trakcie wykonywania zadania udało się konkatenacji fonemów, difonów oraz trifonów, w wyniku czego uzyskałem 3 wyrazy, które zostały zapisane do folderu: „wynik”.

Podczas oceny subiektywnej w trakcie przesłuchiwania powstałych dźwięków zauważyłem znaczące różnice w dźwiękach. Najczystsze nagranie otrzymałem w wyniku konkatenacji trifonów, najgorszą natomiast przy fonemach. Spowodowane jest to tym, że przy część końcowa trifonu łączy się z częścią początkową kolejnego tri fonu, co było niemożliwe przy konkatenacji fonemów. Po użyciu okna Hanninga widać niewielką poprawę jakości dźwięku w miejscach, gdzie zaszła konkatenacja.

Podczas oceny obiektywnej uzyskanego zsyntezowanego dźwięku można zauważyć odbiegające od rzeczywistego dźwięku różnice. Może to być spowodowane słabej jakości urządzeniem rejestrującym oraz brak profesjonalnego studia.


Wyszukiwarka

Podobne podstrony:
i9g1s1 wozniak lab4 sd
i9g1s1 wozniak lab4 sd
Lab4
Lab4
lab4 8
Systemy Operacyjne lab4, Politechnika Wrocławska, Systemy Operacyjne
[4]tabelka, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki, labo
lab4 opr
Lab4
lab4 wejściówka
SI LAB4
SI2 lab4 raport
pkm lab4
lab4 przetwSygnCzest a
L4 - pytania, Studia, Wytrzymałość materiałów II, lab4 wm2 studek
lab4 Kwerendy, bazy danych
[4]opracowanie, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki,
Lab4 Grudzinski Krawiec 14XI201 Nieznany

więcej podobnych podstron