Pilot Sterowany Mową

Post on 18-Jul-2015

1.454 views 0 download

Transcript of Pilot Sterowany Mową

Pilot sterowany mową.

Algorytm rozpoznawania mowy.

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

Schemat ideowy projektu

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

Model generacji sygnału mowy

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)

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.

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

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)

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

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

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

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

Koder LPC-10

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

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

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

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

Program testowy w Matlabie

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

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