VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS ROZPOZNÁVAČ ŘEČI S OMEZENÝM SLOVNÍKEM VERY LIMITED VOCABULARY SPEECH RECOGNIZER BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR KAMIL VYSTAVĚL I. PETR SYSEL Ph.D. BRNO 200
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechiky a kouikačích techoloií Ústav telekouikací Bakalářská práce bakalářský stuijí obor Teleiforatika Stuet: Kail Vystavěl ID: 06887 Ročík: 3 Akaeický rok: 2009/200 NÁZEV TÉMATU: Rozpozávač řeči s oezeý slovíke POKYNY PRO VYPRACOVÁNÍ: Cíle bakalářské práce je ipleetovat v prostřeí Matlab etou rozpozáváí řeči s oezeý počte rozpozávaých slov. Rozpozávač bue založe a etoě borceí časové osy. V prostřeí Matlab ipleetujte etoy extrakce přízaků z řečového siálu pro rozpozávač a vyberte ejvhoější přízaky. Část ostupých ahrávek řečových siálů použijte pro tréováí rozpozávače a část pro testováí jeho úspěšosti rozpozáváí. V závěru zhooťte výsleky rozpozávače. DOPORUČENÁ LITERATURA: [] Doňar B. Zaplatílek K. MATLAB - začíáe se siály.. vyáí. Praha: BEN 2006. 272 s. ISBN 80-7300-200-0 [2] Deller J. R. - Hase J. H. L. - Proakis J. G. Descrete-Tie Processi of Speech Sials. Reprit Eitio. New York: IEEE 2000. 908 s. ISBN 0-7803-5386-2 [3] Psutka J. Müller L. Matoušek J. Raová V. Mluvíe s počítače luveou řečí.. vyáí. Praha: Acaeia 2006. 752 s. ISBN 80-200-309- Terí zaáí: 29..200 Terí oevzáí: 2.6.200 Veoucí práce: I. Petr Sysel Ph.D. prof. I. Kail Vrba CSc. Přesea oborové ray UPOZORNĚNÍ: Autor bakalářské práce esí při vytvářeí bakalářské práce porušit autorská práva třetích osob zejéa esí zasahovat eovoleý způsobe o cizích autorských práv osobostích a usí si být plě věo ásleků porušeí ustaoveí a ásleujících autorského zákoa č. 2/2000 Sb. včetě ožých trestěprávích ůsleků vyplývajících z ustaoveí části ruhé hlavy VI. íl 4 Trestího zákoíku č.40/2009 Sb.
Aotace Bakalářská práce se zabývá ipleetací etoy rozpozáváí řeči s oezeý počte rozpozávaých slov v prostřeí Matlab. Rozpozávač je založe a etoě yaického proraováí realizovaé alorite borceí časové osy DTW a je urče pro rozpozáváí izolovaých slov. Z řečového siálu jsou vyčíslováy přízaky poocí eto krátkoobé aalýzy siálu v časové a kitočtové oblasti ále poocí eto a pricipu kepstrálí aalýzy a lieárí preiktiví aalýzy siálu. Přízaky vytvoří obraz slova vhoý pro kvatifikaci íry poobosti s obraze jiého slova. Aloritus borceí časové osy eliiuje vliv kolísáí tepa proluvy elieárí oralizací časové osy jeoho ze slov tak aby se obrazy slov co ejvíce shoovaly. Míra poobosti vou slov je vyčíslea jako vzáleost slov. Ve slovíku rozpozávače jsou uložey obrazy záých slov obraz ezáého slova je porová s obrazy slov ve slovíku a jsou vyčísley vzáleosti kažého záého slova s ezáý slove. Nezáé slovo je určeo jako shoé s tí slove ve slovíku ke kteréu á eješí vzáleost. Úspěšost klasifikace je závislá přeevší a volbě přízaků. Klíčová slova: rozpozáváí řeči borceí časové osy DTW vzáleost slov aalýza řečového siálu kepstrálí aalýza lieárí preiktiví aalýza. Abstract This bachelor thesis eals with the ipleetatio of voice iaostic etho with liite uber of recoize wors i Matlab eviroet. Recoizer is esie for recoitio of isolate wors a is base o the yaic prorai etho. This etho is realize by the yaic tie warpi alorith DTW. Features of the speech sial are calculate by ethos of short-ter aalysis i tie a frequecy oai a by ethos that are base o cepstral aalysis a liear preictive aalysis. The represetatio of the wor which is eerate fro its features is suitable for quatifyi the eree of siilarity with the represetatio of aother wor. I orer to achieve the hihest eree of siilarity the yaic tie warpi alorith eliiates ifluece of fluctuatio of the speech rate by oliear oralizatio tie axis of oe of the copare wors. The eree of the siilarity of the two copare wors is euerate as the wors istace. The represetatios of kow wors are store i a wor-book. The ukow wor is copare with all wors i the worbook a recoizer calculates istaces betwee every kow wor a the ukow wor. The ukow wor is efie as ietical with the kow wor that has the shortest istace to the ukow wor. The successfuless epes aily o the choice of the features. Keywors: voice recoitio yaic tie warpi DTW wors istace speech sial aalysis cepstral aalysis liear preictive aalysis. VYSTAVĚL K. Rozpozávač řeči s oezeý slovíke. Bro: Vysoké učeí techické v Brě Fakulta elektrotechiky a kouikačích techoloií 200. 47 s. Veoucí bakalářské práce I. Petr Sysel Ph.D. 3
Prohlášeí Prohlašuji že svoji bakalářskou práci a téa Rozpozávač řeči s oezeý slovíke jse vypracoval saostatě po veeí veoucího bakalářské práce a s použití oboré literatury a alších iforačích zrojů které jsou všechy citováy v práci a uveey v sezau literatury a koci práce. Jako autor uveeé bakalářské práce ále prohlašuji že v souvislosti s vytvořeí této bakalářské práce jse eporušil autorská práva třetích osob zejéa jse ezasáhl eovoleý způsobe o cizích autorských práv osobostích a jse si plě věo ásleků porušeí ustaoveí a ásleujících autorského zákoa č. 2/2000 Sb. včetě ožých trestěprávích ůsleků vyplývajících z ustaoveí 52 trestího zákoa č. 40/96 Sb. V Brě e...... popis autora 4
Obsah Úvo... 6 Zpracováí řečového siálu... 7. Kóováí siálu... 7.2 Zpracováí siálu... 7.3 Metoy zpracováí v časové oblasti... 8.3. Krátkoobá eerie... 8.3.2 Krátkoobá fukce střeího počtu průchoů siálu ulou... 8.3.3 Autokorelačí koeficiety... 9.4 Metoy zpracováí v kitočtové oblasti... 0.4. Pásová filtrace... 0.5 Hooorfí aalýza....5. Kepstrálí aalýza řeči....5.2 Melovské kepstrálí koeficiety... 2.6 Lieárí preiktiví aalýza... 3.6. Výpočet LPC koeficietů... 4.6.2 PARCOR koeficiety... 5 2 Rozpozáváí slov... 6 2. Dyaické proraováí - borceí časové osy... 6 2.. Popis fukce DTW... 6 2..2 Výpočet vzáleosti... 8 2..3 Celkový aloritus borceí časové osy... 20 3 Realizace rozpozávače... 2 3. Popis vytvořeých fukcí... 2 3.. Aalýza siálu... 2 3..2 Tréováí slovíku... 25 3..3 Realizace aloritu DTW... 26 3.2 Uživatelská aplikace pro rozpozáváí slov... 3 3.2. Popis aplikace... 32 3.3 Výsleky práce... 34 3.3. Úspěšost rozpozáváí... 34 4 Závěr... 37 Literatura... 38 Seza použitých sybolů a zkratek... 39 A Obsah přiložeého CD ROM... 40 B Tabulky s porobýi výsleky klasifikace... 4 B. Itezita v pásech... 4 B.2 LPC koeficiety... 42 B.3 Kepstrálí koeficiety... 44 B.4 Melovské kepstrálí koeficiety... 45 B.5 PARCOR koeficiety... 46 5
Úvo Využití řeči pro kouikaci s počítače zaeá že počítač usí být schope přijout akustický siál aalyzovat jej získat iforaci v ě obsažeou a tuto iforaci poto ále zpracovávat. Proces rozpozáí vysloveého izolovaého slova rozělí a vě části: - Zpracováí řečového siálu - rozpozáváí slov. Zpracováí řečového siálu zahruje úpravu siálu ále výpočet ěkterých paraetrů siálu. Zajíavé jsou charakteristiky které esou určitou iforaci o hláskách v proeseé slově tey charakteristiky jejichž hoota je závislá právě a to jaká hláska byla vyslovea. Přito charakteristiky usí být álo ovlivňováy tí že slovo proáší růzí luvčí. V. kapitole buou popsáy ěkteré etoy krátkoobé aalýzy siálu v časové oblasti v kitočtové oblasti etoy a pricipu hooorfí aalýzy siálu a etoy lieárí preiktiví aalýzy siálu. S využití vypočítaých charakteristik lze porovávat a určitý způsobe vyjářit poobost vou slov. Je však potřeba kopezovat časové rozíly eje v celkové élce proeseých slov ale také v élce jeotlivých částí hlásek uvitř porovávaých slov. Metoa uožňující tuto elieárí oralizaci élky proeseého slova kterou se buu zabývat je etoa yaického proraováí založeá a aloritu borceí časové osy popsaé v kapitole 2. Po rozpozáí slova tz. po zjištěí iforace obsažeé ve slově ůže ásleovat reakce a přijatou iforaci. Další zpracováí rozpozaého slova se v této práci ebuu zabývat. Ve 3. kapitole se zabývá realizací výpočtu charakteristik siálu a rozpozáváí s využití pozatků uveeých v přeešlých částech práce. Také jsou v í uveey zpracovaé výsleky klasifikace které jse získal při testováí rozpozávače. 6
Zpracováí řečového siálu. Kóováí siálu Aby ohl počítač přijíat iforaci obsažeou v řeči je uté převést akustický siál o fory ve které je ožé siál ále zpracovávat. Akustické kity lze síat ikrofoe. Spojitý elektrický siál je ále převee o číslicového tvaru - proces iitalizace. Teto proces zaeá reukci časově spojitého siálu abývajícího ekoečého ožství hoot a posloupost číselých úajů přičež kažý úaj je z koečého počtu hoot. Pro rozpozávač řeči jse použil oulaci PCM se vzorkovací kitočte f vz = 8 khz a 6bitový kóováí..2 Zpracováí siálu Použitá etoa aalýzy řečového siálu vychází z pozatku že se jeho vlastosti v čase ěí poalu [4 kapitola 3]. Díky tou lze řečový siál - proeseé slovo - rozělit a krátké úseky ikroseety o élce řáově esítek iliseku a kažý úsek zpracovávat zvlášť tzv. krátkoobá aalýza. Metoy krátkoobé aalýzy lze rozělit a: - Metoy zpracováí v časové oblasti - etoy zpracováí v kitočtové oblasti - hooorfí aalýza - lieárí preiktiví aalýza. Z kažého ikroseetu je vypočte a záklaě ěkteré z eto krátkoobé aalýzy jee ebo více přízaků charakterizující aý úsek slova. Celé slovo poto je reprezetováo přízake ebo vektore přízaků joucích po sobě tak jak jou po sobě jeotlivé ikroseety. Posloupost vektoru přízaků se ozačuje jako obraz slova. Rozěleí slova a jeotlivé seety je realizováo váhovou posloupostí tzv. okéke která zajišťuje výběr ěkterých vzorků z celého slova. Váhová fukce přiřazuje určitou váhu kažéu vzorku siálu tak že eulovou váhu á pouze M vzorků joucích po sobě. Tí je z celého slova vybráa je jeho určitá část. Existuje více typů okéka zíí 2 ejpoužívaější: - Pravoúhlé okéko - kažý vzorek ikroseetu á stejou váhu [4 str. 35] w[ ] = 0 pro pro 0 ostati M. - Haiovo okéko - vzorky a krajích ikroseetu ají eší váhu vzorky uprostře ají větší váhu [4 str. 35] w[ ] = 0.54 0.46 cos[ 2π / M 0 ] pro pro 0 M ostati. 2 Kažý ikroseet je posuut o b vzorků oproti přechozíu b= 2 3... M. Je-li b<m poto se seety vzájeě překrývají. Jeotlivé ikroseety získáe součie siálu a příslušého okéka okéko pře kažý ásleující výpočte ikroseetu posuee o b vzorků. 7
.3 Metoy zpracováí v časové oblasti.3. Krátkoobá eerie Defiice krátkoobé eerie siálu [4 str. 36]: E K = = x[ ] w[ ] 2 3 x[] je vzorek siálu w[] je typ okéka. Výsleke fukce krátkoobé eerie siálu je hoota která je úěrá průěré hootě eerie v ikroseetu. Tato charakteristika je citlivá a velké zěy úrově siálu protože kvarát v efiici fukce ještě zvyšuje vysokou yaiku řečového siálu. Teto problé lze ostrait využití fukce krátkoobé itezity [4 str. 37] I = k= x[ ] w[ ]. 4 Využití těchto charakteristik je apř. při oělováí seetů řeči o seetů ticha ebo oělováí zělé o ezělé části řečového siálu..3.2 Krátkoobá fukce střeího počtu průchoů siálu ulou Defiice fukce: ke Z = k= s x[ ] s x[ ] w[ ] s x[ ] = pro pro x[ ] 0 x[ ] < 0 5 6 a w[] je pravoúhlé okéko. [4 str. 36] Z průběhu haroického siálu je patré že průěrý počet průchoů siálu ulovou úroví je rove vojásobku kitočtu siálu. Lze říci že tato charakteristika ese určitou iforaci o spektrálích vlastostech siálu x[]. Tato etoa se využívá v růzých oifikacích apř. siál je erivová a ásleě ěřeý počet průchoů ulou opovíá počtu lokálích extréů v řečové siálu. Může být ěřea okažitá vzáleost ezi věa bezprostřeě ásleujícíi průchoy ulou aj. Tato charakteristika se využívá apř. při určováí začátku a koce slova s velký aitiví šue určováí záklaího hlasivkového tóu přízaky v jeouchých klasifikátorech slov aj. Kitočtový obsah siálu vziklého vysloveí růzých hlásek je růzý. Z obr. je viět že ezělá hláska C á charakter šuového siálu a obsahuje přeevší vyšší kitočty tz. siál á velký počet průchoů siálu ulou zatíco zělá hláska E á charakter perioického siálu o určité výšce tóu obsahuje ižší kitočty tz. počet průchoů siálu ulou je eší a přibližě stejý v kažé seetu. 8
Obr. Zobrazeí hoot střeího počtu průchoů ulou ve slabice CE..3.3 Autokorelačí koeficiety Autokorelačí fukce iskrétího siálu je efiováa vztahe [5 str. 4] = R k = x[ ] x[ k ]. 7 V přípaě seetovaého siálu o élce oka N autokorelačí fukce abývá eulových hoot je za poíky že k < N a upravíe hraice suy [5 str. 4] R k N k = = x[ ] x[ k ] R k = 0 pro pro k = 0... N k N. 8 Autokorelačí fukce vyjařuje íru vitří poobosti siálu. Autokorelačí fukce perioického siálu je také perioická se stejou perioou je to vžy fukce suá v boě k = 0 je axiálí hoota fukce a tato hoota je rova eerii siálu. Poku všechy koeficiety Rk poělí hootou R0 získá orovaé autokorelačí koeficiety [5 str. 4] R k r k = r k. R0 9 Pro seetovaý siál je axiálí počet eulových autokorelačích koeficietů rove élce seetu. Protože je siál seetu časově oeze při rostoucí hootě k klesá počet čleů suy tz. zešuje se rozkit autokorelačí fukce. 9
Autokorelačí koeficiety lze využít jako přízaky k rozpozáváí řeči také lze pole ich určovat zělost či ezělost seetu proluvy přeevší se však využívají k výpočtu koeficietů lieárí preiktiví aalýzy..4 Metoy zpracováí v kitočtové oblasti.4. Pásová filtrace Aalyzovaý siál je přivee a vstup baky filtrů přičež jeotlivé filtry jsou pásové propusti s úzkou šířkou pása. Kažý filtr přeáší jiou část spektra siálu tak aby bylo celé spektru rozěleo o více kaálů z ichž kažý přeáší aý filtre vybraou část spektra. Rozělíe celé přeášeé páso kitočty o 0 Hz o poloviy vzorkovacího kitočtu a Q kaálů ozače kaál q q=0...q. Kaál 0 obsahuje siál po filtraci olí propustí s ezí kitočte f. V kaálu bue siál filtrovaý pásovou propustí s olí ezí kitočte f =f a horí ezí kitočte f h =3f. Střeí kitočet pásového filtru je f s =2f. Šířka pása pásové propusti je B=2f. Siály v kaálech až Q jsou filtrováy pásovýi propusti přičež Q pásová propust á střeí kitočet shoý s poloviou vzorkovacího kitočtu - chová se tey jako horí propust s ezí kitočte f vz /2 f. Pásové propusti kaálů až Q 2 ají šířku pása a střeí kitočet f vz B = 2 Q f s = Bq. 0 Střeí kitočty jeotlivých pásových propustí jsou tey o sebe ekviistatě vzáley o šířku pása B. Obr. 2 Příkla oulových kitočtových charakteristik 4pásové baky filtrů. Pro ávrh baky pásových filtrů se ejvíce hoí číslicové filtry typu FIR tj. s koečou ipulsí oezvou. Pro ávrh stačí avrhout filtr pro kaál 0 - olí propust. Ostatí filtry - 0
pásové propusti a horí propust resp. jejich ipulsí oezvu opočítá oulací ipulsí oezvy olí propusti fukcí cosius pole vztahu: [2 0. cvičeí str. 4] ] = h [ ]cos pπ h q [ 0 0 p 2 ke h q [] je ipulsí oezva trasforovaé pásové propusti h 0 [] je ipulsí oezva olí propusti a p je hoota relativího kitočtu f r tj. poěr požaovaého střeího kitočtu filtru f s a poloviy vzorkovacího kitočtu f vz /2. Výsleke je kitočtová trasforace filtru o požaovaého pása. V jeotlivých kaálech lze poto počítat jako přízaky hooty úěré itezitě popř. eerii v aých kitočtových pásech - krátkoobá itezita eerie v pásu. V rozpozávači používá 9pásovou baku filtrů..5 Hooorfí aalýza Hooorfí aalýza je elieárí postup zpracováí siálů založeý a zobecěé pricipu superpozice. Vzik řečových kitů je oelová kovolucí buicí fukce a ipulsí oezvy hlasového ústrojí. Buicí fukcí je u zělé řeči perioický sle pulzů a u ezělé řeči áhoý šu. Hooorfí aalýza uožňuje oělit o sebe čley kovolutorího součiu tzv. hooorfí filtrace..5. Kepstrálí aalýza řeči Kepstrálí aalýza patří ezi etoy krátkoobé aalýzy řeči vychází z vlastostí hooorfích systéů blíže popsaých v [4 část 4.5.]. Měje iskrétí siál x[] vziklý kovolucí posloupostí x [] a x 2 [] [4 str. 5] x[ ] = x[ ] x2[ ]. 3 Postup výpočtu tzv. koplexího kepstra X [] je uvee a obr. 3 výpočet tzv. kepstra c[] je obobý pouze s tí rozíle že v ruhé bloku je loaritus absolutí hooty spektra vstupího siálu. Obr. 3 Postup výpočtu koplexího kepstra. [4 str. 53] Diskrétí Fourierova trasforace á vlastost že kovoluce přeětů opovíá po trasforaci součiu obrazů. Při využití této vlastosti a loaritováí součiu obrazů získáe součet oifikovaých obrazů. Zpětou iskrétí Fourierovou trasforací získáe součet vou oifikovaých přeětů. Koplexí kepstru obsahuje součet složek buzeí a oezvy hlasového ústrojí. Koplexí kepstru perioického sleu pulzů buzeí zělé řeči je áo perioickýi pulzy v itervalech úěrých perioě záklaího tóu hlasivek. Koplexí kepstru ipulsí oezvy hlasového ústrojí se objevuje pouze pro blízké 0. Proto pro oěleí složek kepstra stačí vyásobit kepstru tzv. kepstrálí okéke l[] poku chcee získat složku s paraetry hlasového ústrojí [4 str. 55] l[ ] = 0 pro pro < 0 0 4
ebo kepstru ásobíe okéke [4 str. 56] 0 pro l[ ] = pro < 0 0 5 poku chcee získat složku buzeí hlasového traktu. Hootu 0 volíe tak aby byla eší ež perioa záklaího tóu hlasu. Jako obraz seetu siálu používá 0 koeficietů reálého kepstra přičež. koeficiet kepstra který je úěrý loaritu eerie siálu vyechává používá tey 2. až. koeficiet..5.2 Melovské kepstrálí koeficiety Metoa zahruje zpracováí siálu a pricipu kepstrálí aalýzy a o určité íry respektuje vlastost liského sluchu - elieárí víáí kitočtu zvuku. Tuto vlastost ozačovaou jako subjektiví výška lze oelovat kopresí křivkou tzv. elovskou kitočtovou škálou efiovaou vztahe [3 str. 62] f f = 2595 lo 0 700 6 ke f [Hz] je kitočet v lieárí škále f [el] je opovíající kitočet v elovské elieárí škále. Obr. 4 Baka elovských filtrů Zohleěí elieárího víáí kitočtu liský sluche je o aalýzy zaveeo elovskou filtrací siálu realizovaou bakou trojúhelíkových pásových filtrů s rovoěrý rozložeí střeích kitočtů jeotlivých filtrů a kitočtové ose s ěřítke v elovské škále. Je-li vzorkovací kitočet 8 khz je přeášeá šířka pása o 0 o 4000 Hz čeuž v elovské škále opovíá páso o 0 o 246 el. Pro tuto šířku pása jse zvolil rozěleí a 5 páse tey 5 trojúhelíkových filtrů. Kitočtové 2
charakteristiky použitých filtrů jsou zobrazey a obr. 4 v elovské kitočtové škále tvoří charakteristiky rovoraeé trojúhelíky. Na obr. 5 je blokově zázorě výpočet elovských kepstrálích koeficietů. Nejprve je vypočteo spektru vstupího seetu x[] zpracovávaého slova poocí iskrétí Fourierovy trasforace DFT. Násleuje pásová filtrace bakou elovských filtrů. Další kroke je loaritováí což je přízačé pro kepstrálí aalýzu. Posleí krok výpočtu elovských kepstrálích koeficietů c je zpětá iskrétí Fourierova trasforace IDFT. Jelikož aplituové spektru X f je reálé a syetrické filtrace ai loaritováí tuto vlastost siálu ezěí je ožé IDFT reukovat a iskrétí kosiovou trasforaci [3 str. 64] M ' jπ c j = lo Y k cos k 05 pro j = k= M ' 0... M 7 ke M je počet páse elovských pásových filtrů a M je počet elovských kepstrálích koeficietů. Obr. 5 Postup výpočtu elovských kepstrálích koeficietů [3 str. 65] Stejě jako u kepstrálích koeficietů používá elovských kepstrálích 0 koeficietů přičež. koeficiet úěrý loaritu eerie siálu vyechává používá tey 2. až. koeficiet..6 Lieárí preiktiví aalýza Veli efektiví etoou aalýzy řečového siálu je lieárí preiktiví kóováí LPC - Liear Preictive Coi. Jeá se o oha paraetrů oelu vytvářeí řeči z aalýzy seetu řečového siálu při relativě přijatelé výpočetí áročosti. Pricipe lieárí preikce je přepokla že vzorek siálu x[] lze vypočítat lieárí kobiací určitého počtu přeešlých váhovaých vzorků siálu pole vztahu [5 str. 42] x *[ ] = M = a x[ ] 8 ke a jsou koeficiety preiktoru LPC koeficiety a M je řá preiktoru. Úlohou lieárí preiktiví aalýzy je výpočet LPC koeficietů aby byl preiktor schope s co eješí chybou přepověět ásleující hootu vzorku. Přepoklááe-li že krátký úsek aalyzovaého siálu je perioický ve skutečosti je kvaziperioický lze jej popsat oezeý počte LPC koeficietů. V této práci používá preiktor 0. řáu pro popis seetů siálu. Preiktor je číslicový filtr s koečou ipulsí oezvou FIR a jeho koeficiety obsahují iforaci o spektrálích vlastostech aalyzovaého siálu. Přeosová fukce preiktoru je ásleující H z = M = a z. 9 3
Srováí kitočtové charakteristiky filtru popsaého LPC koeficiety a Fourierovy aalýzy siálu je veli ázorou ilustrací že LPC koeficiety popisují kitočtové vlastosti seetu siálu - viz obr. 6. Obr. 6 Porováí spektra seetu hlásky A určeého poocí Fourierovy aalýzy teká čára a z LPC koeficietů silá čára..6. Výpočet LPC koeficietů Nejčastější etoou pro aalýzu řeči je autokorelačí etoa výpočtu koeficietů lieárí preikce. Protože zkouaý siál eí přísě perioický liší-se téěř vžy oha ásleujícího vzorku x [] o skutečé hooty vzorku x[] a rozíl obou hoot je chyba ohau vzorku [5 str. 43] e[ ] = x[ ] x'[ ] = x[ ] M =! a x[ ] 20 ke a je LPC koeficiet a M je řá preiktoru. Celkové chyba E přes celý seet je vyjářea jako součet kvarátů všech chyb jeotlivých vzorků [5 str. 43] E = N = 2 e [ ] = N x[ ] M = = a x[ ] 2 2 ke N je počet vzorků v jeo seetu. Požaavek je aby celková chyba E byla iiálí a o toho je vyvoze výpočet a optializace koeficietů a. Miiu fukce chyby siálu E je v boě [3 str. 47] E a = 0 M. Řešeí a po úpravách tohoto vztahu je ásleující [5 str. 44] M = a R µ = R µ µ M 22 23 4
kterou lze přepsat o aticového tvaru [5 str. 44] R0 R.. R M R R0.. R M 2 R2 R.. R M 3............... R M a R R M 2 2 2 a R.. =.... R0 a R M M 24 ke R je autokorelačí fukce aalyzovaého seetu. Protože atice autokorelačích koeficietů je syetrická v Töplitzově tvaru lze k výpočtu koeficietů a použít efektiví aloritus řešeí pole Levisoa a Durbia vyjáře třei rekurzivíi rovicei [5 str. 44] R ai R i i a = = =... M e 25 a j = a j a a j j =... 26 2 e = a e počátečí hooty pro výpočet jsou e 0 = R0 a 0 =. 0 27 28 Při výčtu a eá sua v rovici 25 sysl a je třeba ji ve vztahu euvažovat. U LPC koeficietů jsou zaveey va iexy:. iex začí pořaí LPC koeficietu v aé řáu preiktoru 2. iex ozačuje řá preiktoru. Výpočet koeficietů je prováě tak že jsou postupě počítáy LPC koeficiety ejprve. řáu jeiý koeficiet ásleě 2. řáu 3. řáu at. až o řáu M..6.2 PARCOR koeficiety PARCOR koeficiety PARtial CORrelatio coefficiets jsou alší ožostí popisu řečového siálu etoou lieárí preiktiví aalýzy. Přepokláeje že áe vypočítáy LPC koeficiety řáu až N ozačíe je a ke začí řá preiktoru =... N a začí pořaí LPC koeficietů v aé řáu přito =.... PARCOR koeficiety řáu N ozačey k =... N získáe výběre z LPC koeficietů řáu až N je vybrá posleí koeficiet z kažého preiktoru k = a. PARCOR koeficiety je ožé získat při výpočtu LPC koeficietů výše uveeou autokorelačí etoou eboť jsou postupě vyčíslováy LPC koeficiety všech řáů o prvího až o hleaého. V práci používá PARCOR koeficiety 0. řáu. 5
2 Rozpozáváí slov Vzhlee k zaáí práce se oezí a rozbor úlohy rozpozáváí izolovaých slov. Obtížost úlohy rozpozáí proeseého slova je áa přeevší těito ůvoy: - Hlas jeotlivých osob řečíků je růzý barva hlasu tepo řeči přízvuk protože kažý člověk artikuluje jiý způsobe a á jié paraetry hlasového ústrojí růzé rozěry a tvar utiy ústí hrelí osí růzý kitočet kitáí hlasivek ap.. - Hlas jeé osoby je růzý v závislosti a fyzické i psychické stavu závisí a hlasitosti proeseí slova. Přeevší se v jeo slově ěkolikrát proeseé jeí řečíke ěí časováí jeotlivých částí slova a jeho celková élka. - Akustické pozaí á začý vliv a rozpozáí slova. Např. při proeseí slova ůže jeho část o alé hlasitost být veli ovlivěa zkreslea okolí šue. Pro rozpozáí řeči je většiou slovo ejříve zpracováo poocí ěkteré z eto krátkoobé aalýzy. Tí získáe obraz proeseého slova. Obraz je vyjáře posloupostí krátkoobých charakteristik - číselých úajů přízaků. Obraz slova je pak zařaze o jeé z tří které zastupují slova uložeá v slovíku. V práci se zabývá etoou yaického proraováí aplikací aloritu DTW yaic tie warpi. 2. Dyaické proraováí - borceí časové osy Metoa yaického proraováí uožňuje zařait ezáé slovo o tříy a záklaě výpočtu vzáleosti obrazu slova k vzorový obrazů jeotlivých tří. Slovo je pak přiřazeo o tříy jejíž obraz á eješí vzáleost k obrazu ezáého slova. Aby slova ohla být porováváa je třeba eliiovat vliv kolísáí tepa při proluvě. Při porováváí vícekrát vysloveého stejého slova jeí řečíke lze pozorovat že siály se o sebe liší přeevší v časové oblasti a ikoliv v oblasti spektra siálu. Časové kolísáí částí porovávaých slov lze vyřešit elieárí oralizací časové osy tzv. borceí časové osy fukce borceí časové osy fukce DTW jeoho ze slov tak aby se obrazy slov co ejvíce shoovaly. Metoa yaického proraováí je veli používaá přeevší íky své jeouchosti. 2.. Popis fukce DTW Měje vektor přízaků A který je výsleke síáí slova ikrofoe iitalizací a kóováí siálu seetací a výpočte přízaků ěkterou z eto krátkoobé aalýzy siálu. Stejý způsobe byl již říve získá obraz slova B určeý k porováváí. Cituji [4 str. 30]: A = { a a2... a... a I } B = { b b2... b... b J }. 29 a je vektor přízaků testovaého slova b je vektor přízaků referečího slova. Aloritus s fukcí DTW poto hleá v roviě optiálí cestu = ψ která iializuje fukci D celkové vzáleosti ezi obrazy A a B I D A B = [ a b ψ ] = 30 3 6
přičež [ a b ψ ] je lokálí vzáleost ezi vektore přízaků testovaého slova a vektore přízaků referečího slova. Koec citace. Aloritus porovává lokálí vzáleost přízaků obrazů testovaého a referečího slova. V kažé kroku je fukce v určité boě roviy aloritus v okolí tohoto bou aleze vektory přízaků ax a by jejichž lokálí vzáleost je eší ež vzáleost všech ostatích vektorů přízaků v aé okolí. Tí je určea ílčí část průběhu fukce DTW z aktuálího bou v roviě o bou XY aktuálí boe v roviě se stae teto ově alezeý bo a aloritus zovu zače vyhleávat bo v okolí ke je lokálí vzáleost eješí. Nová časová proěá k = 2...K se zvyšuje o s kažý kroke aloritu. K je hoota kterou proěá k abue tehy až se fukce DTW ostae o kocového bou. Obr. 7 Příkla průběhu fukce DTW při porováváí hoot ASCII kóu vou slov. Průběh časově proěých a ůžee vyjářit jako fukce proěé k [4 str. 30]: = i k = j k. Průběh fukce DTW v roviě á určitá oezeí která usí splňovat. 32 U rozpozáváí izolovaých slov je jeozačě efiová počátek fukce v boě a koec fukce v boě I J. Fukce usí vžy začíat v počátečí boě a usí vžy ojít o kocového bou. [4 str. 30] i = j = i K = I j K = J. 33 2 Lokálí oezeí strosti vyezující okolí ve které bue aloritus vyhleávat iiálí vzáleost ezi vektory přízaků testovaého a referečího slova. Obecě lokálí oezeí je [4 str. 32] 7
0 i k i k P 0 j k j k Q. 34 Poku zvolíe P ebo Q větší ež ůže fukce DTW ěkteré seety vyechat velké hooty P ebo Q zaeají ožost průběhu fukce s velkou kopresí časové osy ebo přeskočeí více seetů v jeo kroku proto se volí P Q = 2 3. V tab. je uveeo ěkolik typů lokálích oezeí. 3 Lokálí oezeí souvislosti je takové oezeí že poku se r-krát po sobě pohybuje aktuálí bo ik jk ve stejé sěru apř. ve sěru jeé z os poto se v toto sěru esí pohybovat oku se ebue bo pohybovat alespoň s-krát ve sěru jié. 4 Globálí oezeí přepokláající že kolísáí tepa jeotlivých ílčích částí proluvy slova při proeseí stejého slova obvykle epřekračuje určité eze. Proto lze těito hraicei oezit přípustou oblast pohybu fukce DTW. [4 str. 32] i k j k u 35 přičež u je vhoě zvoleé celé číslo. Toto číslo usí být větší ež je rozíl J - I aby byl kocový bo fukce zahrut o přípusté oblasti pohybu fukce DTW. 2..2 Výpočet vzáleosti Miiálí vzáleosti ezi obrazy A a B se určí pole vztahu [4 str. 33] K [ i k j k ] W k k= D A B = i { i k j k K } N W 36 přičež [ik jk] je lokálí vzáleost ezi přízaky ik a jk Wk je hoota váhové fukce v k části fukce DTW NW je oralizačí faktor kopezující élku ebo počet kroků fukce DTW jeho hoota je fukcí váhové fukce. Výpočet lokálí vzáleosti je á pole toho jaký je zvole typ krátkoobé aalýzy siálu. O použité výpočtu lokálí vzáleosti se více zíí v praktické části této práce. Hoota oralizačího faktoru je efiováa vztahe [4 str. 36] N W = K k= W k. Tab. Typy lokálích oezeí fukce DTW. [4 str. 34-35] Typ fukce DTW I Typ Wk a i 2 i 37 8
9 Tab. Typy lokálích oezeí fukce DTW pokračováí. [4 str. 34-35] a c III a IV b V VI a VII a II 3 2 2 3 2 i 2 2 i 2 2 2 2 2 i 2 2 2 i = = = k j k j pro r k j k j pro r r 2 2 2 2 2 2 i 2 2 3 2 2 2 2 2 2 2 3 i 2 2 3 2 3 2 3 2 4 3 3 2 2 3 2 2 4 3 2 2 3 2 4 3 i
je vzáleost o počátku o bou. Existuje více typů váhové fukce Wk. Nejčastěji používaé typy váhové fukce a hooty oralizačího faktoru vyplývající z výše uveeé efiice jsou: Cituji [4 str. 35-36] - Typ a syetrická váhová fukce W k = [ i k i k ] [ j k N W = I J j k ] 38 - typ b esyetrická váhová fukce W k = i k i k N W = I 39 - typ b2 esyetrická váhová fukce W k = j k N W = J j k 40 - typ c W k = i[ i k i k j k j k ] 4 - typ W k = ax[ i k i k j k j k ] u posleích vou typů váhové fukce se hoota oralizačího faktoru obvykle volí N W = I. 42 43 Přito i0 = j0 = 0. Koec citace. Protože je hoota oralizačího faktoru ezávislá a průběhu fukce DTW ůžee vztah pro výpočet iiálí vzáleosti upravit [4 str. 37] K D A B = [ N W ] i [ i k j k ] W k. { i k j k K } k= 44 2..3 Celkový aloritus borceí časové osy. krok - Iicializace [4 str. 37] 2. krok - Rekurziví část [4 str. 37] [ i k j k ] = [ i j] = [ i j] W. i { i k j k } { [ i k j k ] [ i k j k ] W k }. 3. krok - Noralizace celkové vzáleosti [4 str. 37] D A B = [ N W ] [ i K k K ] = [ N W ] [ I J ]. 45 46 47 20
3 Realizace rozpozávače Pře zahájeí práce jse ěl k ispozici asi 5000 ahrávek řečového siálu v souborech forátu wav oulace PCM vzorkovací kitočet 6 khz 6bitové kóováí. Dále jse ěl k ispozici ěkolik fukcí ipleetovaých v Matlabu: - seetatio - seetace vstupího siálu a ikroseety efiovaá élkou seetu posuutí ezi souseíi seety a váhový okéke - eseetace - fukce pro opětové sestaveí souvislého siálu z váhovaých seetů - va-eery - fukce pro etekci řečové aktivity a záklaě sleováí krátkoobé eerie siálu. Použil jse ěkteré ahrávky které jsou při zpracováí převzorkováy a vzorkovací kitočet 8 khz a fukci seetatio. Pracoval jse v prostřeí Matlab verze 7.0. Obr. 8 Blokový iara rozpozávače slov využití vytvořeých fukcí pro jeotlivé části rozpozávače 3. Popis vytvořeých fukcí 3.. Aalýza siálu Fukce střeího počtu průchoů siálu ulou [Z] = suapruchu0 vstup vstup - atice seetovaý siál seety jsou sloupce atice Z - vektor počtu průchoů ulou v jeotlivých seetech. ifvstupse>0&&vstupse<0... vstupse<0&&vstupse>0 Zse=Zse; e; 2
Vektor Z poto obsahuje hooty počtu průchoů siálu ulou v jeotlivých seetech. Fukce krátkoobé itezity [I] = itezita vstup vstup - atice seetovaý siál seety jsou sloupce atice I - vektor itezit v jeotlivých seetech. Fukce je efiováa rovicí 4. Protože fukce pracuje s již seetovaý siále stejě jako suapruchou0 je krátkoobá itezita úěrá součtu absolutích hoot vzorků v kažé seetu I s = R r= x [ r] s 48 ke I s je hoota fukce krátkoobé itezity s seetu x s [r] je r vzorek s seetu kažý seet obsahuje R vzorků siálu. Ise = su abs vstup:se; Vektor I ve výsleku obsahuje hootu úěrou krátkoobé itezitě jeotlivých seetů. Obr. 9 Přízaky Z a I vypočítaé fukcei suapruchou0 a itezita v porováí s průběhe siálu. 22
Autokorelačí koeficiety [vystup] = AKF vstuppocet vstup - atice seetovaého siálu seety jsou řazey o sloupců pocet - počet autokorelačích koeficietů vystup - atice kažý sloupec obsahuje autokorelačí koeficiety příslušého seetu vstupího siálu. Realizace výpočtu autokorelačí fukce pole vztahu 8 probíhá opakováí příkazu vystup ij = vystupij vstupaj*vstupaij. Pásová filtrace - krátkoobá itezita v pásu [filtry] = avrhbakyfiltru N N - řá filtrů filtry - atice sloupce jsou vektory koeficietů jeotlivých filtrů [P] = pasovafiltrace vstupfiltry vstup - atice seetovaý siál seety jsou řazey o sloupců atice filtry - atice sloupce jsou vektory koeficietů jeotlivých filtrů P - atice sloupce jsou hooty itezit siálu v jeotlivých pásech kažý sloupec itezit je počítá z příslušého seetu siálu. Obr. 0 Blokové schéa pásové filtrace realizovaé fukcí pasovafiltrace x[] je vstupí seet siálu DP - olí propust PP - pásová propust HP - horí propust I - suátor absolutích hoot vzorků siálu p - p 9 - přízaky úěré itezitě siálu v jeotlivých kaálech Siál vzorkovaý s kitočte 8 khz obsahuje spektru kitočtů v pásu 0-4000 Hz. Toto páso jse rozělil a 9 subpáse. Filtrací bakou filtrů vzike 9 saostatých kaálů: Kaál 0 vzike filtrací siálu olí propustí s ezí kitočte 250 Hz kaály -7 obsahují siály filtrovaé pásovýi propusti s šířkou pása pole rovice 0 B = 23
500 Hz a střeíi kitočty pole rovice f s = 05; ; 5;...; 35 khz kaál 8 obsahuje siál filtrovaý horí propustí s ezí kitočte 375 khz. V kažé kaále je pro kažý seet vypočítáa hoota úěrá krátkoobé itezitě siálu efiice - rovice 4. Realizace výpočtu přízaků je rozělea a 2 části: ávrh baky filtrů - fukce avrhbakyfiltru která avrhe olí propust typu FIR řáu 50 s ezí kitočte 250 Hz a vypočítá koeficiety ostatích filtrů baky pole rovice 2 koeficiety jeotlivých filtrů jsou zapsáy o 9 sloupců atice filtry 2 filtrace a výpočet přízaků - fukce pasovafiltrace: Pise = su abs filter filtry:ivstup:se;. Vstupí seetovaý siál vstup je postupě po seetech filtrová jeotlivýi filtry a z výsleku filtrace je spočítáa hoota úěrá itezitě siálu. Vektor 9 hoot vypočítaých z jeoho seetu je ulože o jeoho sloupce atice P. Vektor přízaků p - p 9 je poěle orová přízake I itezita v pásu takto upraveé přízaky esou iforaci o poěré ožství eerie z celkové eerie siálu v jeotlivých pásech. Na obr. lze pozorovat poobosti průběhů orovaých itezit v pásech u stejého slova proeseého růzýi luvčíi. Obr. Zobrazeí tří porovávaých paraetrů poěr přízaků p /I p 2 /I a p 3 /I ve fukci lokalivzaleost u slova čtyři vysloveého věa luvčíi. Výpočet PARCOR koeficietů [vystup] = parcor vstuppocet vstup - vstupí seetovaý siál seety jsou řazey o sloupců pocet - počet PARCOR koeficietů vystup - obraz vstupího siálu jeotlivé sloupce obsahuji PARCOR koeficiety příslušých seetů vstupího siálu. 24
Realizová výpočet LPC koeficietů autokorelačí etoou popsaou v části 3.6.. Posleí koeficiet kažého řáu je jeí z PARCOR koeficietů.výpočet autokorelačích koeficietů provee poocí fukce AKF. Výpočet obrazu siálu [vzorky obraz]= paraetrysivstupokoruh vstup - vstupí ahrávka - wav soubor oko - typ okékové fukce při seetaci siálu ruh - typ přízaku: - itezita v pásech - baka 9 pásových filtrů tz. 9 přízaků 2 - LPC koeficiety - preiktor 0. řáu pro výpočet je použita fukce lpc fukce Matlabu o obrazu jsou přiáy autokorelačí koeficiety výpočet lokálí vzáleosti poocí Itakurovy íry 3 - kepstrálí koeficiety - 2. až. koeficiet reálého kepstra pro výpočet je použita fukce rceps fukce Matlabu 4 - elovské kepstrálí koeficiety - výpočet realizová pole postupu uveeého v části 3.5.2 součástí výpočtu je i ávrh elovských filtrů jsou vybráy 2. až. koeficiet 5 - PARCOR koeficiety - výpočet poocí fukce parcor. vzorky - vektor vzorků siálu obraz - obraz vstupího slova. Výpočet probíhá v ásleujících krocích: Nahrávka je ačtea o proěé prostřeí Matlab. V proěé vzorky je ulože vektor vzorků o élce N. Je testová vzorkovací kitočet siálu poku eí vstupí siál vzorková kitočte 8 khz je siál převzorková a teto kitočet. 2 Seetace siálu poocí fukce seetatio s paraetry: - Délka seetu - 60 vzorků opovíá élce 20 s při vzorkovací kitočtu 8 khz - posu ezi souseíi seety - 80 vzorků 0 s - typ okéka - pravoúhlé okéko. Fukce vrátí atici jejíž sloupce jsou seety půvoího siálu. Posleí seet je o požaovaé élky oplě ulovýi vzorky. 3 Výpočet přízaků jeotlivých seetů. 3..2 Tréováí slovíku Fukce pro průěrováí obrazů vou slov [vystup] = pruerovai vstup typ vstup2 typ2 oko ruh vstup vstup2 - slova jejichž obrazy buou průěrováy typ typ2 - efiují v jaké tvaru jsou slova vstup vstup2 zaáa: 'w' = vstupí slovo je wav soubor 'p' = vstup je obraz slova přízaky ve ásleující tvaru - sloupce obsahují vektory přízaků jeotlivých seetů oko - efiuje typ okékové fukce která bue použita při seetaci vstupího siálu zaaého ve tvaru 'w' ruh - typ přízaku: 25
- itezita v pásech 2 - LPC koeficiety 3 - kepstrálí koeficiety 4 - elovské kepstrálí koeficiety 5 - PARCOR koeficiety vystup - výsleý obraz vziklý průěrováí obrazu vstupích slov použita fukce DTW typ 4. Skript pro tréováí slovíku Skript trei vytvoří slovík jeeácti slov : ula jea vě tři čtyři pět šest seu osu evět a eset. Obrazy slov jsou uložey o proěých s0 s s2... s0. Hoota proěé typtreiu určuje počet slov která se průěrují o jeiého výsleého obrazu ve slovíku. Může abývat hoot 2 3. Poocí fukce paraetrysi se vytvoří obraz jeoho slova. Pro vytvořeí referečího obrazu z více slov je použita fukce pruerovai. Nahrávky slov určeých pro tréováí jsou uložey ve složce treovai a jsou pojeováy efiovaý způsobe x_y.wav x y jsou ezáporá celá čísla: x - je pořaové číslo luvčího začíá o y - je pořaové číslo slova ve slovíku začíá o 0 číslováí se shouje s výzae slova. 3..3 Realizace aloritu DTW Výpočet lokálí vzáleosti [D] = lokalivzaleost par par2ijtyp par par2 - obrazy porovávaých slov ij - čísla seetů obrazů par a par2 jejichž vzáleost bue počítáa typ - - sua absolutích hoot rozílů jeotlivých přízaků 2 - sua kvarátů rozílů jeotlivých přízaků á-li vstupí vektor par élku 22 obraz slova jsou LPC koeficiety počítá se Itakurova íra D - lokálí vzáleost aých seetů. Použité lokálí íry zkresleí se staovují pole ásleujících rovic: - Sua absolutích hoot rozílů jeotlivých přízaků D = P i P i i t r 49 - sua kvarátů rozílů jeotlivých přízaků D = i 2 P i P i t r 50 přičež P r a P t jsou vektory přízaků referečího a testovaého seetu - Itakurova íra [3 str. 69] a D = lo a T r T t R a t t r R a t 5 ke a r a a t jsou vektory LPC koeficietů referečího a testovaého seetu [3 str. 69] 26
a a T t T r = [ a = [ a t r a a t 2 r 2... a... a tq rq ] ] 52 Q začí řá preiktoru v prorau Q = 9 a R t je autokorelačí Töplitzova atice řáu Q Q testovaého seetu jejíž prvky jsou efiováy vztahe [3 str. 69] ρ = R i j i j 0... Q ij = 53 přičež Rk je efiováa vztahe 7. Fukce hleáí iia a axia z vektoru hoot [hoota pozice] = ii vektor vektor - vektor hoot které buou porováváy hoota - hoota která je ze všech hoot eješí pozice - pořaové číslo eješí hooty ve vstupí vektoru. [hoota] = axi vektor vektor - vektor hoot které buou porováváy hoota - hoota která je ze všech hoot ejvětší. Fukce počítající vzáleost ezi věa slovy [vzaleostprubeh]=dtw par par2typtyplv par par2 - obrazy porovávaých slov sloupce přestavují obrazy jeotlivých seetů typ - typ fukce DTW: - lokálí oezeí fukce DTW typ I váhová fukce Wk typ a 2 - lokálí oezeí fukce DTW typ II váhová fukce Wk typ a 3 - lokálí oezeí fukce DTW typ III váhová fukce Wk typ a 4 - lokálí oezeí fukce DTW typ IV váhová fukce Wk typ b 5 - lokálí oezeí fukce DTW typ V váhová fukce Wk typ 6 - lokálí oezeí fukce DTW typ VI váhová fukce Wk typ a 7 - lokálí oezeí fukce DTW typ VII váhová fukce Wk typ a typlv - způsob počítáí lokálí vzáleosti: - sua absolutích hoot rozílů jeotlivých přízaků 2 - sua kvarátů rozílů jeotlivých přízaků vzaleost - orovaá vzáleost porovávaých obrazu slov prubeh - průběh aloritu zobrazeí jeoho sloupce a osu x a ruhého sloupce a osu y se průběh fukce vykreslí. 27
Obr. 2 Průběh fukce DTW typ při porováváí slova seu vysloveého věa luvčíi Fukce DTW typ 2-7 ají oezeou strost průběhu fukce a tey oezeý axiálí rozíl élky porovávaých slov proto je u ich testováa élka obou slov počet seetů a je-li jeo z ich příliš krátké oproti ruhéu je jeho obraz prolouže. Kažý seet je rozšíře a va ietické seety tz. zvojásobí se élka obrazu slova. Obraz je prolužová opakovaě oku eí jeho élka vyhovující. Fukce DTW typ 2-5 ají iiálí strost /2 a axiálí strost 2 tz. že okáží bez prolužováí jeoho z obrazů porovat slova z ichž jeo je axiálě vakrát elší ež ruhé. Fukce DTW typ 6 a 7 ají iiálí strost /3 a axiálí strost 3 tz. že okáží bez úprav jeoho z obrazů porovat slova z ichž jeo je axiálě třikrát elší ež ruhé. Chcee-li se proloužeí obrazu kratšího slova vyhout je třeba použít fukci která á větší strost průběhu. Fukce DTW typ teto problé eá její průběh á iiálí strost 0 a axiálí strost. 28
Obr. 3 Porováí průběhu fukcí DTW typ 2-7 při porováváí slova seu vysloveého věa luvčíi Chcee-li se proloužeí obrazu kratšího slova vyhout je třeba použít fukci která á větší strost průběhu. Fukce DTW typ teto problé eá její průběh á iiálí strost 0 a axiálí strost. Protože fuke DTW je začě rozsáhlá veu ze pouze ěkolik ejůležitějších proěých použitých ve fukci: ij - obsahují hootu aktuálího bou fukce DTW lokálí vzáleost seetu i testovaého slova a seetu j referečího slova byla v přeešlé kroku eješí 29
k - obecá časová proěá obsahuje počet kroků fukce DTW s kažý kroke se ikreetuje o. Proěá i opovíá proěé proěá j opovíá proěé a proěá k opovíá proěé k které byly použity při popisu fukce DTW v kapitole 4. Dx - vzáleost ásleujícího bou x = 2 3... závislé a typu lokálího oezeí fukce - celková vzáleost o počátku o aktuálího bou fukce. Fukce pak realizuje jeotlivé kroky aloritu borceí časové osy:. Iicializace Výpočet vzáleosti ezi prvíi seety porovávaých slov hoota uložea o proěé i= j=. 2. Rekurze Výpočet vzáleostí boů kterýi fukce DTW ůže procházet. Např. fukce DTW typ D = lokalivzaleostparpar2ijtyplv; D2 = 2*lokaliVzaleostparpar2ij typlv; D3 = lokalivzaleostparpar2ij typlv; Výběr eješí vzáleosti ásleujícího bou [P] = ii[d D2 D3]; ke proěá P je aplěa hootou 2 ebo 3 pole toho který prvek vektoru [D D2 D3] á eješí hootu. Proěá P je zaveea aby bylo ožé uložit průběh fukce DTW a pozěji jej zobrazit. Vhoě voleýi poíkai je zaveeé řízeí výběru ásleujícího bou tak aby se při aé lokálí oezeí fukce vžy ostala o kocového bou rovice 33. 3. Výpočet oralizovaé vzáleosti Až se ostae fukce DTW o kocového bou je vypočtea hoota oralizačího faktoru NW proěá N a celková vzáleost uložeá v proěé je touto hootou poělea. Výsleek je ulože o proěé elka která je jeou z ávratových hoot fukce. Obr. 4 Příkla správé a chybé klasifikace slova pět. 30
Skript pro klasifikaci slov klasifikace - skript který klasifikuje ezáé slovo výsleek vypíše o příkazového řáku a zobrazí raficky vzáleosti ezáého slova o slov ve slovíku. Cesta k ezáéu slovu je zaaá v proěé ahravka paraetry slovíku a klasifikátoru se astavují v proěých: typ - typ fukce DTW až 7 ruh - ruh přízaků - itezita v pásech 2 - LPC koeficiety 3 - kepstrálí koeficiety 4 - elovské kepstrálí koeficiety 5 - PARCOR koeficiety oko - okéková fukce 'hai' 'rectwi' typtreiu - počet slov pro tréováí jeoho obrazu ve slovíku až 3 lokvz - typ výpočtu lokálí vzáleosti - sua abs. hoot rozílu přízaků 2 - sua kvarátu rozílu přízaků. Na obr. 4 jsou raficky zobrazey hooty vypočítaých vzáleostí testovaého slova a slov ve slovíku klasifikace poocí fukce DTW typ 4 pro slova pět proeseé věa luvčíi. Správě klasifikovaé slovo á eješí vzáleost k obrazu slova pět ve slovíku. Chybě klasifikovaé slovo á eješí vzáleost k obrazu slova vě ve slovíku. 3.2 Uživatelská aplikace pro rozpozáváí slov Pro rozpozáváí izolovaých slov se vytvořil uživatelské rozhraí uožňující výběr a astaveí paraetrů pro vytvořeí obrazu slova atréováí slovíku typ lokálího oezeí fukce pro rozpozáváí a zobrazeí výsleku o tabulky a raficky. Na obr. 5 je zobrazea aplikace Rozpozavac. Obr. 5 Uživatelská aplikace Rozpozavac po spuštěí. 3
3.2. Popis aplikace V horí části oka aplikace PARAMETRY jsou uístěy ásleující abíky pro volbu paraetrů rozpozávače: - Typ okéka - výběr typu okékové fukce která bue použita při zpracováí slov při seetaci. Z abíky je ožo vybrat Haiovo ebo pravoúhlé oko. - Přízaky - výběr typu přízaků které buou počítáy při aalýze siálu a použity jako obraz zpracovávaých slov. Z abíky je ožo vybrat přízaky: - itezita v pásech - LPC koeficiety - kepstrálí koeficiety - elovské kepstrálí koeficiety - PARCOR koeficiety. - Počet slov - počet slov použitých pro vytvořeí jeoho zázau ve slovíku je-li zvole počet slov větší ež jea jsou obrazy slov průěrováy. Z abíky je ožo vybrat jeo vě ebo tři slova. - DTW - typ lokálího oezeí fukce DTW. K ispozici je 7 typů lokálího oezeí fukce DTW viz část 4..2. Obr. 6 Uživatelská aplikace - zobrazeí výsleku klasifikace. - Lokálí íra - výběr způsobu výpočtu lokálí vzáleosti seetu referečího a testovaého slova. K ispozici je sua absolutích hoot rozílů přízaků ebo 32
sua kvarátů rozílů přízaků. V přípaě výběru přízaků LPC koeficiety určea pro výpočet Itakurova íra a elze zvolit jiou. V olí části ROZPOZNÁVÁNÍ jsou uístěy ásleující tlačítka: - Načíst slovo - po stisku je zobrazeo ialoové oko které slouží k procházeí aresářovou strukturou a k výběru zázau slova ve forátu wav který bue rozpozává. Po výběru zázau se cesta k vybraéu souboru a jéo souboru zobrazí. - Klasifikovat - jsou-li ačtey iforace o souboru zobrazea cesta k souboru a jéo souboru provee se po stisku tlačítka eerace slovíku poku osu ebyl vyeerová tj. při prví výpočtu klasifikace slova ebo při zěě paraetrů rozpozávače vypočet vzáleostí slov ve slovíku s testovaý slove a jsou zobrazey výsleky klasifikace. Na obr. 6 je ukázka klasifikace slova. V tabulce a pravé straě jsou vypsáy vzáleosti testovaého slova o referečích slov ve slovíku tyto hooty jsou též zobrazey raficky. Testovaé slovo á eješí vzáleost o slova pět tato vzáleost i klasifikace je zobrazea po rafe. Paraetry vytvořeého slovíku jsou vypsáy v horí části oka. Obr. 7 Uživatelská aplikace výpis výsleků klasifikace souboru slov. - Klasifikace skupiy slov - po stisku tlačítka se zobrazí ialoové oko určeé k výběru textového souboru o kterého buou zapsáy výsleky klasifikace souboru slov. Po výběru textového souboru je spuště výpočet klasifikace jeotlivých slov jehož výsleky jsou zapisováy o příkazového řáku a ve stejé forátu uklááy 33
o textového souboru. Na obr. 7 je ukázka klasifikace skupiy slov a část výsleků vypsaých o příkazového řáku. Po ukočeí výpočtu je a tlačítke vypsáo jéo souboru o kterého byly výsleky zapsáy. Výpis obsahuje vektory eseti čísel což jsou výsleé klasifikace jeotlivých slov v pořaí pole číslováí ahrávek evypisují se vzáleosti. Na koci výpisu je uveea statistika úspěšosti klasifikace. Paraetry vytvořeého slovíku jsou vypsáy v horí části oka. 3.3 Výsleky práce Pro tréováí jse použil ahrávky stejých slov vysloveých jiýi luvčíi pro kažé slovo 3 luvčí. Nahrávky jsou uložey o složky treovai. Popis vytvářeí slovíku a forát ázvu uložeých slov je uvee v části 5..2. Všichi luvčí jsou uži. Pro rozpozáváí jse vybral ahrávky jeeácti číslovek uložeých v aresářích ula jea ve tri ctyri pet sest seu osu evet a eset jéa aresářů jsou shoé s kokrétíi slovy. V kažé aresáři se achází 0 ahrávek o růzých luvčích ve forátu xx#nazev přičež písea xx jsou ahrazea vojčíslí 0 02 0 a Nazev je ahraze kokrétí slove které je v ahrávce zazaeáo bez iakritiky. 3.3. Úspěšost rozpozáváí Násleující statistiky vyvozuji z výsleků testováí rozpozávače které jsou všechy uveey v příloze B. Celke jse při testováí rozpozáváí použil 0 slov a pro tréováí slovíku 33 slov. Suy správě rozpozaých slov uveeé v ásleujících tabulkách vzikly součte výsleků testů rozpozávače s růzýi paraetry avšak se stejýi testovaýi slovy. Z úajů v Tab. 2 lze porovat úspěšost rozpozáváí při použití růzých přízaků. Přízaky itezita v pásech ají ze všech použitých ejhorší úspěšost přibližě 70 %. Přízaky založeé a lieárí preiktiví aalýze a a kepstrálí aalýze ají výsleky srovatelé úspěšost přibližě 80 % u obrazů slov tvořeýi elovskýi kepstrálíi koeficiety bylo úspěšě rozpozáo přes 84 % testovaých slov. Tab. 2 Úspěšost [%] rozpozáváí všech ruhů přízaků pole typu výpočtu lokálí vzáleosti Přízaky sua abs. hoot rozílů přízaků Haiovo okéko sua kvarátů rozílů přízaků Lokálí vzáleost Itakurova íra sua abs. hoot rozílů přízaků pravoúhlé okéko sua kvarátů rozílů přízaků Itakurova íra Itezita v pásech 777 6922-707 6848 - LPC koeficiety 9. řáu - - 832 - - 839 LPC koeficiety 0. řáu - - 8307 - - 8082 Kepstrálí koeficiety 8056 8268-7840 8087 - Melovské keps. koef. 8420 8424-798 8095 - PARCOR koeficiety 7775 7948-7723 807 - Růzé lokálí oezeí průběhu fukce DTW ají vliv a úspěšost rozpozáváí slov což je vyhooceo v Tab. 3. Nejúspěšější byly při klasifikaci fukce DTW s lokálí oezeí typ 2 a 4 úspěšost rozpozáváí asi 85 %. Neješí úspěšost rozpozáváí asi 66 % á fukce DTW s lokálí oezeí typ. 34
Tab. 3 Úspěšost rozpozáváí jeotlivýi typy fukce DTW Typ DTW 2 3 4 5 6 7 Správě rozpozáo slov 4366 5587 5345 5658 476 5307 5375 Úspěšost [%] 665 8465 8098 8573 745 804 844 Schopost rozpozávače správě klasifikovat ezáé slovo je veli závislá a slovíku rozpozávače. V Tab. 4 jsou vypsáy hooty úspěšosti klasifikace při použití všech ostupých ruhů přízaků. Nejlepší výsleky ají elovské kepstrálí koeficiety úspěšost klasifikace je 86 % jsou-li zázay slovíku vytvořey z průěru obrazů tří slov. Je-li záza ve slovíku jeouše vytvoře obraze jeiého slova pak ejvětší úspěšosti rozpozáváí - téěř 79 % - bylo osažeo za použití LPC koeficietů. Tab. 4 Úspěšost rozpozáváí pole počtu použitých slov pro tréováí jeoho obrazu slova ve slovíku Počet slov použitých pro tréováí jeoho obrazu 2 3 Celke Itezita v pásech 6432 6909 7633 699 Úspěšost [%] LPC koeficiety 7890 8289 845 820 Kepstrálí koeficiety 745 8289 8448 8063 Melovské keps. koef. 7623 8354 8607 895 PARCOR koeficiety 7360 8026 82 7866 Správě rozpozáo slov Celková úspěšost [%] 335 227 2748-7360 7968 8278 - Celková úspěšost rozpozáváí se slovíke jehož jeotlivé obrazy slov jsou tvořey obraze jeiého slova je o 6 % eší ež při vytvořeí obrazu slov ve slovíku průěrováí vou stejých slov vysloveých růzýi luvčíi. Průěrováí obrazů tří stejých slov o růzých luvčích úspěšost rozpozáváí vzrostla o alší 3 % přibližě a 82 % správě klasifikovaých slov. Nejúspěšější klasifikace byla u slov ula - asi 96 % a seu - asi 94 %. Neješí úspěšost klasifikace byla u slov pět a evět - asi 60 % viz. Tab. 5. Tab. 5 Úspěšost rozpozáváí jeotlivých slov Slovo Správě rozpozáo slov Úspěšost [%] ula 4037 962 jea 3857 983 vě 3046 7252 tři 2774 6605 čtyři 3275 7798 pět 2530 6024 šest 3204 7629 seu 3968 9448 osu 3846 957 evět 2549 6069 eset 3268 778 V Tab. 6 jsou vyčísley celkové statistiky úspěšosti rozpozávače rozěleé pole typu výpočtu lokálí vzáleosti a pole typu okékové fukce. Při použití Haiova okéka je úspěšost rozpozáváí o až 2 % vyšší. Hooceí jeotlivých typů výpočtu lokálí vzáleosti jse již uvel výše viz. Tab. 2. 35
Tab. 6 Celková úspěšost Výpočet lokálí vzáleosti Oko Úspěšost [%] sua abs. hoot rozílů přízaků sua kvarátů rozílů přízaků pravoúhlé 7624 Haiovo 7857 celke 774 pravoúhlé 7762 Haiovo 789 celke 7826 pravoúhlé 80 Itakurova íra Haiovo 830 CELKEM celke 820 7869 Celková úspěšost rozpozáváí použity všechy výsleky klasifikace je 787 %. 36
4 Závěr V práci jse realizoval fukce pro aalýzu řečového siálu v časové a kitočtové oblasti ále výpočet PARCOR koeficietů a elovských kepstrálích koeficietů a fukce pro vytvořeí obrazu slova. Obraz slova je volbou urče jako itezita v kitočtových pásech 9 páse/přízaků LPC koeficiety 0. řáu kepstrálí koeficiety. řáu bez prvího koeficietu tz. 0 koeficietů elovské kepstrálí koeficiety. řáu bez prvího koeficietu tz. 0 koeficietů ebo PARCOR koeficiety 0. řáu. Vytvořil jse fukce uožňující porováváí obrazů vou slov etoou borceí časové osy skripty pro vytvořeí jeouchého slovíku a klasifikaci slova porováí se slovy ve slovíku. Vytvořil jse uživatelskou aplikaci Rozpozavac s jeouchý slovíke pro klasifikaci ezáých slov. Celkové zhooceí úspěšosti klasifikace pole použitého ruhu přízaků seřazeo o ejúspěšějšího: - LPC koeficiety - úspěšost 82 % - elovské kepstrálí koeficiety - úspěšost 8 9 % - kepstrálí koeficiety - úspěšost 80 6 % - PARCOR koeficiety - úspěšost 78 7 % - itezita v pásech - úspěšost 69 9 %. Hooceí alších paraetrů rozpozávače: - Nejúspěšější klasifikace bylo osažeo při použití fukce DTW s lokálí oezeí typ 4 a typ 2. - Nejjeoušší lokálí oezeí typ fukce DTW á výhou že á eoezeou strost průběhu tz. eexistuje žáá liití hoota rozílu élky porovávaých slov u lokálího oezeí s oezeou strostí průběhu je třeba upravit élku jeoho z porovávaých slov poku přesáhe rozíl élky slov liití hootu. Zároveň však vykazuje eješí úspěšost klasifikace. - Při tréováí slovíku je vhoé použít průěr více obrazů slov pro vytvořeí jeiého referečího obrazu lze tak osáhout větší úspěšosti klasifikace. - Volba typu výpočtu lokálí vzáleosti pří výběru z těch které jse použil eá zásaí vliv a úspěšost klasifikace. Při použití LPC koeficietů eí volba typu výpočtu lokálí vzáleosti ožá je autoaticky zvolea Itakurova íra. - Pro seetaci siálu se hoí více Haiovo okéko ež pravoúhlé okéko volba okéka však eá zásaí vliv a úspěšost klasifikace. 37