21
Pilot sterowany mową. Algorytm rozpoznawania mowy.

Pilot Sterowany Mową

Embed Size (px)

Citation preview

Page 1: Pilot Sterowany Mową

Pilot sterowany mową.

Algorytm rozpoznawania mowy.

Page 2: Pilot Sterowany Mową

Plan prezentacji• Schemat ideowy projektu• Powstawanie mowy• Model generacji sygnału mowy:

– Pobudzenie– Trakt głosowy– Układ decyzyjny „mowa dźwięczna/bezdźwięczna”

• Metoda funkcji autokorelacji• Metoda funkcji AMDF• Metoda filtra odwrotnego• Metoda cepstralna

• Algorytm kodera mowy standardu LPC-10• Rozpoznawanie mowy• Program testowy w Matlabie• Wnioski i plany dotyczące realizacji projektu

Page 3: Pilot Sterowany Mową

Schemat ideowy projektu

Page 4: Pilot Sterowany Mową

Powstawanie mowy• Powietrze płynie z płuc do tchawicy• Napięcie strun głosowych jest

regulowane za pomocą mięśni• Powietrze wprowadza struny w

drgania (częstotliwość zależy od napięcia mięśni)

• Powietrze jest dzielone na dyskretne okresowe impulsy

• Impulsy przechodzą przez gardło i jamę ustną ewentualnie nosową

• Impulsy są modulowane w aparacie mowy

• Aparat mowy może być kształtowany przez usta, szczęki, podniebienie, język

Page 5: Pilot Sterowany Mową

Model generacji sygnału mowy

Page 6: Pilot Sterowany Mową

Model generacji sygnału mowyPobudzenie:

b) dźwięczne: rytmiczne, energiczne rozchylanie się strun głosowych pobudzające trakt głosowy silnymi impulsami powietrza z płuc (sygnał okresowy złożony z szeregu delt Diraca)

c) Bezdźwięczne: struny cały czas otwarte, wpuszczają do traktu głosowego równomierny strumień powietrza (szum wszystkich częstotliwości)

Page 7: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda funkcji autokorelacji)

1

0

)()()(N

n

knsnskr ,2,1,0k

s(n) – fragment sygnału składający się z N próbek, powstały z sygnału oryginalnegopo filtracji dolnoprzepustowej filtrem o górnej częstotliwości granicznej 900Hz i wymnożeniu oknem Hamminga.

Page 8: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda funkcji autokorelacji)

c.d.

Wyznaczamy pierwsze globalne maksimum funkcji r(k) dla k>K0

)0(]35,03,0[ rrprog

fragment dźwięczny fragment bezdźwięczny

progrr max progrr max

T

pr

ff

K 0

fpr – częstotliwość próbkowaniafT – maksymalna dopuszczalna częstotliwość tonu podstawowego

Page 9: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda funkcji autokorelacji)

Progowanie

reszty dla ,0

)( dla ,)(

)( dla ,)(

PnsPns

PnsPns

))(max(3,0 nsP Gdzie za próg P przyjmuje się:

lub: 8,06,0 ),,min(3

33

1 KAAKP

A – wartości maksymalne w poszczególnych częściach sygnału s(n)

Page 10: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda funkcji AMDF)

(ang. Average Magnitude Difference Function)

2,1,0 ,)()()(1

0

kknsnskDN

n

fragment dźwięczny fragment bezdźwięczny

maxmin 3,0 DD maxmin 3,0 DD

Page 11: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda filtra odwrotnego)

• Sygnał kodowany przepuszczony przez filtr odwrotny do filtra traktu głosowego

)()(/1)( )(/)( zAzHzGzAGzH

Mniejsza dynamika niż sygnał oryginalny poza chwilami impulsowego pobudzenia traktu głosowego- umożliwienie stwierdzenia „dźwięczna/bezdźwięczna”- możliwość lepszej kompresji sygnału

Page 12: Pilot Sterowany Mową

Układ decyzyjny „mowa dźwięczna/bezdźwięczna”(metoda cepstralna)

)( Tt

)( 00 kT

20

Widmo Fouriera fragmentu mowy dźwięcznej jest iloczynem sumy impulsów Diracai widma transmitacji traktu głosowego.

Pobudzenie w dziedzinie czasowej:

Pobudzenie w dziedzinie częstotliwościowej:

Wyznaczamy odwrotnątransformatę Fourieraz modułu transformaty obliczonego widma –Otrzymujemy okres powtarzania się widma i związany z nim okres pobudzenia

))((ln))((ln))()((ln)()(ln1

)( 11)121

0

1

0

/2

jjjjknjN

k

N

m

Nkmj ePFeHFePeHFeemxmwN

nc

Page 13: Pilot Sterowany Mową

Model generacji sygnału mowy

Trakt głosowy:Model traktu głosowego typu IIR

Minimum 5 biegunów parami sprzężonych

Równanie czasowe filtra syntezy:

)1)(1()1)(1(

1)()(

15

15

11

11

1010

22

11

zpzpzpzp

G

zazaza

G

zA

GzH

10

1

)()()(k

k knsaneGns

Page 14: Pilot Sterowany Mową

Koder LPC-10

Page 15: Pilot Sterowany Mową

Algorytm kodera LPC-10

1. Preemfaza: (filtracja nierekursywna)

2. Okno:

3. Filtr traktu głosowego. Obliczenie współczynników filtra {ak,k=1,2,…,p} i wzmocnienia G

4. Filtracja dolnoprzepustowa:

5. Progowanie

6. Funkcja autokorelacji

7. Decyzja „dźwięczna/bezdźwięczna”

8. Okres tonu podstawowego:

9. Wyjściowy strumień bitowy:

)1(9375,0)()(1 nsnsns

)/2cos(46,054,0)( )()()( 12 Nnnwnwnsns

pkknsnskrkN

n

,...,2,1,0 ),()()(1

022

)(

)2(

)1(

)0()2()1(

)2()0()1(

)1()1()0(1

2

1

pr

r

r

rprpr

prrr

prrr

a

a

a

p

rRa 1

)()0(1

krarGp

kk

),()()(0

23 knskhnsM

k

maxkT

},,,,,{ 21 paaaGT

Page 16: Pilot Sterowany Mową

Rozpoznawanie mowy• Współczynniki cepstralne – powstają w wyniku zlogarytmowania modułu widma i

ponownego wyznaczenia prostej lub odwrotnej dyskretnej transformaty Fouriera. Pierwsze 10-15 to współczynniki rozwinięcia logarytmu z modułu obwiedni widma w szereg Fouriera, które charakteryzują kształt obwiedni.

• Wyznaczenie współczynników cepstralnych:

a) podwójna szybka transformacja Fouriera FFT

b) na podstawie p współczynników filtra predykcji:

11 ac

pkack

mac mk

k

mmkk

2

1

1

qkwccw kkk 1 ,

qkq

kqwk 1 ),sin(

21

Page 17: Pilot Sterowany Mową

Rozpoznawanie mowy (c.d.)Nieliniowa transformacja czasowa DTW (Dynamic Time Warping):

Porównanie sekwencji wektorów współczynników cepstralnych wzoru i badanego sygnału

ns - numer wektora cepstrum

k – numer współczynnika cepstralnego tego wektora

Macierz odległości euklidesowych pomiędzy cepstrami:

qkNncknC ssn

ksss 1 ,1 ,),( )(

qkNncknC wwn

kwm

ww 1 ,1 ,),( )()(

wwssww

p

kssws NnNnknCknCnnd 1 ,1 ,)),(),((),( 2

1

Page 18: Pilot Sterowany Mową

Rozpoznawanie mowy (c.d.)

Obliczamy najmniejszy zakumulowany koszt przejścia między lewym dolnym a prawym górnym rogiem macierzy tzw. odległość zakumulowana globalna

Uniezależnienie od wielkości macierzy (unormowanie wartości zakumulowanej)

wierszu)pierwszym wa(akumulacj ,,,2,1 ),1,()1,(1

s

n

kss Nnkdng

s

kolumnie) pierwszej wa(akumulacj ,,,2,1 ),1,(),1(1

w

n

kww Nnkdng

w

)( ),(),1(

)( ),(2)1,1(

)( ),()1,(

min),(

prawonndnng

skosnndnng

góranndnng

nng

wsws

wsws

wsws

ws

22

),(),(

ws

ws

NN

NNgwsa

Page 19: Pilot Sterowany Mową

Program testowy w Matlabie

Page 20: Pilot Sterowany Mową

Algorytm programu testowego

1. Nagranie wzorców (usunięcie cichych fragmentów na krańcach nagrania)

2. Wyznaczenie dla wzorców macierzy współczynników cepstralnych:

-wykorzystanie współczynników filtra LPC

3. Nagranie rozpoznawanego słowa

4. Obcięcie cichych fragmentów

5. Wyznaczenie macierzy współczynników cepstralnych dla słowa

6. Rozpoznanie słowa poprzez porównanie macierzy jego współczynników cepstralnych ze wzorcami metodą DTW

7. Wyświetlenie wyniku i wysłanie odpowiedniej komendy przez port COM

Page 21: Pilot Sterowany Mową

Wnioski i dalsze etapy

• Skuteczność (co należy zmienić aby polepszyć), interfejs (czy rozwijać?), rozbudowa układu nadajnika, problem przeniesienia kodu z Matlaba do C

• Co ma robić pierwszy gotowy projekt i jakie są planowane modyfikacje