Pilot Sterowany Mową
-
Upload
biometria -
Category
Technology
-
view
1.454 -
download
0
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