274


WOJSKOWA AKADEMIA TECHNICZNA

im. Jarosława Dąbrowskiego

0x01 graphic

SYSTEMY DIALOGOWE

SPRAWOZDANIE Z ĆWICZENIA nr 3

Temat: Urządzenie automatycznego rozpoznawania sygnału mowy metodą rozpoznawania wzorców

(projekt dla małego słownika)

Wykonał: Adam Lipiński

Grupa: I0M1S1

1


1. TRĆ ZADANIA

1) Założenia:

- mały słownik wyrazów rozpoznawanych: 10 słów,

- jednostka fonetyczna: całe słowo.

2) Przygotować dane:

- sformułować słownik wyrazów rozpoznawanych;

- dokonać rejestracji wszystkich słów (każde słowo 15-krotnie, w oddzielnym pliku .wav);

- do rejestracji przyjąć: fs = 22050 Hz, 16 bitów/próbka, kodowanie

PCM, mono;

3) Zdefiniować wzór testowy(obserwacja) (współrzędne wektora obserwacji, np.: energia, długość - liczba próbek, liczba przejść przez zero, współczynniki FFT (widmo) od 3 do 10, współczynniki LPC, itp.)

4) Opracować procedurę uczenia - utworzyć wzorce słów:

- zdefiniować wzorzec,

- określić ciąg uczący,

- dokonać estymacji parametrów wzorców

5) Opracować procedurę rozpoznawania

6) Dokonać weryfikacji i testowania urządzenia:

- określić ciąg testowy

- wyznaczyć statystyki rozpoznawania (estymatory prawdopodobieństwa poprawnego rozpoznania, analiza błędów

rozpoznawania)

- zaproponować kierunki zmian w celu poprawienia jakości zbudowanego urządzenia ARM

Dokonać implementacji urządzenia w środowisku MATLAB.

2


2. WYNIKI

W celu realizacji zadania został sformułowany słownik składający się z 10 wyrazów (nagranych po 15 razy każdy). Zgodnie z zaleceniami każdy wyraz został zapisany w oddzielnym pliku typu wav. Przy nagrywaniu przyjąłem częstotliwość próbkowania wynoszącą 22kHz, rozdzielczość 16bitów na próbkę oraz tryb mono.

Nagrane wyrazy to:

 jeden;

 dwa;

 trzy;

 cztery;

 piec;

 szejsc;

 siedem;

 osiem;

 dziewiec;

 dziesiec;

System rozpoznawania wyrazów został zaimplementowany zgodnie z uproszczoną strukturą rozpoznawania sygnału mowy metodą rozpoznawania wzorców.

PROCEDURA UCZENIA

WZORCE


UKŁAD PORÓWNANIA

UKŁAD

DECYZYJNY

rozpoznana

mowa


0x08 graphic
tryb rozpoznawania

tryb uczenia

OBSERWA- CJA

ANALIZA

SYGNAŁU


sygnał

mowy


Rys.1. Uproszczona struktura rozpoznawania sygnału mowy metodą rozpoznawania wzorców.

3


%tryb uczenia for i=1:L

ocena=0;

for j=1:5

[z,fs]=wavread(strcat(sciezka2,'/', deblank(A(i,:)),'_',int2str(j),'.wav'));

z=z/max(abs(z));

dlugosc=length(z);

E=z'*z;

z1=z(2:dlugosc);

z2=z(1:dlugosc-1);

PPZ = sum(abs(sign(z1)-sign(z2)))/2;

MAX=max(abs(z));

LPC=sum(abs(lpc(z,12)));

parametry=[dlugosc,E,PPZ,MAX,LPC];

parametry=parametry.*wagi;


oc ocena=ocena+parametry;

end; tablica_ocen(i,:)=ocena/5;


end;

tablica_wynikowa=sum(tablica_ocen')*0.05;%dopuszczalna roznica wartosci

elementow miedzy wzorcem testowym i rozpoznowalnym

Rys.2. Listing fragmentu kodu programu odpowiedzialnego za tryb uczenia się wyrazów przez system.

W trybie testowym do budowy wektora obserwacji wykorzystane zostały takie wartości jak:

długość sygnału próbki;

energię sygnału:

N

E log z(n2

n1

liczbę przejść przez zero PPZ

0x08 graphic
N

0x08 graphic
0x08 graphic
0x08 graphic
PPZ signz(n signz(n 1

2 n2

gdzie:


s ignz(n 1

dla

z(n > 0


s ignz(n

1 dla

z(n 0


0x08 graphic
wartość największą M

0x08 graphic
0x08 graphic
M max z(n

1nN

wsłczynniki LPC (p=12);

Po obliczeniu wej wymienionych wartości dla każdego słowa wzorcowego, zostały one wymnożone przez odpowiednie wagi w celu polepszenia ich charakterystyk.

wagi=[1 0.8 0.5 0.2 0.1]

Kolejne liczby wektora wagi odpowiadają wartością wektora obserwacji.

wagi=[dlugosc, Energia, PPZ, MAX, LPC]

4


0x08 graphic
Następnie dla każdego wyrazu obliczana jest średnia wszystkich parametrów.

Po zakończeniu etapu uczenia się sumuje tablice ocen i wymnażam przez wsłczynnik 0,05, dzięki czemu otrzymuje dopuszczalną żnicę wartości elementów, którą wykorzystam do porównania wzorca testowego z rozpoznanym.

%tryb rozpoznawania for i=1:L

for j=6:15

[z,fs]=wavread(strcat(sciezka2,'/', deblank(A(i,:)),'_',int2str(j),'.wav'));

z=z/max(abs(z);

dlugosc=length(z);

E=z'*z;

z1=z(2:dlugosc);

z2=z(1:dlugosc-1);

PPZ = sum(abs(sign(z1)-sign(z2)))/2;

MAX=max(abs(z));

LPC=sum(abs(lpc(z,12)));

parametry2=[dlugosc,E,PPZ,MAX,LPC];

parametry2=parametry2.*wagi;


if sum((tablica_ocen(i,:)-


parametry2)')<=tablica_wynikowa(i)


tablica_koncowa(j-5,i)=1;


end;

end;

end;

display('tablica przedstawiajaca wynik rozpoznania,kolumny to odzielne

wyrazy'); tablica_koncowa rozpoznane=0; nie_rozpoznane=0; for i=1:10

for j=1:10

if tablica_koncowa(i,j)==1

rozpoznane=rozpoznane+1;


else

nie_rozpoznane=nie_rozpoznane+1;


0x08 graphic
end;

end;

end;

rozpoznane

nie_rozpoznane

display('Wynik procentowy badania');

zgodnosc=(rozpoznane)/(rozpoznane+nie_rozpoznane)*100%

Rys.3. Listing fragmentu kodu programu odpowiedzialnego za tryb rozpoznawania

wyrazów przez system oraz opracowanie i wwietlenie wyników.

5


W procesie rozpoznawania podobnie jak w etapie uczenia, także obliczam poprzednio wymienionych wartości dla każdego słowa rozpoznawanego, oraz w celu polepszenia wykrywania zostają one wymnożone przez odpowiednie wagi.

Sam etap porównywania wzorca testowego i rozpoznanego polega na odejmowaniu tablicy zbadanych wyrazów wzorcowych od kolejnych wyrazów badanych i porównaniu z dopuszczalną żnicę wartości elementów, którą uzyskałem po etapie uczenia.

0x08 graphic
Rys. 5. Zrzut ekranu uzyskanych obliczeń i wyników.

Kcowy etap polegał na podliczeniu poprawnych i niepoprawnych rozpoznań, obliczeniu procentowego rozpoznania wyrazów oraz wyświetleniu wyników.

6


3. WNIOSKI i SPOSTRZEŻENIA.

Cel ćwiczenia został osiągnty, ponieważ udało się zaprojektować i wykonać urządzenie automatycznego rozpoznawania sygnału mowy zgodnie z uproszczoną strukturą rozpoznawania sygnału mowy metodą rozpoznawania wzorców. Wynik

80% poprawnie rozpoznanych wyrazów jest zadowalający przy wykorzystaniu 5 wskaźników. Dzięki temu, że słownik składał się z małej liczby wyrazów, zdecydowałem się na rozpoznawanie wyrazów w pierwszej kolejności na podstawie ich długości wartości energii sygnału. Jest to jedna z najłatwiejszych metod przy tak małej liczbie wyrazów. Rozpoznanie wyrazów nadal nie było satysfakcjonujące, wobec czego wykorzystałem również liczbę przejść przez zero, wartość maksymalną i współczynniki LPC.

Błędy związane z wykryciem wyrazów były spowodowane prawdopodobnie nie najlepszego sprzętu do nagrywania, oraz brak odpowiedniego, wyciszonego miejsca do nagrywania.

Do poprawy jakości rozpoznania mowy, należałoby spróbować zwiększyć liczbę wzorcowych wyrazów.

7

1

0x01 graphic



Wyszukiwarka

Podobne podstrony:
274
274
Foucault Nadzorować i karać Część I S 14 157, 274 385
274 i 275, AP
Rozw�j fizyczny i poznawczy w wieku od 6-12 lat, s.274-283
274 , Na podstawie zapamiętanych lub zaobserwowanych podczas nauki szkolnej sytuacji wychowawczo-dyd
274 00, Uchwała Nr
274-282, materiały ŚUM, IV rok, Patomorfologia, egzamin, opracowanie 700 pytan na ustny
274 formularze
highwaycode pol c14 awarie, wypadki (s 91 95, r 274 287)
P Czapli˝ski 274 275
plik (274)
274.Trwale wartosci epoki staropolskiej
274 zadania funkcje kwadratowe
Pratkanis, Aronson Wiek propagandy str 263 274 id
1 (274)
274
274 Linz Cathie Cygańska szkatułka

więcej podobnych podstron