Wojskowa Akademia Techniczna
Systemy dialogowe
Sprawozdanie laboratorium nr 2
Prowadzący:
Dr inż. Andrzej Wiśniewski
Piotr Jędrzejewski
Grupa: I0M1S1
TREŚĆ ZADANIA
0. Dokonać rejestracji słowa (słów) zawierającego:
- dwie samogłoski (różne);
- spółgłoskę nosową (m, n, ń);
- spółgłoskę trącą bezdźwięczną (f, h, s, ś, sz, cz);
- spółgłoskę zwartą (p, t, k, b, d, g).
Przyjąć: mono, częstotliwość próbkowania
=22050 Hz, liczba bitów na próbkę w konwersji A/C=16.
Zarejestrowane słowo stanowi L-próbkowy sygnał
, gdzie
. Będziemy analizować sygnał
pozyskany w środowisku umiarkowanie zakłóconym. Usunąć ciszę z sygnału
, wykonać wykres tego sygnału w funkcji czasu,
Przetwarzanie wstępne: z powodu takich czynników jak ofset konwertera A/D i szumu o częstotliwości 50 (60) Hz w sygnale, digitalizowany sygnał mowy ma niezerową wartość średnią, niezbędną dla wielu sposobów przetwarzania. Utworzyć sygnał
o zerowej wartości średniej:
dla
Wykonać wykres sygnału
w funkcji czasu.
Sygnał
podzielić na ramki (segmenty) o długości
256. Dla każdej ramki wyznaczyć:
wartość największą M
energię sygnału
współczynniki LPC (przyjąć p=12)
liczbę przejść przez zero PPZ
gdzie:
Wykonać odpowiednie wykresy dla sekwencji ramek sygnału
. Ocenić przebieg wykresów dla różnych fonemów sygnału mowy.
Wyznaczyć i porównać spektrogramy sygnału
:
pokazać wpływ oknowania (przyjąć okna: prostokątne i Hamminga)
dobrać szerokość i przekrycie okien.
Wybrać i narysować pięć ramek, po jednej z każdego z fonemów zarejestrowanego słowa. Dla każdej ramki:
dokonać analizy autokorelacyjnej [xcorr(sig)];
wyznaczyć 256-punktowe FFT z oknem Hamminga. Narysować widmo amplitudowe dla częstotliwości z zakresu
;
dokonać analizy formantów dla fonemów (tam gdzie to możliwe) za pomocą poniższych metod:
Metoda I:
wyznaczyć widmo amplitudowe
[abs(fft(sig)];
wyznaczyć widmo amplitudowe
[abs(fft(hamming(256) .* sig))];
wyznaczyć widmo mocy
[10 log10(abs(fft(hamming(256) .* sig)))];
Metoda II:
wyznaczyć widmo predykcji liniowej:
a=lpc(hamming(256) .* sig, 16);
h=abs(1 ./ fft([a zeros(1,256-17)]));
Wykonać wykresy widm i wyznaczyć częstotliwości formantowe (porównać wyniki w/w metod);
ramki rozszerzyć o 256 próbki zerowe i dla takiej ramki wyznaczyć widmo 512-punktowe („nowa” ramka powinna składać się z 256 próbek „starej” ramki w otoczeniu 128 próbek zerowych z przodu i z tyłu analizowanego sygnału mowy; zastosować 512-punktowe okno Hamminga); narysować wykres widma amplitudowego, porównać z widmem z punktu b)
REALIZACJA ZADANIA
Zadanie 1
Przetwarzanie wstępne: z powodu takich czynników jak ofset konwertera A/D i szumu o częstotliwości 50 (60) Hz w sygnale, digitalizowany sygnał mowy ma niezerową wartość średnią, niezbędną dla wielu sposobów przetwarzania. Utworzyć sygnał
o zerowej wartości średniej:
dla
Wykonać wykres sygnału
w funkcji czasu.
Do realizacji zadania nagrałem słowo `koszmar' z parametrami zalecanymi w treści zadania. Spełniało one wszystkie wymagania podane w treści zadania.
Rys. 1 Wykres sygnału w funkcji czasu
Rys. 2 Wykres sygnalu o zerowej wartosci sredniej w funkcji czasu
Zadanie 2
Sygnał
podzielić na ramki (segmenty) o długości
256. Dla każdej ramki wyznaczyć:
wartość największą M
energię sygnału
współczynniki LPC (przyjąć p=12)
liczbę przejść przez zero PPZ
gdzie:
Wykonać odpowiednie wykresy dla sekwencji ramek sygnału
. Ocenić przebieg wykresów dla różnych fonemów sygnału mowy.
Podzieliłem sygnał na ramki. W wyniku uzyskałem 88 ramek o długości 256 każda. Część sygnału została odrzucona, ponieważ długość uzyskanej ramki była mniejsza niż pożądana wielkość równa 256. Wyliczyłem wartość największą, energię sygnału, współczynniki LPC(dla p=12) oraz Liczbę przejść przez zero PPZ.
Rys. 3 Wykres maksymalnych wartosci w poszczególnych ramkach
Rys. 4 Energia sygnału w poszczególnych ramkach
Rys. 5 Wykres PPZ w poszczególnych ramkach
Rys. 6 Wykresy LPC
Wykres maksymalnych wartości w poszczególnych ramkach pozwala zauważyć granice pomiędzy fonemami słowa. Na jego podstawie możemy wywnioskować również gdzie znajdują się głoski bezdźwięczne i dźwięczne. Wykres energii może posłużyć do rozpoznawania dźwięczności głosek. Wykres liczby przejść przez zero informuje o położeniu dźwięków szeleszczących, które mają dużą liczbę PPZ. Wykresy LPC pokazuje, jaka jest odpowiedź filtru biegunowego na pobudzenie, czyli szacuje wartość przyszłych próbek na podstawie poprzednich. Obserwując wykres wartości maksymalnych oraz wykres energii sygnału, zauważyć możemy, że oba wykresy zachowują się podobnie z tym, że dla wartości maksymalnych bliskich zeru energia przyjmuje wartości ujemne.
Zadanie 3
Wyznaczyć i porównać spektrogramy sygnału
:
pokazać wpływ oknowania (przyjąć okna: prostokątne i Hamminga)
dobrać szerokość i przekrycie okien.
Spektrogram jest wykresem widma amplitudowego sygnału dla każdej chwili, dla której sygnał jest określony. Konstruuje się go dzieląc cały sygnał na części, dla których obliczone amplitudy składowych harmonicznych są wartościami spektrogramu. Argumentami są, więc częstotliwość i czas.
Z powyższych wykresów można wywnioskować, że duży wpływ na wyniki ma rozmiar okna. Przy dużym rozmiarze okna (większa dokładność w dziedzinie częstotliwości) daje się dostrzec formanty, które są pomoce przy analizowaniu sygnału. Jednak zmniejszamy dokładność odczytu w dziedzinie czasu. Zatem należy wybierać okno o średnim rozmiarze. Natomiast im większe przekrycie spektrogramu, tym wierniejsze jego odwzorowanie. Okno Hamminga powoduje zredukowanie tzw. Listków bocznych, które występują przy korzystaniu z okna prostokątnego. Dzieje się tak, ponieważ okno Hamminga ma łagodnie opadające zbocza. Przez co użycie tego okna daje dużo wyraźniejszy wykres.
Zadnie 4
Wybrać i narysować pięć ramek, po jednej z każdego z fonemów zarejestrowanego słowa. Dla każdej ramki:
dokonać analizy autokorelacyjnej [xcorr(sig)];
wyznaczyć 256-punktowe FFT z oknem Hamminga. Narysować widmo amplitudowe dla częstotliwości z zakresu
;
dokonać analizy formantów dla fonemów (tam gdzie to możliwe) za pomocą poniższych metod:
Metoda I:
wyznaczyć widmo amplitudowe
[abs(fft(sig)];
wyznaczyć widmo amplitudowe
[abs(fft(hamming(256) .* sig))];
wyznaczyć widmo mocy
[10 log10(abs(fft(hamming(256) .* sig)))];
Metoda II:
wyznaczyć widmo predykcji liniowej:
a=lpc(hamming(256) .* sig, 16);
h=abs(1 ./ fft([a zeros(1,256-17)]));
Wykonać wykresy widm i wyznaczyć częstotliwości formantowe (porównać wyniki w/w metod);
ramki rozszerzyć o 256 próbki zerowe i dla takiej ramki wyznaczyć widmo 512-punktowe („nowa” ramka powinna składać się z 256 próbek „starej” ramki w otoczeniu 128 próbek zerowych z przodu i z tyłu analizowanego sygnału mowy; zastosować 512-punktowe okno Hamminga); narysować wykres widma amplitudowego, porównać z widmem z punktu b)
Rys. 22 Autkorelacja fonemu k
Rys. 23 Autkorelacja fonemu o
Rys. 24 Autkorelacja fonemu sz
Rys. 25 Autkorelacja fonemu m
Rys. 26 Autkorelacja fonemu a
Z wykresów autokorelacji widać, że głoski dzwięczne w tym przypadku o, m, a maja reguralniejsze przebiegi autokorelacji z których da się łatwo odczytac lokalne maksima. Natomiast głoski bezdzwięczne k, sz maja przebiegi bez wyraźnych maksimów lokalnych co dobrze widac na wykresach.
Rys. 27 Widmo amplitudowe połowy zakresu częstotliwości fonemu k
Dla fonemu k widać maksima w okolicach 1kHz, 4.1kHz, 5kHz.
Rys. 28 Widmo amplitudowe połowy zakresu częstotliwości fonemu o
Maksima lokalne dla o występują w częstotliwościach około 400Hz, 1kHz 2.2kHz, 4kH
Rys. 29 Widmo amplitudowe dla połowy zakresu częstotliwości fonemu sz
Dla sz można wyróżnić następujące maksima w częstotliwościach około 2kHz, 4kHz
Rys. 30 Widmo amplitudowe połowy zakresu częstotliwości fonemu m
Dla m widmo jest jednostajne. Cięzko wyróżnić maksimum ale znajduje się ono w okolicy 1kHz. Głoska ma ograniczone widmno ponieważ jest głoską nosową.
Rys. 31 Widmo amplitudowe połowy zakresu częstotliwości fonemu a
Dla a wyrażnie widać maksima z racji tego iż a jest samogłoską. Występują one w okolicach 300Hz, 950Hz, 3kHz oraz 4kHz.
Rys. 32 Widmo amplitudowe ramki fonemu k
Rys. 33 Widmo mocy ramki fonemu k
Rys. 34 Widmo predykcji liniowej ramki fonemu k
Rys. 35 Widmo amplitudowe ramki fonemu o
Rys. 36 Widmo mocy ramki fonemu o
Rys. 37 Widmo predykcji liniowej ramki fonemu o
Rys. 38 Widmo amplitudowe ramki fonemu sz
Rys. 39 Widmo mocy ramki fonemu sz
Rys. 40 Widmo predykcji liniowej ramki fonemu sz
Rys. 41 Widmo amplitudowe ramki fonemu m
Rys. 42 Widmo mocy ramki fonemu m
Rys. 43 Widmo predykcji liniowej ramki fonemu m
Rys. 44 Widmo amplitudowe ramki fonemu a
Rys. 45 Widmo mocy ramki fonemu a
Rys. 46 Widmo predykcji liniowej ramki fonemu a
Częstotliwości formantowe są cechą charakterystyczną wyróżniającą dany język. Dla języka polkiego istnieje 7 charakterystycznych formantów. Jednak ogranicza się prace do poszukiwania od 3 do 5 formantów
Po analizie obu metod mogę stwierdzić że metoda druga daje bardziej jednoznacze wyniki czestotliwości formantowych. Dużo łatwiej odczytać z widma predkcji liniowej częstotliwości formantowe. Z drugiej strony metoda pierwsza dostarcza bardziej szczegółowych danych z których można odczytać więcej częstotliwości formantowych niż z metody drugiej.
Fonem |
1 formant [Hz] |
2 formant [Hz] |
3 formant [Hz] |
k |
1000 |
2000 |
4100 |
o |
400 |
1000 |
2200 |
sz |
2100 |
2300 |
4000 |
m |
300 |
- |
- |
a |
450 |
1100 |
3300 |
Metoda 1
Metoda 2
Fonem |
1 formant [Hz] |
2 formant [Hz] |
3 formant [Hz] |
k |
4100 |
8900 |
9800 |
o |
400 |
1000 |
3900 |
sz |
2100 |
2400 |
4100 |
m |
200 |
- |
- |
a |
350 |
950 |
3350 |
Jak widać winiki z obu metod sa podobne z wyjątkiem fonemu k dla którego ciężko mi było wyznaczyć formanty. Różnice w wynikach mogą wynikać z niedokładności przy odczycie wartości z wykresu oraz z wybrania złej ramki dla danego fonemu.
Rys. 47 Widmo amplitudowe ramki fonemu k z oknem Hamminga równym 512
Rys. 48 Widmo amplitudowe ramki fonemu o z oknem Hamminga równym 512
Rys. 49 Widmo amplitudowe ramki fonemu sz z oknem Hamminga równym 512
Rys. 50 Widmo amplitudowe ramki fonemu m z oknem Hamminga równym 512
Rys. 51 Widmo amplitudowe ramki fonemu a z oknem Hamminga równym 512
Porównując wykresy widma amplitudowego z oknem Hamminga 256 i oknem Hamminga 512 widać, że przy większym oknie Hamminga wykres jest dokładniejszy (występuje wieksza liczba prążków). Kształt wykresu jest zachowany jednak w związku z większą liczbą prążków wartości są większe.
Porównując wszystkie widma (amplitudowe, Hamminga, predykcji liniowej) wykresy te są do siebie zbliżone kształtem różnią się jednak wartością amplitud. Wynika to z różnych sposobów wyznaczania np. widmo amplitudowe predykcji liniowej wyznaczane jest na podstawie historii poprzednich próbek.
32