Elektronická verze publikace ve formátu pdf
Transkript
Elektronická verze publikace ve formátu pdf
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra teorie obvodů DIPLOMOVÁ PRÁCE Rozpoznávání řeči při různé kvalitě vstupního signálu 742617000027 Autor: Bc. Martin Běhunek Vedoucí práce: Doc. Ing. Petr Pollák, CSc. Praha, 2010 ii iii Abstrakt Tato práce řeší problematiku rozpoznávání řeči při různé kvalitně vstupního signálu s užším zaměřením na zhoršenou kvalitu v důsledku uchování řečových signálů na bázi ztrátové komprese MP3. Rozpoznávání je založeno na standardním modelování elementárních akustických elementů bez kontextové závislosti pomocí skrytých Markovových modelů, přičemž je zkoumána úspěšnost rozpoznávání izolovaných slov v podobě základních číslovek i při rozpoznávání souvislé řeči v prostředí běžné kanceláře. Pozornost je věnována vhodnému nastavení základních parametrizačních technik na bázi mel-frekvenčních a PLP kepstrálních koeficientů. Jako zdroj řečových signálů byla použita databáze SPEECON. Z části této databáze byla vytvořena databáze nová, která obsahuje řečové signály komprimované metodou MP3 s rozdílnou velikostí datového toku. Signály byly převedeny do formátu MP3 enkodérem LAME. K tvorbě rozpoznávače byly využity nástroje z programového balíku HTK. Pro rozpoznávání souvislé řeči byl použit rozpoznávač řeči s velkým slovníkem Czech LVCSR. V experimentální části této práce bylo dosaženo úspěšnosti rozpoznávání izolovaných slov v rozmezí 64,63 % až 96,89 % v závislosti na kvalitě řečového signálu. V případě použití komprimovaných signálů metodou MP3 se zhoršila úspěšnost rozpoznávání kvalitních signálů o jednotky procent, u nekvalitních signálů byl pokles úspěšnosti o více než 30 %. Postupné snižování datového toku MP3 souborů až na hodnotu 24 kbps nemělo zásadní vliv na úspěšnost rozpoznávání. V souvislé řeči bylo dosaženo 54,72% úspěšnosti u kvalitních signálů a pouze 16,98% úspěšnosti u signálů nekvalitních. iv Abstract This thesis deals with the problems of speech recognition with a various quality of the input signal with a closer focus on deteriorated quality of speech signals stored using MP3 loss compression. Recognition is based on the standard HMM based modelling of elementary acoustic elements without context dependence, and the accuracy of isolated digits recognition and also the recognition of continuous speech was investigated. The recognition was performed in the environment of an ordinary office. Attention was devoted to a suitable setting of basic parameterisation techniques based on mel-frequency and PLP cepstral coefficients. A SPEECON database was used as the source of speech signals. A new derived database was created from a part of SPEECON database; it contains speech signals compressed by the MP3 method with a various size of bitrate. The signals have been converted into the MP3 format using a LAME encoder. Tools from the HTK program package were used for the creation of a recogniser. The recognition of continuous speech was realized again using HTK tools (HDecode) with simple trigram language model. In the case of the isolated words, the accuracy ranged between 64.63 % and 96.89 %, depending on the quality of the speech signal. MP3 compression deteriorated the recognition accuracy by units of per cent for signals from high-quality channel; in the case of low-quality channel the accuracy dropped more than 30 %. A gradual reduction of MP3 files up to the bitrate of 24 kbps did not have a substantial effect on the accuracy of the recognition. In continuous speech a 54.72 % accuracy was reached with signals from high-quality channel and only a 16.98 % accuracy for low-quality channels. The accuracy of LVCSR was low due to the usage of rather simple language model. v Obsah 1 Úvod 1 2 Lidská řeč a její rozpoznávání 3 2.1 Vznik řeči . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Předzpracování řečového signálu . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1 Preemfáze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2 Váhování signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Parametrizace řeči . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3.1 Parametrizace LPCC . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3.2 Parametrizace MFCC . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3.3 Parametrizace PLP . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.4 Dynamické koeficienty . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.5 Energie signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Princip rozpoznávání řeči . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Princip statistického přístupu k rozpoznávání řeči . . . . . . . . . 11 2.4.2 Skryté Markovovy modely . . . . . . . . . . . . . . . . . . . . . . 12 2.4.3 Baum-Velchova reestimace . . . . . . . . . . . . . . . . . . . . . . 13 2.4.4 Pravděpodobnostní popis modelu s více složkami a proudy . . . . 14 2.4.5 Viterbiův algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4.6 Rozpoznávání izolovaných slov . . . . . . . . . . . . . . . . . . . . 15 2.4.7 Rozpoznávání souvislé řeči . . . . . . . . . . . . . . . . . . . . . . 16 2.3 2.4 3 Tvorba řečového rozpoznávače 3.1 17 Příprava rozpoznávače . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Zdroj řečových signálů . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2 Výběr vhodných dat z databáze . . . . . . . . . . . . . . . . . . . 19 3.1.3 Seznam modelů fonémů 19 . . . . . . . . . . . . . . . . . . . . . . . vi 3.1.4 Gramatika rozpoznávače . . . . . . . . . . . . . . . . . . . . . . . 21 Tvorba řečového rozpoznávače . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Parametrizace řečových signálů . . . . . . . . . . . . . . . . . . . 22 3.2.2 Trénování skrytých Markovových modelů . . . . . . . . . . . . . . 25 3.3 Rozpoznávání izolovaných slov . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 Rozpoznávání souvislé řeči . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 4 MPEG-1 Layer III komprese zvukových souborů 29 4.1 Pořízení a uchování zvukových záznamů . . . . . . . . . . . . . . . . . . 29 4.2 Princip MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.1 Banka filtrů a MDCT . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.2 Psychoakustický model . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.3 Kvantizace úrovní signálu a kódovnání . . . . . . . . . . . . . . . 31 4.2.4 Konstrukce datových rámců . . . . . . . . . . . . . . . . . . . . . 32 4.3 Nevýhody MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 Tvorba databáze řečových signálů v MP3 formátu . . . . . . . . . . . . . 33 4.4.1 34 Převod řečových dat do formátu MP3 . . . . . . . . . . . . . . . . 5 Experimenty 5.1 5.2 5.3 5.4 36 Hodnocení úspěšnosti rozpoznávače . . . . . . . . . . . . . . . . . . . . . 36 5.1.1 Značení parametrizace . . . . . . . . . . . . . . . . . . . . . . . . 37 Rozpoznávání izolovaných slov . . . . . . . . . . . . . . . . . . . . . . . . 38 5.2.1 Parametrizace MFCC . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.2.2 Parametrizace PLP . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Rozpoznávání izolovaných slov s použitím komprese MP3 . . . . . . . . . 43 5.3.1 Parametrizace MFCC . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.3.2 Parametrizace PLP . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Rozpoznávání souvislé řeči . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6 Závěr 52 Literatura 54 Příloha A Obsah přiloženého CD I Příloha B Seznam a verze použitého software vii II Seznam obrázků 2.1 Model artikulačního aparátu . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Blokové schéma - Parametrizace LPCC . . . . . . . . . . . . . . . . . . . 6 2.3 Melovská banka filtrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Blokové schéma - Parametrizace MFCC . . . . . . . . . . . . . . . . . . . 8 2.5 Blokové schéma - Parametrizace PLP . . . . . . . . . . . . . . . . . . . . 9 2.6 Skrytý Markovův model s pěti stavy . . . . . . . . . . . . . . . . . . . . 12 3.1 Gramatika rozpoznávače . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Úspěšnost rozpoznávání v jednotlivých trénovacích cyklech . . . . . . . . 27 4.1 Blokové schéma MP3 enkodéru . . . . . . . . . . . . . . . . . . . . . . . 30 5.1 Úspěšnost rozpozávání řeči při MP3 kompresi s parametrizací MFCC . . 46 5.2 Úspěšnost rozpozávání řeči při MP3 kompresi s parametrizací PLP 49 viii . . . Seznam tabulek 3.1 Použité mikrofony při nahrávání databáze SPEECON . . . . . . . . . . . 18 3.2 Seznam použitých fonémů . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1 Vzorkovací frekvence a datový tok MP3 . . . . . . . . . . . . . . . . . . . 32 5.1 Úspěšnost rozpoznávání izol. slov na kanálu CS0 s parametrizací MFCC . 39 5.2 Úspěšnost rozpoznávání izol. slov na kanálu CS1 s parametrizací MFCC . 40 5.3 Úspěšnost rozpoznávání izol. slov na kanálu CS2 s parametrizací MFCC . 40 5.4 Úspěšnost rozpoznávání izol. slov na kanálu CS3 s parametrizací MFCC . 41 5.5 Úspěšnost rozpoznávání izol. slov na kanálu CS0 s parametrizací PLP . . 42 5.6 Úspěšnost rozpoznávání izol. slov na kanálu CS1 s parametrizací PLP . . 42 5.7 Úspěšnost rozpoznávání izol. slov na kanálu CS2 s parametrizací PLP . . 42 5.8 Úspěšnost rozpoznávání izol. slov na kanálu CS3 s parametrizací PLP . . 42 5.9 Výběr vhodné parametrizace MFCC pro soubory s MP3 kompresí . . . . 43 5.10 Rozpoz. slov na kanálu CS0 s použitím komprese MP3 s param. MFCC . 44 5.11 Rozpoz. slov na kanálu CS31s použitím komprese MP3 s param. MFCC . 44 5.12 Rozpoz. slov na kanálu CS2 s použitím komprese MP3 s param. MFCC . 45 5.13 Rozpoz. slov na kanálu CS3 s použitím komprese MP3 s param. MFCC . 45 5.14 Výběr vhodné parametrizace PLP pro soubory s MP3 kompresí . . . . . 47 5.15 Rozpoz. slov na kanálu CS0 s použitím komprese MP3 s param. PLP . . 47 5.16 Rozpoz. slov na kanálu CS1 s použitím komprese MP3 s param. PLP . . 48 5.17 Rozpoz. slov na kanálu CS2 s použitím komprese MP3 s param. PLP . . 48 5.18 Rozpoz. slov na kanálu CS3 s použitím komprese MP3 s param. PLP . . 49 5.19 Úspěšnost rozpoznávání souvislé řeči na kanálu CS0 . . . . . . . . . . . . 51 5.20 Úspěšnost rozpoznávání souvislé řeči na kanálu CS1 . . . . . . . . . . . . 51 5.21 Úspěšnost rozpoznávání souvislé řeči na kanálu CS2 . . . . . . . . . . . . 51 5.22 Úspěšnost rozpoznávání souvislé řeči na kanálu CS3 . . . . . . . . . . . . 51 ix Kapitola 1 Úvod Lidská řeč je jednou ze základních lidských schopností komunikace. V současnosti již existují přístroje, které dokážou reagovat na lidské povely nebo jsou samy schopny člověku řečí odpovídat. S těmito přístroji se lze běžně setkat v našem životě, a proto se objevuje snaha rozpoznávat řeč i v ne zrovna ideálních podmínkách. Bohužel i po více než padesátiletém výzkumu v této oblasti nejsou schopny současné přístroje s člověkem plnohodnotně komunikovat. Rozpoznávání řeči není jednoduchá úloha, neboť jeden a ten samý řečník může vyslovit jedno a to samé slovo různým způsobem, kdy je ovlivněn okolním prostředím nebo svými momentálními pocity. V této diplomové práci je zkoumána úspěšnost rozpoznávání lidské řeči v reálných podmínkách kancelářského prostředí při vlivech, které mohou tento proces nepříznivě ovlivnit. Na vině mohou být zejména různě kvalitní mikrofony použité pro záznam řeči nebo jejich vzdálenost od mluvčího. Další věcí, která může mít zásadní vliv na úspěšnost rozpoznávání, je uchovávání řečových nahrávek v komprimovaném formátu. Prakticky všechny současné diktafony jsou schopny uchovat zaznamenanou řeč ve formátu MP3, proto je zkoumána také úspěšnost rozpoznávání řeči při této ztrátové kompresi zvukových souborů. Úspěšnost rozpoznávání řeči je testována při rozpoznávání izolovaných slov v podobě základních číslovek a dále při rozpoznávání souvislé řeči. K rozpoznávání řeči se v současné době využívá zejména statistických metod, kde jsou jednotlivé složky řeči modelovány pomocí tzv. skrytých Markovových modelů (Hidden Markov Model, zkráceně HMM). K tomuto účelu byl využit programový balík HTK (Hidden Markov Model Toolkit), který obsahuje všechny potřebné nástroje k modelování řečových elementů a jejich následném využití pro rozpoznávání řeči. Tato práce je rozdělena do několika tematicky zaměřených kapitol. V kapitole Lidská řeč a její rozpoznávání jsou popsány základní techniky zpracování řeči, parametrizace 1 KAPITOLA 1. ÚVOD řečových signálů a rozpoznávání řeči na bázi skrytých Markovových modelů. Kapitola Tvorba řečového rozpoznávače popisuje implementaci řečového rozpoznávače v prostředí operačního systému Linux. V kapitole nazvané MPEG-1 Layer III komprese zvukových souborů je popsán princip MP3 komprese zvukových souborů a tvorba databáze obsahující řečové signály komprimované v tomto formátu. Poslední kapitola nesoucí název Experimenty popisuje provedené experimenty spolu s jejich výsledky při rozpoznávání řeči v této práci. 2 Kapitola 2 Lidská řeč a její rozpoznávání Rozpoznávání řeči je úloha, která ze zaznamenaných řečových signálů rozpozná, co v těchto signálech bylo řečeno. Konkrétní slovo můžou různí lidé vyslovovat různými způsoby. Na této variabilitě promluv se podílí pohlaví daného člověka, jeho intonace a artikulace. Dokonce jeden a ten samý člověk může jedno a totéž slovo vyslovovat různým způsobem. Je zcela evidentní, že strojové rozpoznávání řeči není nijak jednoduchá záležitost. V této kapitole bude popsána problematika předzpracování řečových signálů, jejich parametrizace a konečně proces rozpoznávání řeči s využitím skrytých Markovových modelů. 2.1 Vznik řeči Řeč vzniká v tzv. artikulačním aparátu. Ten je tvořen plícemi, hlasivkami, dutinou hrdelní, dutinou nosní, dutinou ústní, nosem a rty. Jednotlivé hlásky jsou tvořeny výdechem vzduchu z plic, který je ovlivňován průchodem artikulačním aparátem. Celý proces vzniku řeči zjednodušeně zobrazuje obrázek 2.1, na němž je zobrazen číslicový model artikulačního aparátu. Jednotlivé hlásky se dělí na znělé a neznělé. Znělé hlásky jsou tvořeny průchodem vzduchu přes rozvibrované hlasivky, čímž se vytvoří sled impulzů. Tyto impulzy nazýváme základní řečová frekvence a u dospělého člověka tato frekvence leží v pásmu mezi 80 až 350 Hz. Neznělé hlásky jsou tvořeny širokopásmovým šumem, který vzniká při turbulentním proudění vzduchu přes rozevřené hlasivky. Velikost úrovně výstupního signálu je určena ziskem zesilovače G. Výsledný tvar signálu je tvořen ve vokálním traktu. Vokální trakt je tvořen hrdelní, nosní a ústní dutinou a představuje 3 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ systém rezonátorů s proměnným přenosem H(z). Nejpodstatnější část akustické energie leží ve frekvenčním pásmu do 4 kHz. Parametry Generátor impulzů y(z) G H(z) Generátor šumu Obrázek 2.1: Model artikulačního aparátu Lidská řeč je nestacionární kvaziperiodický signál. Jedná se tedy o signál s proměnnými parametry v čase. V krátkých úsecích odpovídajících zhruba 10 - 30 ms se parametry signálu dají považovat za stacionární. Proto se řečový signál segmentuje na kratší segmenty, které se zpracovávají samostatně. Jednotlivé segmenty se postupně překrývají o 50 % své délky. 2.2 Předzpracování řečového signálu Před zpracováním jednotlivých řečových signálů je nutné tyto signály vhodně upravit. V prvé řadě je nutné provést tzv. preemfázi a poté signál segmentovat vhodným váhovacím oknem na menší úseky. 2.2.1 Preemfáze Pro zvýraznění vyšších frekvenčních složek, potlačených při šíření zvukové vlny prostorem, je signál filtrován FIR filtrem 1. řádu typu horní propust. Daný filtr je popsán rovnicí (2.1). Parametr m se nazývá koeficient preemfáze a nejčastěji nabývá hodnoty v intervalu 0, 95 ÷ 1, 0. s′ [n] = s [n] − m · s [n − 1] 4 (2.1) KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ 2.2.2 Váhování signálu Při segmentaci signálu obdélníkovým oknem vzniká ve spektru signálu jev nazývaný prosakování. Prosakování vzniká při nespojitostech signálu na okrajích segmentu, který je následně periodicky prodloužen v časové oblasti při výpočtu Fourierovy transformace. Díky těmto nespojitostem na okrajích segmentů, se ve spektru signálu objevují frekvence, které nemají s původním signálem nic společného. Proto se segment signálu s (n) váhuje oknem w (n) s vhodně zvoleným tvarem, které vliv prosakování výrazně potlačí. Úpravu segmentu signálu váhovacím oknem popisuje rovnice sw (n) = s (n) w (n) . (2.2) Existuje několik typů segmentačních oken s rozdílnými vlastnostmi, ale při zpracování řeči se nejčastěji využívá Hammingovo okno, které je pro okno délky N vzorků popsáno rovnicí w [n] = 0, 54 − 0, 46 cos 2.3 2πn pro 0 ≤ n ≤ N − 1. N (2.3) Parametrizace řeči Parametrizací se rozumí extrakce vhodných příznaků řečového signálu, které tento signál popisují pro účely jeho dalšího zpracování. Parametrizační metody pro parametrizaci řečových signálů vycházejí z poznatků fyziologie artikulačního aparátu. Časové vzorky signálu jsou pro popis signálu prakticky nepoužitelné, protože je jich značné množství. Proto je snaha signál popsat jinou metodou, ve které bude počet prvků výrazně redukován. Nejvhodnější metodou je použití kepstrálních koeficientů, protože již několik nejnižších kepstrálních koeficientů dokáže aproximovat tvar frekvenčního spektra signálu. Parametry určené ze segmentu signálu se nazývají statické. Nejčastěji používané metody k získání statických parametrů řečového signálu jsou • LPCC (Linear Prediction Cepstral Coefficients), • MFCC (Mel-frequency Cepstral Coefficients), • PLP (Perceptual Linear Predictive coding). 5 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ 2.3.1 Parametrizace LPCC Parametrizační metoda lineárně predikovaných kepstrálních koeficientů využívá modelování frekvenčního spektra vstupního signálu pomocí lineárně predikovaných autoregresních koeficientů ak syntetizujícího filtru, který je buzen bílým šumem. Lineární prediktor předpovídá n-tý vzorek signálu pomocí p vzorků předcházejících. Zároveň se prediktor snaží minimalizovat chybu predikce e [n], tj. rozdíl skutečné hodnoty daného vzorku s [n] a jeho odhadu se [n]. Lineární prediktor modeluje p/2 nejvýznamnějších špiček frekvenč- ního spektra. To je výhodné u řečových signálů, neboť tyto špičky odpovídají formantům, tj. významným rezonančním frekvencím artikulačního aparátu. Princip lineární predikce je popsán rovnicí e [n] = s [n] − se [n] = s [n] + p X ak s [n − k] . (2.4) k=1 Koeficienty ak lze určit např. Levinson-Durbinovým algoritmem [17]. Tento algoritmus určuje koeficienty ak rekurzivně z autokorelačních koeficientů daného signálu R [k] minimalizací výkonu chybového signálu e2 [n]. Další metodou výpočtu koeficientů ak může být Burgův algoritmus, který počítá koeficienty minimalizační metodou součtu výkonu dopředné a zpětné predikce v křížové struktuře analyzujícího FIR filtru. V dalším kroku metody se autoregresní koeficienty ak převedou na koeficienty kepstrální cn , neboť kepstrální koeficienty mají menší vzájemnou korelovatelnost. Příklad výpočtu LPCC koeficientů je zobrazen blokovým schématem 2.2. s [n] R [K] AK ak LPC cn a→c Obrázek 2.2: Blokové schéma - Parametrizace LPCC 2.3.2 Parametrizace MFCC Parametrizace na bázi melovských frekvenčních kepstrálních koeficientů [18] počítá s faktem, že je lidský sluch založen na principu spektrální analýzy. Vnímání zvukových frekvencí lidským uchem není lineární, s rostoucí frekvencí klesá frekvenční rozlišení. Proto MFCC parametrizace převádí lineární frekvenční osu v Hz na nelineární frekvenční osu 6 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ v melech. Převodní vztah pro jednotlivé frekvence v Hz do melovské frekvenční škály je uveden v rovnici fmel fHz = 2595 log10 1 + . 700 (2.5) Na spektrum signálu se aplikuje melovská banka filtrů. Ta je tvořena pásmovými filtry s trojúhelníkovou frekvenční přenosovou charakteristikou. Všechny filtry v bance mají shodnou šířkou pásma v melovské stupnici a jednotlivé pásma mají mezi sebou padesátiprocentní překryv. Pro vzorkovací frekvenci signálu 16 kHz se typicky používá 20 pásem. Melovská banka filtrů je zobrazena na obrázku 2.3, kde je každé pásmo vyznačeno pro přehlednost jinou barvu. 1 |H(f )|[−] 0.8 0.6 0.4 0.2 0 0 0.2 0.4 2f fs [−] 0.6 0.8 1 Obrázek 2.3: Melovská banka filtrů Výkonové melovské kepstrum se vypočítá v jednotlivých pásmech j vzorcem (2.6). Parametr Hmel,j představuje frekvenční odezvu filtru v daném pásmu. Celkový počet pásem melovské banky filtrů je P . gj = ln N/2 X |S[k]|2 Hmel,j [k] pro j = 0, 1, ..., P (2.6) k=0 Výsledných N kepstrálních koeficientů melovského kepstra se vypočítá diskrétní kosinovou transformací pro daná výkonová pásma melovského kepstra g. Diskrétní kosinová transformace se v tomto případě může použít pro zjednodušení výpočtu namísto inverzní 7 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ diskrétní Fourierovy transformace, protože je aplikována na reálnou část spektra, která představuje sudou funkci. Výpočet koeficientů ci je uveden v rovnici ci = r P 2 X πi gj cos (j − 0.5) pro i = 0, 1, ..., N. P j=1 P (2.7) Celý proces parametrizace MFCC je zobrazen na obrázku 2.4 S [K] s [n] DFT ln fmel,k fmel,k ln (.) Mel-BF cn IDCT Obrázek 2.4: Blokové schéma - Parametrizace MFCC 2.3.3 Parametrizace PLP Parametrizace PLP [7, 13] je založena na modelu lidského sluchového vnímání a dále bere v úvahu další vlastnosti lidského slyšení. V této metodě je opět použita nelineární frekvenční osa v podobě Barkovy frekvenční stupnice. Převod frekvencí ω v Hz na nelineární frekvenční osu Ω (ω) v Barcích je popsán v rovnici (2.8). Zde je již aplikován fakt lidského logaritmického vnímání výšky zvuku. Ω (ω) = 6 ln ω + 1200 r ! ω 2 +1 . 1200 (2.8) Banka filtrů použitá v této metodě je tvořena filtry popsanými pro dané pásmo z funkcí (2.9). Filtry jsou rozmístěny s krokem 1 Bark. 0 10z+0,5 Ψ (z) = 1 10−2.5(z−0,5) 0 pro z < −2, 5 , pro − 2, 5 ≤ z < −0, 5 , pro − 0, 5 ≤ z < 0, 5 , pro 0, 5 ≤ z < 1, 3 , pro z > 1, 3 , (2.9) V dalším kroku jsou filtry v bance přizpůsobeny faktu, že člověk vnímá různě citlivě zvuky různých frekvencí. Tento jev popisují křivky hladin stejné hlasitosti. Tyto křivky 8 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ udávají intenzitu zvuku různých frekvencí, které způsobí člověku stejný vnímaný vjem hlasitosti jako referenční tón s kmitočtem 1 kHz. Tyto křivky lze aproximovat vztahem E (ω) = ω 4 (ω 2 + 56, 9 · 106 ) . (ω 2 + 6, 3 · 106 )2 (ω 2 + 379, 4 · 106 ) (ω 6 + 9, 6 · 1026 ) (2.10) Výsledná frekvenční odezva filtrů v daných pásmech se vypočítá pomocí vztahu (2.11), kde Ωm je střední frekvence daného filtru v pásmu m. Φm (Ω) = E (Ω) Ψ (Ω − Ωm ) (2.11) Vážení výkonového spektra segmentu signálu P (ω) v každém pásmu m je provedeno vztahem Ωm +1,3 Ξ (Ωm ) = X P (Ω) Φm (Ω) . (2.12) Ω=Ωm −2,5 Na vážené spektrum Ξ (Ωm ) je poté provedena aproximace zákonu slyšení. Tento zákon stanovuje nerovnoměrnost hlasitosti vnímaného zvuku člověkem v závislosti na skutečné intenzitě tohoto zvuku. Tomuto faktu odpovídá mocnina 0,3 každého frekvenčního pásma m ve vztahu ξ (Ωm ) = (Ξ (Ωm ))0,3 . (2.13) Na výsledné výkonové spektrum se aplikuje zpětná Fourierova transformace pro výpočet autokorelačních koeficientů pomocí Wienerovy-Chinčinovy věty. Z těchto koeficientů se poté odhadnou parametry AR modelu pomocí Levinsonova-Durbinova algoritmu. Z autoregresních koeficientů AR modelu se vypočítají kepstrální koeficienty. Celý proces parametrizace PLP je zobrazen na obrázku 2.5 S [K] s [n] DFT S ′ [K] E (f ) Bj′ PLP-BF R [K] Bj (.) 0,3 IDFT ak LPC Obrázek 2.5: Blokové schéma - Parametrizace PLP 9 cn a→c KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ 2.3.4 Dynamické koeficienty Pro zlepšení úspěšnosti rozpoznávání řeči je vhodné doplnit statické parametrizační koeficienty dalšími koeficienty, které popisují vývoj statických parametrů v čase. K tomuto účelu se využívá odhad prvních derivací statických parametrů ∆. Tyto parametry se nazývají delta nebo také diferenciální koeficienty, jejichž výpočet je uveden v rovnici (2.14). Odhady druhé derivace statických parametrů δ se nazývají delta-delta neboli akcelerační koeficienty. Tyto odhady se vypočítají podle vzorce (2.15), okolí pro aproximaci derivace je typicky volí M = 2. ∆k [i] = δk [i] = 2.3.5 PM m=1 PM m=1 m (ck [i + m] − ck [i − m]) pro 1 ≤ k ≤ n PM 2 m=1 m m (∆k [i + m] − ∆k [i − m]) pro 1 ≤ k ≤ n PM 2 m m=1 (2.14) (2.15) Energie signálu Jako dalším parametrem popisujícím segment signálu může být jeho energetická úroveň. K výpočtu této hodnoty existuje několik metod, ale při parametrizaci se použije pouze jedna z nich. Zmíněné metody jsou • krátkodobá energie signálu, • logaritmus energie signálu, • nultý kepstrální keficient c0 . Výpočet krátkodobé energie je uveden ve vzorci (2.16), výpočet logaritmu energie je uveden ve vzorci (2.17). Výpočet je prováděn v segmentu délky N vzorků. E= N X s2 [n] (2.16) n=1 E = log N X n=1 10 s2 [n] (2.17) KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ 2.4 Princip rozpoznávání řeči V současnosti existují dva přístupy jak rozpoznávat lidskou řeč. První skupinou jsou metody založené na principu porovnávání daného slova s referenčními vzory. Rozpoznávané slovo je porovnáváno se všemi referenčními vzory a následně je klasifikováno ke slovu, se kterým je nejvíce podobné. Pro přizpůsobení časové různorodosti rozpoznávaných slov využívá tato metoda techniku DTW (Dynamic Time Warping, Dynamické borcení časové osy). Tato metoda dokáže úspěšně rozeznávat až několik desítek izolovaných slov. Mnohem efektivnější metodou pro rozpoznávání řeči je využití skrytých Markovových modelů. Tato technika je založena na statistickém modelování řečových elementů nebo celých slov. Modelování řečových elementů je mnohem výhodnější než modelování celých slov, neboť není potřeba k tvorbě jejich skrytých Markovových modelů obsáhlá řečová databáze, kde by byla všechna slova zastoupena v dostatečném množství. Jako řečovým elementem, který bude v rozpoznávači modelován, může být foném. Foném je nejmenší řečový element daného jazyka, který má rozlišovací schopnost slov. K trénování modelů fonémů je potřeba kvalitní databáze řečových signálů, ve kterých budou jednotlivé fonémy stejně procentuálně zastoupeny jako v rozpoznávaném jazyce. 2.4.1 Princip statistického přístupu k rozpoznávání řeči Celý problém statistického rozpoznávání lze velmi jednoduše popsat následujícím způsobem. Nechť je O = {O1 , O2 , ..., O T } vektor příznaků daného slova a W = {w1 , w2 , ..., wn } c , které je množina (slovník) všech slov. Cílem rozpoznávače je nalezení takového slova W maximalizuje podmíněnou pravděpodobnost P (W |O), tj. nalezení nejpravděpodobněj- šího slova ze slovníku W k danému vektoru příznaků při pozorování O. K výpočtu je použit Bayesův vzorec popsaný rovnicí Ŵ = arg max P (W |O) = arg max W W P (W ) P (O|W ) , P (O) (2.18) kde P (O|W ) je pravděpodobnost, že při vyslovení slova W bude generován vektor příznaků O. Cílem modelování řeči metodou skrytých Markovových modelů je vytvořit co možná nejlepší akustický model řeči, tj. takový model, který nejlépe oceňuje podmíněnou pravděpodobnost P (O|W ). Apriorní pravděpodobnost P (W ) v tomto případě odpovídá posloupnosti rozpoznávaných slov. 11 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ 2.4.2 Skryté Markovovy modely Skrytý Markovův model je automat s konečným počtem stavů. V oblasti rozpoznávání řeči se využívá jeho levopravá varianta, kdy s postupem času model přechází s určitou pravděpodobností do svých následujících stavů. První a poslední stav modelu se nazývá neemitující. Ostatní stavy jsou emitující, neboť model v jejich stavech generuje vektor pozorování O s výstupní pravděpodobností bi (O). Pro přechod z jednoho stavu do následujícího je určena přechodová pravděpodobnost aij . Model se nazývá skrytý, protože generuje pouze vektor pozorování O a stav modelu spolu s jeho přechody nelze pozorovat. Jednoduchý HMM je znázorněn na obrázku 2.6. a22 1 a12 a23 2 b2 (o1 ) a34 3 a45 4 b3 (o3 ) b4 (o4 ) b2 (o2 ) o1 o2 a44 a33 5 b4 (o5 ) o4 o5 o3 Obrázek 2.6: Skrytý Markovův model s pěti stavy Model M v každém diskrétním čase t generuje vektor pozorování O. Jednotlivé přechodové pravděpodobnosti aij a výstupní pravděpodobnosti bi (O) v modelu jsou neznámé. Tuto situaci lze zapsat rovnicí P (O|M) = X ax(0)x(1) T Y bx(t) (ot ) ax(t)x(t+1) , (2.19) t=1 X kde x je stav, ve kterém se model v daném čase t právě nachází. Konečná délka cesty je označena T . Podmíněná pravděpodobnost daného pozorování O musí být proto vypočítána maximalizační úlohou přes všechny možné posloupnosti přechodů mezi stavy vzorcem ( Pb (O|M) = max ax(0)x(1) X 12 T Y t=1 bx(t) (ot ) ax(t)x(t+1) ) . (2.20) KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ Úloha (2.20) je řešena pomocí tzv. Virtebriova algoritmu. Tento algoritmus bude podrobněji popsán v kapitole 2.4.5. Jednotlivé prvky vektoru pozorování O přísluší k jednomu z několika emitujících stavů bj (t) a lze je ve stavovém prostoru přiřadit do shluků definovaných středem µ a rozptylem r. Tyto shluky se popisují vícerozměrným Gaussovským rozdělením pomocí rovnice N ot ; µj , Σj T −1 1 1 =p exp − ot − µj Σj ot − µj , 2 (2π)n |Σj | (2.21) kde Σ je kovarianční matice obsahující hodnoty rozptylů na hlavní diagonále a n je délka vektoru o. 2.4.3 Baum-Velchova reestimace Pro stanovení hodnot parametrů modelů je využita metoda maximální věrohodnosti (Maximum Likelihood, ML). Pro maximalizaci věrohodnosti se při trénování modelů využívá iterativní procedura nazvaná jako Baum-Welchův algoritmus. Trénování probíhá způsobem jako trénování vložených jednotek. To znamená, že se nejprve vytvoří pro dané slovo odpovídající fonémový Markovův model a parametry jednotlivých obsažených fonémů jsou trénovány v rámci modelu celého slova. Tím odpadá nutnost pracného a časově náročného ručního vyznačování jednotlivých fonémů v daném slově. Při rozpoznávání více slov v promluvě se jednotlivé modely slov zřetězí za sebe v neemitujících stavech. Před vlastním prováděním reestimace parametrů je nutné odhadnout výchozí hodnoty jednotlivých středů µj a rozptylů všech modelů v kovarianční matici Σj . K výpočtu odhadů výchozích stavů jsou použity vzorce a bj = µ T 1 X ot T t=1 T 1 X b (ot − µt ) (ot − µt )T , Σj = T t=1 (2.22) (2.23) kde j je stav skrytého Markovova modelu. Výchozí vypočítané odhady parametrů jsou 13 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ shodné pro všechny modely fonémů. V Baum-Welchově algoritmu se iterativně počítají matice příslušnosti shluků k daným stavům Lj (t). Celý proces probíhá v několika krocích. Výchozí odhady parametrů jsou poté přepočítávány, dokud roste hodnota P (O|M) pomocí vztahů PT t=1 bj = P µ T a bj = Σ PT t=1 Lj (t) ot t=1 Lj (t) Lj (t) (ot − µt ) (ot − µt )T . PT t=1 Lj (t) (2.24) (2.25) Celý algoritmu lze popsat v následujících krocích: 1. Pro každou matici a každý vektor v čitateli a jmenovateli rovnic (2.24) a (2.25) použitých při re-estimaci, se alokuje potřebné paměťové místo. 2. Vypočítají se dopředné a zpětné pravděpodobnosti přechodů v každém stavu j v čase t. 3. Pro každý stav j v čase t se použije matice Lj (t) a nynější vektor pozorování ot k aktualizaci parametrů µj a Σj . 4. Pomocí aktualizovaných hodnot vektroru Lj (t) se vypočítají nové hodnoty µj a Σj . 5. Pokud je hodnota sdružené pravděpodobnosti daného pozorování a daného modelu P (O|M) po této iteraci nižší než předešlá hodnota pravděpodobnosti, tak se proces reestimace ukončí. V opačném případě se použijí jiné reestimační parametry a celý proces se opakuje. 2.4.4 Pravděpodobnostní popis modelu s více složkami a proudy Každá funkce bj (ot ) může mít složitější tvar shluku, než jaký lze popsat pomocí jednoho Gaussova rozdělení. Z tohoto důvodu je možné dané rozdělení rozdělit do více složek (směsí), jejichž poměr smísení určuje parametr cm . Vektor ot navíc může obsahovat části, které jsou statisticky nezávislé. Z tohoto důvodu je žádoucí tento vektor rozdělit na části 14 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ zpracovávané zvlášť. Tyto nezávislé části se nazývají proudy a každý proud je umocněn parametrem γ s , odpovídající významnosti daného proudu. Rozdělení funkce bj (ot ) na M směsí a S proudů bude vypadat následovně bj (ot ) = "M S Y X s=1 2.4.5 cjsmN ost ; µjsm, Σjsm m=1 #γs (2.26) . Viterbiův algoritmus Tento algoritmus určuje sdruženou pravděpodobnost Pb (O|M) a optimální cestu modelem M rekurzivně technikou dynamického programování. Algoritmus postupně prohledává všechny možné přechody v modelu a pamatuje si nejlepší cestu, po které se do daného stavu dostal. První prvek vektoru dopředných pravděpodobností αj (t) odpovídá αj (1) = α1j bj (o1 ). Zjednodušeně lze algoritmus poslat rovnicí αj (t) = max {αi [t − 1] αij } bj (ot ) pro 2,...,N −1 2 ≤ j ≤ N, 2 ≤ t ≤ T, (2.27) kde N je počet emitujících stavů skrytého Markovova modelu a T je délka vektoru O. 2.4.6 Rozpoznávání izolovaných slov Jak již bylo poznamenáno v kapitole 2.4, lze sestavit skryté Markovovy modely pro celá slova. Tento postup je značně nevýhodný, protože je k tomu potřeba rozsáhlá řečová databáze, kde se bude každé slovo několikrát vyskytovat, aby u něj mohl být úspěšně vytvořen jeho model. Mnohem efektivnější technikou je rozdělit slovo na kratší úseky a ty trénovat zvlášť. Tyto subslovní elementy mohou být slabiky nebo fonémy. Použití modelů slabik naráží na problém, že ve značném množství řečových signálů lze jen velmi obtížně vymezit jejich hranice a množina všech možných slabik je velmi obrovská. Jako nejlepší metoda je použití modelů hlasových elementů - fonémů. Takových jednotek je velmi omezené množství, řádově se jedná o desítky. Navíc pro úlohu rozpoznávání řeči není nutné použít všechny fonémy daného jazyka, ale lze vystačit s počtem fonémů v řádu desítek. Pro robustnější rozpoznávače je výhodné použít kontextově závislé fonémy. To jsou fonémy, které mají závislost na okolních fonémech. Tímto způsobem lze velmi výrazně potlačit jev koartikulace. K tomuto účelu lze využít například dvojice fonémů, kdy jsou 15 KAPITOLA 2. LIDSKÁ ŘEČ A JEJÍ ROZPOZNÁVÁNÍ jednotlivé fonémy závislé na svém levém nebo pravém sousedním fonému. Tyto dvojice fonémů se nazývají difony. K ještě větší robustnosti modelů se využívají trifony, kdy je k danému fonému přiřazen vliv obou sousedních fonémů v promluvě. 2.4.7 Rozpoznávání souvislé řeči Pro rozpoznávání souvislé řeči je potřeba znát tzv. jazykový model [13]. Tento model popisuje statisticky gramatiku jazyka a snaží se určit slova, která budou nejpravděpodobněji následovat po slovech předešlých. Model tedy určuje apriorní pravděpodobnost posloupnosti slov P (W ) v rovnici 2.18, kterou řečník vysloví. Jazykový model lze tedy definovat rovnicí P (W ) = K Y P (wi |w1, w2 , ..., wi−1 ) , (2.28) i=1 kde K je celkový počet slov v daném modelu, W je posloupnost slov a w1 , w2 , ..., wi−1 je historie vyslovených slov. Jednoduchý jazykový model lze sestavit určením apriorních pravděpodobností výskytu všech slov. Je jasné, že některé slova z důvodu gramatiky daného jazyka nemohou po sobě následovat. Mnohem lepších výsledků lze dosáhnout použitím n-gramových modelů. Ty modelují jazyk pomocí posloupnosti n slov, které danému slovu předcházely. Nejpoužívanější modely jsou založeny na využití unignamů (n = 1), bigramů (n = 2) a trigramů (n = 3). Konstrukce dobrých jazykových modelů je velmi náročná úloha, neboť nalezení a ohodnocení například všech trigramů v daném jazyce je prakticky nemožné a pro uchování takového modelu v paměti počítače by bylo potřeba několik GB dat. 16 Kapitola 3 Tvorba řečového rozpoznávače Proces sestavení rozpoznávače izolovaných slov lze rozdělit do několika fází. Nejprve je nutné připravit data, která obsahují vhodné řečové promluvy. Nejsnadnější cestou k získání promluv je využití tzv. databáze hlasových signálů. Tyto promluvy budou použity pro trénování skrytých Markovových modelů a na části z nich se bude testovat úspěšnost jejich rozpoznávání pomocí natrénovaných modelů fonémů. Před vlastním zahájením procesu trénování Markovových modelů fonémů je nutné všechny použité řečové signály zparametrizovat. Při tvorbě rozpoznávače izolovaných slov se vycházelo ze zprávy [10], podle které byl sestaven rozpoznávač na bázi modelů fonémů bez kontextové závislosti, tzv. monofonů. 3.1 Příprava rozpoznávače Příprava rozpoznávače v sobě zahrnuje výběr vhodných promluv pro trénování modelů fonémů a promluv pro rozpoznávání. Dále je potřeba připravit soubory, které budou nutné pro správnou funkci jednotlivých programů z balíku HTK[19]. K tvorbě všech potřebných souborů a seznamů byl použit programovací jazyk Perl [16], jenž nativně běží v prostředí operačního systému Linux. 3.1.1 Zdroj řečových signálů Zdrojem všech řečových signálů v této práci se stala česká databáze SPEECON [11]. Jedná se o velmi kvalitní databázi řečových signálů obsahují foneticky bohatý materiál. 17 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE V databázi se nachází promluvy pořízené celkem od 590 dospělých a 50 dětí. Na každého člověka připadá zhruba 322 promluv, což odpovídá asi třiceti minutám záznamu. Obsahem promluv v databázi jsou jednotlivá slova jako názvy měst, ulic, věcí, dále pak číslovky, telefonní čísla, letopočty, e-mailové adresy, foneticky bohaté věty, otázky, spontánně vyslovené věty a podobně. Databáze se nahrávala ve čtyřech různých prostředích - domov, kancelář, automobil a veřejné místo. Každá promluva se navíc nahrávala zároveň čtyřkanálově pomocí čtyř mikrofonů lišících se typem a vzdáleností od mluvčího. Data pořízená v blízkosti jednotek centimetrů od mluvčího mají soubory označené příponou CS0 a CS1. Tyto řečové promluvy by měly mít teoreticky nejlepší kvalitu záznamu, neboť se na nich uplatňuje v nejmenší míře šum. Promluvy nahrané ve vzdálenosti jednoho metru od mluvčího mají soubory označené příponou CS2 a konečně promluvy nahrané mikrofonem umístěným od mluvčího ve vzdálenosti několika metrů jsou označeny příponou CS3. Na posledních dvou kanálech se již velmi uplatňuje šum okolí a nižší hlasitost zaznamenané řeči. Dále v textu budou pro označení řečových signálů z konkrétního kanálu použity právě jména těchto přípon souborů. Seznam použitých mikrofonů v jednotlivých prostředích je uveden v tabulce 3.1. Blízká vzdálenost Střední vzdálenost Větší vzdálenost (2 - 10 cm) (1 m) (2 - 3m) CS2 CS3 Prostředí CS0 CS1 Domov a Sennheiser Nokia Lavalier Sennheiser Kancelář ME 104 HDC-6D ME 64 Sennheiser Nokia Lavalier Sennheiser ME 104 DC-6D ME 64 Sennheiser Nokia Lavalier AKG Peiker ME 104 HDC-6D Q400 Mk3 T ME15/V520-1 Veřejné místo Automobil Mikrofonbau Haun MBNM-550 E-L Mikrofonbau Haun MBNM-550 E-L Tabulka 3.1: Použité mikrofony při nahrávání databáze SPEECON Všechny signály v databázi jsou zaznamenány se vzorkovacím kmitočtem 16 kHz s lineárním šestnáctibitovým kvantováním. 18 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE 3.1.2 Výběr vhodných dat z databáze Celá databáze SPEECON obsahuje značné množství promluv, které se nehodí pro tvorbu rozpoznávače. Při trénování skrytých Markovových modelů a testování úspěšnosti rozpoznávání izolovaných slov byly použity pouze promluvy pořízené v prostředí domova a kanceláře. Z této množiny promluv byly následně vyřazeny promluvy obsahující tzv. neřečové události. Tyto promluvy obsahují zvuky, které nemají nic společného s konkrétní promluvou a tyto události by mohly nepříznivě ovlivnit trénování modelů fonémů. Neřečová událost může být např. zakašlání, výrazné nadechnutí mluvčího před začátkem promluvy nebo jakýkoliv cizí zvuk v pozadí. V případě prostředí domova byly vyřazeny promluvy, při nichž v pozadí hrála hudba. Tyto promluvy jsou označeny ve svém anotačním souboru položkou AUD=ON. Dále byly vyřazeny promluvy obsahující pouze šum, spontánní řeč, hláskování slov, e-mailové a webové adresy. Následně byl seznam takto vytříděných promluv z databáze rozdělen v poměru 9 : 1 na trénovací a testovací seznam. Z obou seznamů byl poté vytvořen soubor MLF (Master Label File), jehož obsahem je fonémový přepis všech promluv v daném seznamu. Promluvy v trénovacím seznamu sloužily pro trénování modelů jednotlivých fonémů. Z testovacího seznamu byly použity pouze promluvy obsahující základní číslovky a při jejich rozpoznávání se testovala úspěšnost natrénovaných modelů. 3.1.3 Seznam modelů fonémů Množina modelů fonémů vychází z fonetické abecedy SAMPA [3]. Celkem bylo použito 42 modelů fonémů z této abecedy. Pro mnohem jednodušší čitelnost byly názvy fonémů převedeny z abecedy SAMPA do jednodušší podoby, kdy jsou k jejich zápisu použita pouze malá písmena abecedy. Výsledný seznam modelovaných fonémů je vypsán v tabulce 3.2. Tento seznam modelů fonémů byl navíc doplněn o model krátké pauzy sp a model dlouhé pauzy sil v promluvě. Tabulka 3.2: Seznam použitých fonémů Symbol fonému Transkriptce Ortografická transkripce a dar dar aa taata táta au auto auto Pokračování na následující straně 19 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE Pokračování z předchozí strany Symbol fonému Transkriptce Ortografická transkripce b baaba bába c cesta cesta cc ccixaa čichá d jeden jeden dd ddelat dělat dz ledzgde leckde dzz raadzza rádža e lef lev ee meenne méně eu euro euro f fauna fauna g guma guma h hat had x xudii chudý i bil, bil bil, byl ii viitr, liiko vítr, lýko j dojat dojat k kupec kupec l ddelaa dělá m maama máma mv tramvvaj tramvaj n viino víno nn konne koně ng bangka banka o kolo kolo oo ooda óda ou pouze pouze p pupen pupen r bere bere rr kerr keř Pokračování na následující straně 20 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE Pokračování z předchozí strany 3.1.4 Symbol fonému Transkriptce Ortografická transkripce s sut sud ss dusse duše t dutii dutý tt kuttil kutil u dusse duše uu kuul kůl v laava láva z koza koza zz ruuzze růže Gramatika rozpoznávače Při testování úspěšnosti rozpoznávání izolovaných slov jsou použity promluvy obsahující pouze základní číslovky. Aby rozpoznávač věděl, jaká slova má rozpoznávat, potřebuje soubor obsahující tzv. gramatiku. Obsahem tohoto souboru je regulární výraz určující případnou posloupnost slov v rozpoznávaných promluvách. Obsah souboru gramatika je uveden níže. $digit = nula | jedna | dva | tři | čtyři | pět | šest | sedm | osm | devět; (sil sil < $digit sil> sil sil) V tomto zápisu gramatiky rozpoznávač očekává nejprve ticho značené jako sil na začátku promluvy. Poté následuje jedno nebo sekvence několika slov, které jsou definovaná v proměnnou $digit. Mezi slovy je opět mezera. Po posledním slově je očekáváno opět ticho. Tento proces je zobrazen na obrázku 3.1. nula sil sil jedna ... sil devět Obrázek 3.1: Gramatika rozpoznávače 21 sil sil KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE 3.2 Tvorba řečového rozpoznávače Po selekci vhodných řečových signálů lze přejít k trénování skrytých Markovových modelů fonémů. Celý proces začíná parametrizací jednotlivých segmentů řečových signálů vybraných pro trénování a po jejím skončení může být zahájen proces trénování modelů. Na závěr se ověří kvalita jednotlivých modelů při rozpoznávání slov. V této kapitole budou popsány jednotlivé kroky. 3.2.1 Parametrizace řečových signálů K parametrizaci řečových signálů byly použity dvě techniky - MFCC a PLP. Parametrizace MFCC je prováděna programem HCopy z balíku HTK a k parametrizaci PLP je využit program CtuCopy [8]. Každý z programů používá jiný konfigurační soubor pro detailní nastavení parametrizace. Konstanta preemfáze měla v obou případech hodnotu 0,97. Liftrovací koeficient váhování kepstra byl 22 a v obou případech bylo použito Hammingovo váhovací okno při segmentaci řečového signálu. Parametrizační vektor, vypočítaný z každého segmentu, měl délku 39. Obsahoval jednu hodnotu logaritmu energie, 12 statických, 13 diferenciálních a 13 akceleračních koeficientů. Nastavení segmentace Pro zjištění vlivu úspěšnosti rozpoznávání řeči v závislosti na délce segmentu signálu byly při parametrizace použity celkem tři varianty těchto segmentů. Jednotlivé segmentační úseky měly parametry • délka okna 16 ms a překryv 8 ms, • délka okna 25 ms a překryv 10 ms, • délka okna 32 ms a překryv 16 ms. Překryv těchto segmentů byl volen tak, aby pokud možno odpovídal 50 % délky okna, neboť se v práci [14] neukázalo, že by jiná velikost překryvu segmentů vedla k lepším výsledkům při rozpoznávání. 22 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE Detailní popis nastavení parametrizace MFCC Program HCopy se spouští se dvěma parametry, kde první odpovídá použitému konfiguračnímu souboru parametrizace a druhý představuje seznam souborů, které se budou parametrizovat. HCopy -C konfigurace -S codetr.scp Počet pásem banky filtrů byl nastaven na hodnoty 22 a 30. Tyto velikosti bank filtrů byly voleny s ohledem na délky segmentačních oken. Detailní výpis konfigurace parametrizačního souboru je uveden níže. SOURCEKIND = WAVEFORM # na vstupu jsou zvukova data SOURCEFORMAT = NOHEAD # vstupni data jsou bez hlavicky SOURCERATE = 625 # doba periody vzorkovani * 10^-7 TARGETKIND = MFCC_E_D_A # typ parametrizace TARGETRATE = 160000.0 # prekryv segmentu * 10^-7 WINDOWSIZE = 320000.0 # delka segmentu reci * 10^-7 USEHAMMING = T # pouziti Hammingova okenka PREEMCOEF = 0.97 # koeficient preemfaze NUMCHANS = 22 # pocet pasem banky filtru CEPLIFTER = 22 # liftrace kepstra NUMCEPS = 12 # pocet keps. koef. na vystupu ENORMALISE = F # neprovedeni normalizace energie Výše popsanýn nastavením konfiguračního souboru se provede parametrizace signálu s nastavenou délkou segmentu 32 ms a překryvem 16 ms. Melovská banka filtrů má 22 pásem. Podrobnější popis jednotlivých nastavení parametrů lze nalézt v [19]. Detailní popis nastavení parametrizace PLP Při parametrizaci PLP se z řečového segmentu vypočítá pouze 12 statických parametrů a logaritmus energie, protože program CtuCopy neumí vypočítat dynamické parametrizační koeficienty. Tyto koeficienty musí být vždy dopočítávány při reestimaci parametrů Markovových modelů programem HERest z balíku HTK. Program tuCopy slouží jako přímá náhrada programu HCopy z balíku HTK a proto je spouštěn obdobným způsobem. 23 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE ctucopy -C konfigurace -S codetr.scp Banka filtrů má 19 pásem. Tato hodnota je omezena použitou vzorkovací frekvencí v parametrizovaných signálech. Řád lineární predikce pro odhad autoregresních koeficientů byl nastaven na hodnotu 10. Výpis nastavení konfiguračního souboru s popisem nejdůležitějších parametrů je uveden níže. -endian_in little -endian_out big -format_in raw # vstupni data jsou bez hlavicky -format_out htk # vystupni format dat odpovida formatu HTK -preem 0.97 # koeficient preemfaze -dither 0.000001 # pridani nepatrneho sumu do signalu -fs 16000 # perioda vzorkovani signalu v Hz -w 32 # delka okna v ms -s 16 # delka prekryvu okna v ms -remove_dc on # odstaneni st. slozky ze signalu -nr_mode none -fb_scale bark # Barkova frekvencni osa -fb_shape trapez # podoba filtru v bance -fb_norm off -fb_power on -fb_eqld on # aplikace krivek stejne hlasitosti -fb_inld on # aplikace zakonu intenzity slyseni -fb_definition 1-19/19filters # pocet pasem banky filtru -fea_kind lpc # metoda vypoctu keps. koef. -fea_lporder 10 # rad linearniho prediktoru -fea_ncepcoefs 12 # pocet keps. koef. na vystupu -fea_c0 off -fea_E on # vypocet logaritmu energie -fea_rawenergy off -fea_lifter 22 # liftrace kepstra Nastavení všech parametrů je obdobné, jako v případě výpočtu MFCC koeficientů. Rozdíl je pouze v nastavení Barkovy frekvenční osy a jiné použité bance filtrů. Významy jednotlivých nastavení jsou popsány v [8] a [7]. 24 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE 3.2.2 Trénování skrytých Markovových modelů Celý proces trénování skrytých Markovových modelů s využitím programů HTK lze rozdělit do několika mezikroků, které budou podrobněji popsány v následujících podkapitolách. Odhad počátečních parametrů modelů Před trénováním skrytých Markovových modelů fonémů je nutné alespoň orientačně určit výchozí hodnoty středů a rozptylů shluků modelů, ze kterých se bude vycházet. K tomuto účelu obsahuje balík HTK program HCompV. Ten vypočítá výchozí hodnoty ze seznamu zparametrizovaných promluv určených parametrem -S a výsledný prototyp modelu fonému uloží do složky hmm0. Konfigurační soubor config2 při trénování obsahuje pouze řádek TARGETKIND M̄FCC E D A, program HCompV se spouští následujícím příkazem. HCompV -A -C config2 -f 0.01 -m -S train.scp -M hmm0 proto Vypočítané hodnoty odhadů parametrů se poté naklonují všem modelům fonémů, tedy všechny modely budou mít stejné výchozí hodnoty. Tento odhad parametrů nebyl pořizován ze všech zparametrizovaných promluv v trénovacím seznamu. Důvod k tomuto kroku byl ten, že občas docházelo k špatnému odhadu výchozích hodnot ze signálů na kanálech CS2 a CS3, kde byly tyto hodnoty vypočítány značně nepřesně a nepodařilo se již provést pozdější reestimaci těchto modelů. V případě použití asi jedné padesátiny řečových promluv z trénovacího seznamu byly vždy odhady pořízeny bezproblémově a tento úkon neměl žádný vliv na úspěšnost rozpoznávání. Po inicializaci výchozích stavů skrytých Markovových modelů fonémů se provede třikrát po sobě Baum-Welchova reestimace programem HERest. Tento program se spouští následujícím způsobem. HERest -A -X LAB -C config2 -I phones0.mlf -m 0 -t 250.0 150.0 1000.0 \ -S train.scp -H hmm0/macros -H hmm0/hmmdefs -M hmm1 monophones0 Přepínač -I definuje seznam všech fonémů bez modelu krátké pauzy. Přepínač -t definuje hodnoty prořezávacích prahů v použitém algoritmu pro výpočet parametrů modelů. Po trojité reestimaci jsou výsledné modely uloženy ve složce hmm3. 25 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE Úprava modelů pro ticho V následujícím kroku jsou doplněny modely fonémů modelem pro krátkou pauzu sp. Tato pauza je vytvořena jako další přechod mezi druhým a čtvrtým stavem Markovových modelů. Po doplnění dlouhé pauzy jsou všechny modely dvakrát reestimovány, nyní již se seznamem fonémů obsahujícím i model krátké pauzy definovaném přepínačem -I v programu HERest. Výsledné modely jsou uloženy ve složce hmm7. Zarovnání trénovacích dat V dalším kroku se provede zarovnání trénovacích dat. Tento proces představuje vyřazení těch promluv z trénovacího seznamu, které se nedaří alespoň částečně rozpoznat. Rozpoznaný obsah každé promluvy se porovnává se vzorem uloženým v souboru words.mlf a pokud se ním alespoň částečně neshoduje, není daná promluva použita pro další trénování. Výsledný zarovnaný seznam promluv se uložen do souboru aligned.mlf. Zarovnání trénovacích dat provádí program HVite. HVite -D -A -X lab -y LAB -T 0 -l ’*’ -o SWT -b SILENCE -C config2 -a \ -H hmm7/macros -H hmm7/hmmdefs -i aligned.mlf -m -t 250.0 -I words.mlf \ -S train.scp dict monophones1 Po zarovnání trénovacích dat se opět provede dvojitá reestimace modelů. Výsledné modely jsou uloženy ve složce hmm9. Rozdělení modelu na více složek a proudů K rozdělení vektoru bj daného modelu na více složek a směsí slouží program HHEd. V prvním kroku jsou modely rozděleny na 3 proudy a posléze na 32 směsí. Konfigurační soubory pro provedení daných rozdělení se jmenují splitstreams.hed a splitmix.hed. Program HHEd se spouští následujícím způsobem. HHEd -H hmm9/macros -H hmm9/hmmdefs -M hmm10 splitstreams.hed monophones1 HHEd -H hmm10/macros -H hmm10/hmmdefs -M hmm11 splitmix.hed monophones1 Finální dotrénování modelů V dalších krocích se pouze provádí několikanásobná reestimace modelů. Konečná podoba modelů je uložena ve složce hmm23. Další trénování již nemá smysl, neboť dochází k tzv. přetrénování modelů. To znamená, že při jejich použití klesá úspěšnost rozpoznávání 26 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE promluv z testovacího seznamu, protože se v maximální možné míře skryté Markovovy modely fonémů přizpůsobují právě promluvám z trénovacího seznamu. Obrázek 3.2 zobrazuje vzrůstající úspěšnost rozpoznávání izolovaných slov v trénovacích cyklech od procesu zarovnání trénovacího seznamu po konečný 23. cyklus trénování modelů. Úspěšnost rozpoznávání [ % ] 100 95 90 85 80 75 8 10 12 16 14 18 Trénovací cyklus 20 22 24 Obrázek 3.2: Úspěšnost rozpoznávání v jednotlivých trénovacích cyklech 3.3 Rozpoznávání izolovaných slov K rozpoznávání izolovaných slov slouží program HVite. Ten použije finální modely fonémů, které jsou uloženy ve složce hmm23 a pomocí nich se pokusí rozpoznat zparametrizované promluvy v testovacím seznamu test.scp s využitím slovníku dict, který obsahuje seznam všech rozpoznávaných slov s jejich fonémovou transkripcí. Výsledek úspěšnosti rozpoznávání bude uložen do souboru results.mlf. Program HVite se spouští následujícím způsobem. HVite -C config2 -H hmm23/macros -H hmm23/hmmdefs -S test.scp -l ’*’ \ -i results.mlf -w wdnet -p -0 -s 5 dict monophones1 Rozpoznané promluvy jsou následně porovnány se skutečným obsahem testovacích promluv. Tato operace je prováděna programem HResults, který poté vypíše procentuální úspěšnost rozpoznávání testovacích promluv spolu s dalšími užitečnými informacemi. 27 KAPITOLA 3. TVORBA ŘEČOVÉHO ROZPOZNÁVAČE Program HResults se spouští následujícím příkazem, kde soubor wordstest.mlf obsahuje přesný obsah promluv a soubor vypisslov obsahuje výpis všech rozpoznávaných slov. HResults -I wordstest.mlf vypisslov results.mlf Podrobnější popis výpisu výsledků rozpoznávání programem HResults je uveden v kapitole 5.1. 3.4 Rozpoznávání souvislé řeči K rozpoznávání souvislé řeči byl použit program Czech LVCSR (Large Vocabulary Continuous Speech Recognition) [15] [1]. Jedná se o rozpoznávač řeči s velkým slovníkem. Tento rozpoznávač využívá k rozpoznávání promluv s velkým slovníkem program HDecode z balíku HTK. Trénování skrytých Markovových modelů zde probíhá na úrovni trifonů s mezislovním kontextem. Po natrénování jsou výsledné modely uloženy ve složce hmm50. Program byl upraven pro dávkové spouštění a pro snadný export výsledků rozpoznávání. K spouštění rozpoznávače se využívá skript PROCES.sh, který je umístěn ve složce /AM/script. Jako jazykový model při rozpoznávání souvislé řeči byl použitý trigramový model cnk 60000 tg1 cut1 [12]. Tento jazykový model byl vytvořen z Českého národního korpusu [5] a obsahuje celkem 60000 slov. Tento počet slov je velmi malý pro úspěšné rozpoznávání souvislé řeči, proto jsou výsledky rozpoznávání souvislé řeči brány pouze orientačně. 28 Kapitola 4 MPEG-1 Layer III komprese zvukových souborů V současnosti patří zvukový ztrátový formát MPEG-1 Layer III (zkráceně MP3) [9] k nejpopulárnějším formátům pro uchování komprimovaných zvukových souborů. Princip MP3 spočívá v odstranění zvuků ze zvukového signálu, které lidské ucho není schopno slyšet z důvodů své nedokonalosti. Tím je možné snížit velikost daného souboru řádově na desetinu své původní velikosti. V této práci se zkoumá jaký vliv na rozpoznávání řeči má právě použití ztrátové komprese MP3 na různě kvalitní řečové signály. Vývoj formátu MP3 začal v roce 1988 [6], ale až v roce 1992 byl výsledný formát pojmenovaný jako MPEG-1 standartizován. Následně byl tento formát několikrát vylepšen. Každému takovému rozšíření se říká Layer (vrstva). Layer I byl původně optimalizován pro datový tok 192 kbps, který se používal k záznamu zvuku na DCC (Digital Compact Cassette). Layer II byl optimalizovaný pro bitrate 128 kbps. Konečná verze formátu se označuje jako Layer III a je optimalizovaná pro velmi nízký datový tok 64 kbps. V této vrstvě obsažena finální verze psychoakustického modelu slyšení, který dokáže komprimovat zvukový soubor s dostatečně kvalitním výsledným zvukem i při velmi nízkém datovém toku. 4.1 Pořízení a uchování zvukových záznamů Nejběžnějším zařízením pro pořízení řečového záznamu je diktafon. V současnosti jsou na trhu zcela běžné digitální diktafony, které již prakticky vytlačily diktafony analogové. 29 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ Většina dnes dostupných diktafonů zvládá ukládat zvukový signál do formátu MP3. Tento formát umožňuje pořídit několikahodinový zvukový záznam při nízkých paměťových nárocích, proto je hojně využíván. Špičkové diktafony dokážou ukládat řečový signál do formátů, které byly vyvinuty výhradně pro uložení řečového záznamu v co možná nejlepší kvalitě při mnohem menších paměťových nárocích v porovnání s kompresí MP3. Tyto formáty jsou také odolné vůči slabinám MP3, které budou popsány v kapitole 4.3. Mezi tyto formáty patří zejména • TRC (Triple Rate Coder), • CELP (Code Excited Linear Prediction), • LPEC (Long-term Predicted Excitation Coding). 4.2 Princip MP3 Zjednodušené schéma principu MP3 komprese je uvedeno na obrázku 4.1. V následujících podkapitolách bude schéma popsáno. Banka filtrů 32 pásem FFT 1024 bodů MDCT Kvantizační blok Huffmanův kodér Tvorba datového rámce Psycho-akustický model Obrázek 4.1: Blokové schéma MP3 enkodéru 4.2.1 Banka filtrů a MDCT Vstupní signál je nejprve přefiltrován v kaskádě dvou bank filtrů, která se nazývá hybridní banka filtrů. První banka filtrů je tvořena ze 32 pásmových propustí, které rozdělí spektrum signálu na 32 stejně širokých frekvenčních pásem. Následně je zjištěn výkon v každém frekvenčním pásmu, jehož hodnota bude později použita pro výpočet maskovací úrovně daného pásma v psychoakustickém modelu. V každém frekvenčním pásmu je poté vypočítáno spektrum modifikovanou diskrétní kosinovou transformací, 30 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ která je realizována další bankou filtrů. Frekvenční pásmo signálu je omezeno intervalem od 0 do 15,5 kHz. Tím dojde k odstranění pro člověka neslyšitelných frekvencí, které poté nebude potřeba zbytečně kódovat. 4.2.2 Psychoakustický model Psychoakustický model modeluje lidský sluch a snaží se odhadnout s co možná nejlepší přesností, jaké části zvukového signálu lidské ucho není schopno slyšet. K tomuto účelu využívá zejména dvou nedokonalostí lidského ucha. Maskování ve frekvenční oblasti Lidské ucho pracuje na principu frekvenční analýzy. V hlemýždi, který je umístěný v lidském vnitřním uchu, jsou nervová zakončení. Ty převádí zvukové vibrace na vzruchové signály vedoucí dále do mozku. Pásma frekvencí vnímané člověkem nejsou rovnoměrně rozdělena. Nejcitlivější oblast sluchu leží v oblasti 3 ÷ 4 kHz, kde se právě nacházejí podstatné frekvence lidské řeči. Lidské ucho také nevnímá všechny frekvence stejně hlasitě. Maskování ve frekvenční oblasti pracuje na principu nemožnosti rozlišit lidským uchem zvuky podobných frekvencí, jejichž intenzitu vnímá člověk různě. Intenzivněji vnímaný zvuk překryje zvuk slaběji vnímaný. Dále přítomnost bílého šumu v určitých frekvenčních pásmech znemožňuje člověku slyšet zvuk, který se v daném pásmu nachází. Tyto pásma se nazývají kritická pásma a hranice těchto pásem odpovídají násobkům Barků. Maskování v časové oblasti Lidské ucho, z důvodů své konečné setrvačnosti bubínku, není schopné vnímat méně intenzivní zvuky, které se objeví po zvuku značně intenzivním. Bubínku trvá asi 160 ms, než se ustálí a dokáže v pořádku vnímat i zvuky s menší intenzitou. 4.2.3 Kvantizace úrovní signálu a kódovnání Pomocí odhadu intenzity signálu v každém ze 32 frekvenčních pásem se v každém pásmu signál nelineárně kvantuje. Pásma, ve kterých se vyskytují zvuky s větší intenzitou, se kvantují pomocí více bitů. Tím se zároveň v každém frekvenčním pásmu potlačuje kvantizační šum. 31 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ Kvantované hodnoty jednotlivých úrovní zvuku jsou poté zakódovány pomocí Huffmanova kódování. Toto kódování je mimořádně efektivní v redukci výsledné velikosti souboru, neboť častěji se opakující hodnoty kóduje kratším bitovým řetězcem, než hodnoty méně časté. 4.2.4 Konstrukce datových rámců Výsledný MP3 soubor je tvořen tzv. datovými rámci. Každý datový rámec je nezávislý na ostatních rámcích a má svou vlastní hlavičku. To má výhodu v tom, že pokud by byly některé rámce MP3 souboru poškozeny, existuje stále možnost zvukový soubor přehrát. Jednotlivé datové rámce mají délku určenou datovým tokem (bitrate). Datový tok odpovídá počtu kilobitů nutných pro zakódování jedné sekundy záznamu. Velikost datového toku MP3 má zásadní vliv na výslednou kvalitu zvukového souboru, čím je jeho velikost vyšší, tím lepší zvukovou kvalitu zvuku má i MP3 soubor. Tabulka 4.1 udává možné velikosti datových toků v závislosti na použitém vzorkování zvukového signálu. Vzorkovací frekvence 32, 44,1 a 48 kHz Bitrate [kbps] 32 40 48 56 64 80 96 112 128 160 192 224 256 320 Vzorkovací frekvence 16, 22,05 a 24 kHz Bitrate [kbps] 8 16 24 32 40 48 56 64 80 96 112 128 144 160 Tabulka 4.1: Vzorkovací frekvence a datový tok MP3 Jednotlivé rámce nemusí mít shodnou velikost datového toku. Metoda záznamu VBR (Variable bitrate) mění datový tok souboru v závislosti na aktuální potřebě. Tím je možné ještě více komprimovat výsledný soubor. 4.3 Nevýhody MP3 Formát MP3 nebyl vytvořen primárně pro kompresi řečových souborů. Proto se v případě komprese řeči s použitím nízkého datového toku můžou ve výsledném souboru objevit tzv. ozvěny. Dále může při MP3 kompresi dojít ke změně délky pomlk mezi slovy. Maximální hodnota datového toku může být navíc podle tabulky 4.1 maximálně 320 kbps, což může 32 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ být nedostatečné pro uchování vysoce kvalitních nahrávek. Dále MP3 formát dokáže pracovat pouze v režimu mono nebo stereo, není schopen ukládat vícekanálový zvuk. Tyto jevy jsou již odstraněny v modernějších kompresních zvukových formátech, které vycházejí z principu MP3 komprese a dokážou navíc výsledný soubor mnohem lépe komprimovat. Jedná se zejména o formáty Ogg Vorbis nebo AAC (MPEG-2 Advanced Audio Coding). Bohužel se, přes masové rozšíření formátu MP3, nepodařilo těmto formátům ve větší míře prosadit. 4.4 Tvorba databáze řečových signálů v MP3 formátu Pro testování vlivu MP3 komprese na úspěšnost rozpoznávání řeči bylo nutné všechny soubory k trénování a rozpoznávání do formátu MP3 enkódovat. Pro sestavení databáze komprimovaných souborů byl napsán skript mp3prevod.sh. Výsledná databáze řečových signálů s MP3 kompresí odpovídá svojí strukturou adresářů databázi SPEECON, která je zdrojem převáděných signálů. Daný skript převede do formátu MP3 soubory z kanálů CS0 až CS3, ale v případě potřeby dokáže vybrat k převodu pouze soubory z určitého kanálu. Do databáze jsou také nakopírovány anotační soubory s příponou CSO, které obsahují informace o daných signálech a obsahu promluv. Bylo vytvořeno celkem sedm složek, které obsahují komprimované soubory vždy s použitím jednoho datového toku MP3. Datové toky převedených souborů měly hodnotu 8, 24, 32, 40, 48, 64 a 160 kbps. V kořenovém adresáři databáze jsou umístěny seznamy s cestami k notifikačním souborům promluv v nově vzniklé databázi. Příklad stromové struktury adresářů nově vzniklé databáze s komprimovanými soubory ve složkách pojmenovaných SES### s datovým tokem 160 kbps je uveden na následující straně. 33 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ /home/behunek/komprese/bitrate_160 |-- BLOCK00 | |-- SES000 | | |-- SA000101.CS0 | | |-- SA000101.CS1 | | |-- SA000101.CS2 | | |-- SA000101.CS3 | | |-- SA000101.CSO | | | |-- SES001 | | | ‘-- SES009 ... ... |-- BLOCK01 | |-- SES010 | | ... | | ‘-- SES579 ‘-- BLOCK58 |-- SES580 |-- SES581 | ... ‘-- SES589 4.4.1 Převod řečových dat do formátu MP3 Jako enkodér do formátu MP3 byl použit program LAME [2]. Ten si bohužel neporadí s formátem zvukových souborů obsažených v databázi SPEECON. Všechny řečové soubory byly proto nejprve převedeny programem SoX [4] do zvukového formátu WAV, které již mohly být bezproblémově převedeny programem LAME do formátu MP3. Programy z balíku HTK bohužel se soubory ve formátu MP3 neumí pracovat, proto byly komprimované řečové soubory opět převedeny do formátu souborů databáze SPEECON. Ukázka převodu signálu SA466CB1.CS0 je uvedena následujícím způsobem. sox -t raw -r 16000 -s -w -c 1 SA466CB1.CS0 SA466CB1.WAV 34 KAPITOLA 4. MPEG-1 LAYER III KOMPRESE ZVUKOVÝCH SOUBORŮ lame -S -q 0 -b 160 --resample 16000 -m m SA466CB1.WAV SA466CB1.MP3 sox SA466CB1.MP3 -t raw -r 16000 -s -w -c 1 SA466CB1.CS0 Přepínače v programu SoX slouží pro definování vstupního souboru, neboť soubory z databáze SPEECON nemají informační hlavičku. Konkrétně se zde nastavuje hrubý formát dat, vzorkovací frekvence, počet zvukových kanálů a způsob kvantování hodnot v signálu. Po převodu souboru do formátu WAV je nově vzniklý soubor okamžitě převeden do formátu MP3 programem LAME. Přepínač v programu LAME -q 0 zajistí, aby byl výsledný MP3 soubor v co nejlepší možné zvukové kvalitě. Přepínačem -b se nastavuje požadovaná velikost datového toku v kbps. Po tomto převodu se opět spustí program SoX a převede komprimovaný soubor do formátu používaného v databázi SPEECON. Soubory WAV a MP3 vzniklé během procesu jsou vymazány. 35 Kapitola 5 Experimenty V následující kapitole budou podrobně popsány všechny vykonané experimety a jejich výsledky. Při rozpoznávání izolovaných slov v podobě základních číslovek byly použity parametrizace MFCC a PLP. Pro posouzení vlivu velikosti segmentace signálu na úspěšnost rozpoznávání řeči byly použity různé délky těchto těchto segmentačních úseků. Pro sledování vlivu různé kvality řečových signálů na úspěšnost rozpoznávání řeči byly použity signály ze všech kanálů databáze SPEECON, viz. kapitola 3.1.1. Pro sledování vlivu MP3 komprese zvukových souborů na úspěšnost rozpoznávání izolovaných slov byla řečová databáze převedena do tohoto formátu a opět se sledoval vliv délky segmentace při parametrizaci. Pro zjištění vlivu velikosti datového toku MP3 souboru bylo provedeno několik pokusů vždy s různou velikostí datového toku a opět s použitím parametrizací MFCC a PLP. Rozpoznávání souvislé řeči bylo provedeno s použitím rozpoznávače s velkým slovníkem Czech LVCSR. V případě rozpoznávání souvislé řeči byla použita pouze parametrizace MFCC. 5.1 Hodnocení úspěšnosti rozpoznávače K zhodnocení úspěšnosti správně rozpoznaných promluv využívá balík HTK program HResults. Tento program porovnává soubor obsahující rozpoznané promluvy na výstupu rozpoznávače se souborem, ve kterém je zapsán skutečný obsah rozpoznávaných promluv. Program HResults vyjádří úspěšnost rozpoznávání slov pomocí veličin %Corr a %Acc. 36 KAPITOLA 5. EXPERIMENTY K výpočtu těchto veličin jsou použity vzorce %Corr = H N −D−S · 100 = · 100 N N (5.1) a %Acc = N −D−S−I H−I · 100 = · 100. N N (5.2) Procentuální úspěšnost rozpoznaných slov %Corr je vypočítána ve vzorci (5.1) jako poměr správně rozpoznaných slov H vůči celkovému počtu rozpoznávaných slov N. Počet správně rozpoznaných slov H se určí jako rozdíl všech slov N a slov vynechaných D a slov špatně rozpoznaných S. V případě výpočtu %Acc se ve vzorci (5.2) od počtu správně rozpoznaných slov H navíc odečte počet slov I, tedy slov která se objevila při rozpoznávání promluv navíc. Pro posouzení úspěšnosti rozpoznávání se zavádí veličina %W ER (Word error rate). Tato veličina odpovídá procentuálnímu poměru všech chyb vůči počtu všech rozpoznávaných slov N. Hodnota %W ER se vypočítá vzorcem %W ER = D+S+I · 100 = 100 − %Acc. N (5.3) Veličina W ERR slouží pro porovnání hodnoty %W ER při použití různého nastavení parametrizace a parametrizace, která byla zvolena jako referenční. Jako referenční parametrizace řečových promluv na daném zvukovém kanálu %W ERref er byla zvolena parametrizace MFCC s délkou segmentačního okna 32 ms, s 16 ms překryvem a 22 filtry v melovské bance filtrů. Výpočet hodnoty W ERR se provádí vzorcem W ERR = 1 − 5.1.1 %W ER %W ERref er · 100. (5.4) Značení parametrizace Značení různých nastavení při parametrizaci řečových signálů v následujících kapitolách má tvar např. mfc163222 hmm23. První tři písmena značí metodu parametrizace, mfc 37 KAPITOLA 5. EXPERIMENTY odpovídá parametrizace MFCC a plp parametrizaci PLP. Následující šestice čísel značí typ segmentace a počet pásem banky filtrů. V tomto případě byl použit přeryv segmentů 16 ms, segmentační okno mělo délku 32 ms a při parametrizaci byla využita melovská banka filtrů s 22 pásmy. Konec řetězce hmm23 značí, že byly k rozpoznávání promluv použity modely po 23. trénovacím cyklu. 5.2 Rozpoznávání izolovaných slov Při testování úspěšnosti rozpoznávání izolovaných slov bylo použito celkem 228 promluv pořízených 27 mluvčími. Testovací promluvy obsahovaly celkem 899 číslovek. Jednalo se o spisovné i nespisovné tvary základních číslovek od nuly do devíti ve formě jedné vyslovené číslovky nebo jako sekvence několika číslovek za sebou. K rozpoznávání byly využity modely fonémů bez kontextové závislosti po 23. trénovacím cyklu. 5.2.1 Parametrizace MFCC V tabulkách 5.1 - 5.4 jsou uvedeny výsledky rozpoznávání izolovaných slov při použití parametrizace MFCC. Řečové promluvy z kanálu CS0 mají v porovnání s ostatními kanály nejlepší zvukovou kvalitu. To dokazuje i tabulka 5.1, kde překonává úspěšnost rozpoznávání ve všech případech hodnotu 95 %. V případě jiných nastavení parametrizace se úspěšnost lišíla v řádu desetin procent. Parametrizaci mfc102522 lze považovat jako nevhodnější pro velmi kvalitní zvukové soubory. Při této parametrizaci dosáhla úspěšnost rozpoznávání izolovaných slov na zvukovém kanálu CS0 hodnoty 96,89 %. Ve všech tabulkách lze vidět, že použití kratšího segmentačního okna mělo za následek snížení počtu vynechaných slov při jejich rozpoznávání, ale na druhou stranu rostl s kratším segmentačním oknem počet navíc vložených slov. Jednotlivé symboly ve všech tabulkách této kapitoly mají následující význam: %Corr - úspěšnost rozpoznávání v procentech %Acc - úspěšnost rozpoznávání v procentech se započítanými slovy, které byla při rozpoznávání promluv vložena navíc H - počet správně rozpoznaných slov 38 KAPITOLA 5. EXPERIMENTY D - počet slov, která byla vynechána S - počet slov zaměněných za jiná při rozpoznávání promluv I - počet chybně vložených slov navíc do rozpoznávaných promluv N - počet celkem rozpoznávaných slov %W ER - Word error rate W ERR - srovnání Word error rate v procentech pro jednotlivé parametrizace s parametrizací, která byla zvolena jako referenční Typ parametrizace %Corr %Acc mfc163222 hmm23 95,44 mfc081622 hmm23 H D S I N %WER WERR 95,22 858 23 18 2 899 4,78 0 96,66 95,55 869 4 26 10 899 4,45 7,0 mfc081630 hmm23 96,44 95,33 867 7 25 10 899 4,67 2,3 mfc102522 hmm23 97,33 96,89 875 7 17 4 899 3,11 34,9 mfc102530 hmm23 95,97 95,64 858 19 17 3 899 4,36 8,8 mfc163230 hmm23 95,88 95,66 862 20 17 2 899 4,34 9,3 Tabulka 5.1: Úspěšnost rozpoznávání izolovaných slov na kanálu CS0 s parametrizací MFCC Zvuková data získaná z kanálu CS1 měla v porovnání s kanálem CS0 podobnou zvukovou kvalitu, což dokazuje tabulka 5.2. Úspěšnost rozpoznávání izolovaných slov ve všech případech přesahovala hodnotu 90 %, ale již lze pozorovat rozdíl v jednotkách procent pro jednotlivé nastavení parametrizací. Jako nejlepší parametrizaci lze opět považovat mfc102522, při níž úspěšnost dosáhla hodnoty 92,66 %. 39 KAPITOLA 5. EXPERIMENTY Typ parametrizace %Corr %Acc mfc163222 hmm23 93,44 mfc081622 hmm23 H D S I N %WER WERR 92,44 840 32 27 9 899 7,56 0 94,22 91,21 847 14 38 27 899 8,79 -16,2 mfc081630 hmm23 93,77 90,99 843 15 41 25 899 9,01 -19,1 mfc102522 hmm23 94,99 92,66 854 20 25 21 899 7,34 2,9 mfc102530 hmm23 94,77 91,55 852 19 28 29 899 8,45 -11,77 mfc163230 hmm23 92,66 91,77 833 40 26 8,23 -8,8 8 899 Tabulka 5.2: Úspěšnost rozpoznávání izolovaných slov na kanálu CS1 s parametrizací MFCC Tabulka 5.3 zobrazuje výsledky rozpoznávání promluv získaných z kanálu CS2. Jednotlivé úspěšnosti rozpoznávání řeči se od sebe liší při různých nastaveních parametrizace o více než 10 %. Promluvy ovlivněné okolním šumem a menší hlasitostí záznamu je tedy nejlepší parametrizovat s použitím delšího segmentačního okna. Jako nejlepší parametrizací byla parametrizace mfc163222, při níž úspěšnost dosáhla hodnoty 88,99 %. Typ parametrizace %Corr %Acc mfc163222 hmm23 90,43 mfc081622 hmm23 H D S I N %WER WERR 89,54 813 58 28 8 899 10,46 0 90,88 77,98 817 20 62 116 899 22,02 -110,6 mfc081630 hmm23 91,55 80,42 823 18 58 100 899 19,58 -87,2 mfc102522 hmm23 92,21 87,43 829 32 38 43 899 12,57 -20,2 mfc102530 hmm23 93,21 88,99 838 28 33 38 899 11,01 -5,3 mfc163230 hmm23 89,77 88,99 807 64 28 7 899 11,01 -5,3 Tabulka 5.3: Úspěšnost rozpoznávání izolovaných slov na kanálu CS2 s parametrizací MFCC Výsledky rozpoznávání v případě použití nejméně kvalitních řečových signálů v kanálu CS3 jsou uvedeny v tabulce 5.4. Jako nejlepší parametrizace vycházela mfc163230 s úspěšností 61,85 %. Parametrizace s kratšími segmentačními okny měly úspěšnost rozpoznávání v porovnání s mfc163230 horší o více než 10 %. 40 KAPITOLA 5. EXPERIMENTY Typ parametrizace %Corr %Acc H D S I N %WER WERR mfc163222 hmm23 70,63 61,18 635 107 157 85 899 38,82 0 mfc081622 hmm23 70,08 43,60 630 88 181 238 899 56,40 -45,3 mfc081630 hmm23 69,97 43,27 629 95 175 240 899 56,73 -46,1 mfc102522 hmm23 71,52 48,28 643 83 173 209 899 51,72 -33,2 mfc102530 hmm23 71,19 49,83 640 81 178 192 899 50,17 -29,2 mfc163230 hmm23 71,19 61,85 640 103 156 38,15 1,7 84 899 Tabulka 5.4: Úspěšnost rozpoznávání izolovaných slov na kanálu CS3 s parametrizací MFCC 5.2.2 Parametrizace PLP Tabulky 5.5 - 5.8 zobrazují výsledky rozpoznávání izolovaných slov při použití parametrizace PLP. Všechny provedené výsledky rozpoznávání byly porovnány s parametrizací MFCC, u které byla naměřena největší úspěšnost rozpoznávání izolovaných slov při použití zvukových signálů z daného kanálu. I při použití parametrizace PLP docházelo k největší úspěšnosti rozpoznávání na kanálech CS0 a CS1 při použití segmentačního okna 25 ms a překryvem 10 ms. Na kanálech CS2 a CS3 byla opět nejvíce úspěšná parametrizace se segmentačním oknem délky 32 ms a překryvem 16 ms. Při použití nejkvalitnějších zvukových signálů z kanálu CS0 dosáhla nejlepší úspěšnost hodnoty 96,33 % a při nejméně kvalitních signálech z kanálu CS3 dosáhla úspěšnost hodnoty 64,63 %. Ve srovnání s parametrizací MFCC vycházely výsledky rozpoznávání izolovaných slov při použití parametrizace PLP méně úspěšné. Rozdíl v úspěšnosti rozpoznávání oproti parametrizaci MFCC byl v řádu jednotek procent. Pouze v případě kanálu CS3 bylo rozpoznávání s parametrizací PLP o několik procent úspěšnější v porovnání s parametrizací MFCC. 41 KAPITOLA 5. EXPERIMENTY Typ parametrizace %Corr %Acc H D S I N %WER WERR mfc102522 hmm23 97,33 96,89 875 7 17 4 899 3,11 0 plp081619 hmm23 97,00 95,11 872 7 20 17 899 4,89 -57,2 plp102519 hmm23 97,11 96,33 873 11 15 7 899 3,67 -18,0 plp163219 hmm23 95,55 95,11 859 23 17 4 899 4,89 -57,2 Tabulka 5.5: Úspěšnost rozpoznávání izolovaných slov na kanálu CS0 s parametrizací PLP Typ parametrizace %Corr %Acc H D mfc102522 hmm23 94,99 92,66 854 20 plp081619 hmm23 91,77 84,76 plp102519 hmm23 93,88 plp163219 hmm23 90,66 S I N %WER WERR 25 21 899 7,34 0 825 17 57 63 899 15,24 -107,6 90,32 844 20 35 32 899 9,68 -31,9 89,43 815 45 39 11 899 10,57 -44,0 Tabulka 5.6: Úspěšnost rozpoznávání izolovaných slov na kanálu CS1 s parametrizací PLP Typ parametrizace %Corr %Acc mfc163222 hmm23 90,43 plp081619 hmm23 H D S I N %WER WERR 89,54 813 58 28 8 899 10,46 0 92,55 85,54 832 19 48 63 899 14,46 -38,3 plp102519 hmm23 94,33 88,54 848 24 27 52 899 11,46 -9,6 plp163219 hmm23 92,10 88,88 828 37 34 29 899 11,12 -6,4 Tabulka 5.7: Úspěšnost rozpoznávání izolovaných slov na kanálu CS2 s parametrizací PLP Typ parametrizace %Corr %Acc H D S I N %WER WERR mfc163230 hmm23 71,19 61,85 640 103 156 84 899 38,15 0 plp081619 hmm23 72,30 49,83 650 78 171 202 899 50,17 -31,5 plp102519 hmm23 73,19 57,84 658 97 144 138 899 42,16 -10,51 plp163219 hmm23 71,97 64,63 647 119 133 35,37 7,29 66 899 Tabulka 5.8: Úspěšnost rozpoznávání izolovaných slov na kanálu CS3 s parametrizací PLP 42 KAPITOLA 5. EXPERIMENTY 5.3 Rozpoznávání izolovaných slov s použitím komprese MP3 5.3.1 Parametrizace MFCC V první řadě při rozpoznávání komprimovaných řečových signálů bylo potřeba zjistit, zda se v nějaké míře podílí na úspěšnosti rozpoznávání promluv s MP3 kompresí velikost segmentačního okna. Tento experiment byl proveden na promluvách v kanálu CS0, které byly zkomprimovány do formátu MP3 s nejvyšším možným nastavitelným datovým tokem 160 kbps. V tabulce 5.9 se jeví jako nejoptimálnější parametrizace mfc163222, neboť u parametrizací s menší délkou segmentačního okna docházelo k razantnímu snížení úspěšnosti rozpoznávání izolovaných slov. Parametrizace mfc163222 byla proto zvolena jako výchozí pro následující pokusy. Typ parametrizace %Corr %Acc H D S I N mfc081622 hmm23 80,65 54,39 725 48 126 236 899 45,6 mfc102522 hmm23 90,88 76,31 817 30 52 23,7 mfc163222 hmm23 93,33 93,21 839 38 22 131 899 1 899 %WER 6,79 Tabulka 5.9: Výběr vhodné parametrizace MFCC pro soubory s MP3 kompresí Pro zjištění vlivu velikosti datového toku MP3 komprese u souborů s řečovými promluvami na úspěšnost rozpoznávání izolovaných slov byly postupně vybrány datové toky o velikosti 8, 24, 32, 40, 48, 64 a 160 kbps. Tabulky 5.10 - 5.13 zobrazují výsledky rozpoznávání řeči při použití MP3 komprese a srovnávají je s výsledky na nekomprimovaných promluvách. V tabulce 5.10 jsou zobrazeny výsledky pro soubory z kanálu CS0. Při postupném snižování datového toku MP3 souborů až do hodnoty 40 kbps se úspěšnost rozpoznávání nijak výrazně neměnila. Ve srovnání s použitými nekomprimovanými soubory vycházela úspěšnost nižší asi o 2 %. Při snížení datového toku na hodnotu 24 kbps převyšovala stále úspěšnost rozpoznávání hodnotu 89 %. Snížení datového toku na hodnotu 8 kbps způsobilo razantní pokles úspěšnosti na 21 %. 43 KAPITOLA 5. EXPERIMENTY Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 95,44 95,22 858 23 18 2 899 4,78 0 8 44,94 21,02 404 189 306 215 899 78,98 -1551,2 24 93,44 89,32 840 27 32 37 899 10,68 -123,3 32 89,88 89,77 808 63 28 1 899 10,23 -114,0 40 93,33 93,33 839 39 21 0 899 6,67 -39,5 48 93,33 93,33 839 39 21 0 899 6,67 -39,5 64 93,21 93,21 838 36 25 0 899 6,79 -41,9 160 93,33 93,21 839 38 22 1 899 6,79 -41,9 Tabulka 5.10: Úspěšnost rozpoznávání slov na kanálu CS0 s použitím komprese MP3 Snižování velikosti datového toku při MP3 kompresi souborů s nahrávkami promluv z kanálu CS1 až do hodnoty 32 kbps opět nezpůsobilo výrazný pokles úspěšnosti rozpoznávání promluv ve srovnání s použitím nekomprimovaných souborů. Úspěšnost poklesla o necelých 10 %. Při snižování datového toku až na hodnotu 32 kbps úspěšnost rozpoznávání mírně stoupala. Datový tok 24 kbps a nižší výrazně snížil úspěšnost rozpoznávání. Výsledky pro kanál CS1 jsou v tabulce 5.11. Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 93,44 92,44 840 32 27 9 899 7,56 0 8 42,16 16,35 379 180 340 232 899 83,65 -1005,9 24 45,38 37,71 408 285 206 69 899 62,29 -723,5 32 89,77 88,54 807 60 32 11 899 11,46 -51,5 40 89,10 86,43 801 51 47 24 899 13,57 -79,4 48 88,77 85,54 798 50 51 29 899 14,46 -91,2 64 89,32 84,43 803 51 45 44 899 15,57 -105,9 160 88,99 83,31 800 50 49 51 899 16,69 -120,6 Tabulka 5.11: Úspěšnost rozpoznávání slov na kanálu CS1 s použitím komprese MP3 Výsledky pro kanály CS2 a CS3 jsou v tabulkách 5.12 a 5.13. V obou případech byla úspěšnost rozpoznávání o desítky procent nižší než při použití nekomprimovaných 44 KAPITOLA 5. EXPERIMENTY souborů. I v tomto případě bylo možné úspěšnost rozpoznávání považovat za konstantní až do snížení datového toku na hodnotu 32 kbps. Pro kanál CS2 vycházela úspěšnost rozpoznávání s použitím komprimovaných souborů asi 43 %, na kanálu CS3 byla tato úspěšnost asi 31 %. V tabulce pro kanál CS2 chybí podrobné výsledky pro datový tok 32 kbps, neboť ty byly nenávratně ztraceny při havárii počítače, na kterém běžel rozpoznávač. Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 90,43 89,54 813 58 28 8 899 10,46 0 8 36,15 12,57 325 215 359 212 899 87,43 -736,2 24 51,84 38,71 466 224 209 118 899 61,29 -486,2 40 59,96 43,94 539 168 192 144 899 56,06 -436,2 48 61,96 43,83 557 164 178 163 899 56,17 -437,2 64 61,07 43,60 549 170 180 157 899 56,40 -439,4 160 60,51 42,83 544 175 180 159 899 57,17 -446,8 Tabulka 5.12: Úspěšnost rozpoznávání slov na kanálu CS2 s použitím komprese MP3 Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 70,63 61,18 635 107 157 85 899 38,82 0 8 34,93 6,90 314 231 354 252 899 93,10 -139,8 24 38,60 27,92 347 289 263 899 72,08 -85,7 32 50,28 33,48 452 189 258 151 899 66,52 -71,3 40 46,83 31,59 421 212 266 137 899 68,41 -76,2 48 46,94 32,26 422 207 270 132 899 67,74 -74,5 64 47,83 31,59 430 218 251 146 899 68,41 -76,2 160 46,72 30,03 420 221 258 150 899 69,97 -80,2 96 Tabulka 5.13: Úspěšnost rozpoznávání slov na kanálu CS3 s použitím komprese MP3 Úspěšnost rozpoznávání izolovaných slov s použitím komprimovaných souborů je pro přehlednost zobrazena na obrázku 5.1. Obrázek obsahuje i úspěšnost rozpoznávání pro 45 KAPITOLA 5. EXPERIMENTY datový tok 32 kbps na kanálu CS2. 100 90 80 %Acc [ % ] 70 60 50 40 30 20 10 0 160 CS0 CS0 CS1 CS1 komprimovaný bez komprese komprimovaný bez komprese 64 48 CS2 CS2 CS3 CS3 komprimovaný bez komprese komprimovaný bez komprese 40 Bitrate [ kbps ] 32 24 8 Obrázek 5.1: Úspěšnost rozpozávání řeči při MP3 kompresi s parametrizací MFCC 5.3.2 Parametrizace PLP I v případě parametrizace PLP bylo nejdříve zjištěno, zda se velikost segmentačního okna projevila na úspěšnosti rozpoznávání izolovaných slov. K tomuto testu byly použity data z kanálu CS0 komprimované do formátu MP3 s datovým tokem opět 160 kbps. Podle tabulky 5.14 dochází s kratším oknem ke snížení úspěšnosti rozpoznávání slov. Tento pokles nebyl tak vysoký jako v případě parametrizace MFCC. Parametrizace plp163219 byla vybrána jako nejlepší možná pro provedení všech rozpoznávání slov s různou velikostí bitrate MP3 souborů. 46 KAPITOLA 5. EXPERIMENTY Typ parametrizace %Corr %Acc H D S I plp081619 hmm23 92,99 72,64 836 10 53 183 899 27,36 plp102519 hmm23 94,33 81,76 848 14 37 113 899 18,24 plp163219 hmm23 93,21 93,10 838 41 20 6,90 1 N %WER 899 Tabulka 5.14: Výběr vhodné parametrizace PLP pro soubory s MP3 kompresí Následující pokusy se sledováním vlivu velikosti datového toku MP3 souborů na úspěšnost rozpoznávání byly prováděny s datovým tokem nastaveným postupně na 160, 40, 24 a 8 kbps. V tabulce 5.15 jsou zobrazeny výsledky pro kanál CS0. Snižováním datového toku MP3 souborů až na hodnotu 24 kbps bylo dosaženo opět stejné úspěšnosti při rozpoznávání slov. Tato úspěšnost byla asi o 3 % nižší než při použití nekomprimovaných souborů a asi o půl procenta nižší ve srovnání s rozpoznáváním komprimovaných signálů parametrizovaných metodou MFCC. Při snížení datového toku na hodnotu 8 kbps bylo dosaženo úspěšnosti rozpoznávání 62,40 %, což bylo výrazně více než při použití parametrizace MFCC. Bitrate [kbps] %Corr %Acc bez komprese 95,44 8 H D S I N %WER WERR 95,22 858 23 18 2 899 4,78 0 73,97 62,40 665 86 148 104 899 37,60 -686,0 24 92,55 92,32 832 41 26 2 899 7,68 -60,5 40 92,77 92,66 834 46 19 1 899 7,34 -53,5 160 93,21 93,10 838 41 20 1 899 6,90 -44,2 Tabulka 5.15: Rozpoznávání slov na kanálu CS0 s použitím komprese MP3 s parametrizací PLP Také na kanálu CS1 se výsledky při použití parametrizace PLP nepatrně lišily od výsledků s parametrizací MFCC. Rozdíl byl v řádech desetin procent. Při této parametrizaci také při snižování datového toku MP3 souborů do hodnoty 24 kbps nepatrně stoupala úspěšnost rozpoznávání řeči jako v případě parametrizace MFCC. Výsledky na kanále CS1 zobrazuje tabulka 5.16. 47 KAPITOLA 5. EXPERIMENTY Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 93,44 92,44 840 32 27 9 899 7,56 0 8 50,06 36,15 450 187 262 125 899 63,85 -744,1 24 89,66 88,21 806 49 44 13 899 11,79 -55,9 40 88,77 87,32 798 52 49 13 899 12,68 -67,6 160 87,76 82,09 789 49 61 51 899 17,91 -136,8 Tabulka 5.16: Úspěšnost rozpoznávání slov na kanálu CS1 s použitím komprese MP3 s parametrizací PLP Při rozpoznávání řeči na kanálu CS2 byla zaznamenána největší změna oproti parametrizaci MFCC. Výsledky pro kanál CS2 jsou uvedeny v tabulce 5.17. Úspěšnost rozpoznávání byla při použití parametrizace PLP o 40 procent vyšší, než při použití parametrizace MFCC. S datovým tokem 40 kbps dosáhla úspěšnost rozpoznávání hodnoty 83,09 %. Při hodnotě datového toku 8 kbps úspěšnost opět výrazně klesla. Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 90,43 89,54 813 58 28 8 899 10,46 0 8 40,38 24,25 363 216 320 145 899 75,75 -624,5 24 88,43 80,09 795 51 53 75 899 19,91 -90,4 40 89,43 83,09 804 45 50 57 899 16,91 -61,7 160 87,88 78,75 790 50 59 82 899 21,25 -103,2 Tabulka 5.17: Úspěšnost rozpoznávání slov na kanálu CS2 s použitím komprese MP3 s parametrizací PLP Na kanálu CS3 byla úspěšnost rozpoznávání o jednotky procent nižší ve srovnání s výsledky při použití parametrizace MFCC, což dokazuje tabulka 5.18. 48 KAPITOLA 5. EXPERIMENTY Bitrate [kbps] %Corr %Acc H D S I N %WER WERR bez komprese 90,43 89,54 813 58 28 8 899 10,46 0 8 30,70 11,01 276 272 351 177 899 88,99 -129,2 24 42,83 28,70 385 234 280 127 899 71,30 -83,7 40 42,94 28,48 386 254 259 130 899 71,52 -84,2 160 40,38 27,36 363 264 272 117 899 72,64 -87,1 Tabulka 5.18: Úspěšnost rozpoznávání slov na kanálu CS3 s použitím komprese MP3 s parametrizací PLP Jednotlivé úspěšnosti při použití různých velikostí datových toků při komprimaci dat ze všech kanálů zobrazuje obrázek 5.2. V obrázku jasně vidět, že pro jednotlivé kanály snižování datového toku až do hodnoty 24 kbps nemá výrazný vliv na úspěšnost rozpoznávání izolovaných slov. 100 90 80 %Acc [ % ] 70 60 50 40 30 20 10 0 160 CS0 CS0 CS1 CS1 komprimovaný bez komprese komprimovaný bez komprese 40 CS2 CS2 CS3 CS3 komprimovaný bez komprese komprimovaný bez komprese Bitrate [ kbps ] 24 8 Obrázek 5.2: Úspěšnost rozpozávání řeči při MP3 kompresi s parametrizací PLP 49 KAPITOLA 5. EXPERIMENTY 5.4 Rozpoznávání souvislé řeči V případě rozpoznávání souvislé řeči byly provedeny pouze orientační pokusy s použitím jazykového modelu s velmi malým slovníkem. Použitý jazykový model byl popsán v kapitole 3.4. K rozpoznávání souvislé řeči byl využit rozpoznávač Czech LVCSR s trigramovým jazykovým modelem cnk 60000 tg1 cut1, který obsahoval 60000 slov. Pro testování úspěšnosti rozpoznávání souvislé řeči bylo použito 5 promluv, které rozpoznáváč Czech LVCSR obsahuje ve svém balíčku. Jednotlivé rozpoznávané věty jsou uvedeny v následujícím seznamu: Potvrdili tak podezření jednoho severočeského neurochirurga. Hostinský Lukeš doplní džbánek a Eda zaplatí. Karas viděl, že mu na ní chybí celý malíček a půl prsteníku. Teď už se živili jen tím co ukradli na polích a ve dne se nikde neukazovali. Maminka přinesla koláče s tvarohem a s mákem, ale brouček pořád nic. Rozpoznávač Czech LVCSR pracuje na principu trénování trifonů, celkem se provede 50 trénovacích cyklů. Toto trénování skrytých Markovových modelů je mnohem časově náročnější, než jakékoliv předešlé. Z tohoto důvodu nebyly provedeny žádné pokusy s parametrizací s délkou segmentačního okna 16 ms a překryvem 8 ms. K parametrizaci řečových promluv, ze stejného seznamu jako při rozpoznávání izolovaných slov, byla použita pouze metoda MFCC. Jako %W ERref er byla opět zvolena parametrizace mfc163222. V tabulkách 5.19, 5.20 a 5.21 jsou vypsány výsledky pro kanály CS0 až CS2. Na těchto kanálech vychází prakticky shodná úspěšnost rozpoznávání souvislé řeči. Tato úspěšnost na všech kanálech při použití parametrizace mfc102522 dosahuje hodnoty 54,72 %. V tabulce 5.22 pro kanál CS3 se jako nejlepší parametrizace jeví mfc163222, ale v tomto případě dosahuje úspěšnost rozpoznávání souvislé řeči pouze hodnoty 16,98 %. Rozpoznávač neměl většinou problém správně rozeznat krátká slova v podobě zájmen a předložek. Tato slova jsou v češtině velmi běžná a mají jistě v jazykovém modelu velmi vysokou pravděpodobnost. Naopak méně běžná slova jako Lukeš a neurochirurga se nepodařilo ani v jednom případě rozpoznat korektně. 50 KAPITOLA 5. EXPERIMENTY Typ parametrizace %Corr %Acc H D S mfc163222 hmm50 64,15 50,94 34 2 mfc102522 hmm50 71,70 54,72 38 mfc102530 hmm50 71,70 54,72 mfc163230 hmm50 66,04 54,72 I N %WER WERR 17 7 53 49,06 0 0 15 9 53 45,28 7,7 38 0 15 9 53 45.28 7,7 35 1 17 6 53 45,28 7,7 Tabulka 5.19: Úspěšnost rozpoznávání souvislé řeči na kanálu CS0 Typ parametrizace %Corr %Acc H D S mfc163222 hmm50 66,04 54,72 35 2 mfc102522 hmm50 67,92 54,72 36 mfc102530 hmm50 66,04 49,06 mfc163230 hmm50 56,60 45,28 I N %WER WERR 16 6 53 45,28 0 1 16 7 53 45,28 0 35 1 17 9 53 50,94 -12,5 30 3 20 6 53 54,72 -20,8 Tabulka 5.20: Úspěšnost rozpoznávání souvislé řeči na kanálu CS1 Typ parametrizace %Corr %Acc H D S mfc163222 hmm50 47,17 41,51 25 6 mfc102522 hmm50 64,15 54,72 34 mfc102530 hmm50 58,49 49,06 mfc163230 hmm50 45,28 39,62 I N %WER WERR 22 3 53 58,49 0 5 14 5 53 45,28 22,6 31 6 16 5 53 50,94 12,9 24 8 21 3 53 60,38 -3,2 Tabulka 5.21: Úspěšnost rozpoznávání souvislé řeči na kanálu CS2 Typ parametrizace %Corr %Acc H D S I N %WER WERR mfc163222 hmm50 18,87 16,98 10 22 21 1 53 83,02 0 mfc102522 hmm50 15,09 11,32 8 12 33 2 53 88,68 -6,8 mfc102530 hmm50 22,64 15,09 12 11 30 4 53 84,91 -2,3 mfc163230 hmm50 9,43 9,43 5 53 90,57 -9,1 23 25 0 Tabulka 5.22: Úspěšnost rozpoznávání souvislé řeči na kanálu CS3 51 Kapitola 6 Závěr V této práci byla zkoumána úspěšnost rozpoznávání řeči v reálných podmínkách kancelářského prostředí. K rozpoznávání byly použity různě kvalitní řečové signály a dále se sledoval vliv MP3 komprese těchto signálů na úspěšnost rozpoznávání řeči. K tomuto účelu byl vytvořen rozpoznávač pracující na principu modelování fonémů bez kontextové závislosti pomocí skrytých Markovových modelů. K tvorbě rozpoznávače byly použity programy z balíku HTK. Rozpoznávání řeči bylo testováno při rozpoznávání izolovaných slov v podobě základních číslovek a dále při rozpoznávání souvislé řeči. Pro sledování vlivu ztrátové komprese MP3 řečových signálů na úspěšnost rozpoznávání řeči se tato práce zabývá také problematikou převodu zvukových souborů do formátu MP3 a tvorbou databáze takto komprimovaných řečových signálů. Byly použity celkem dvě metody pro parametrizaci řečových signálů. Metoda MFCC vykazovala větší úspěšnost při použití kvalitních řečových signálů, naopak metoda PLP měla vyšší úspěšnost rozpoznávání řeči v nejméně kvalitních řečových signálech. Při parametrizaci kvalitních řečových signálů bylo nejoptimálnější zvolit segmentační okno dlouhé 25 ms s 10 ms překryvem, naopak v případě nejméně kvalitních signálů byla nejvyšší úspěšnost rozpoznávání dosažena při použití segmentačního okna dlouhého 32 ms s překryvem 50 %. Kvalita řečových souborů má zásadní vliv na úspěšnost rozpoznávání řeči. Při použití nejkvalitnějších zvukových souborů dosahovala úspěšnost rozpoznávání izolovaných slov hodnoty 96,89 %. U nejméně kvalitních řečových signálů dosáhla nejlepší úspěšnost hodnoty pouze 64,63 %. Pro sledování vlivu MP3 komprese na úspěšnost rozpoznávání slov byla vytvořena nová databáze, která obsahuje komprimované zvukové soubory z databáze SPEECON. K převodu souborů do formátu MP3 byl použit enkodér LAME. Při rozpoznávání komprimovaných souborů bylo zásadní používat dlouhé segmentační okno, neboť v případě 52 KAPITOLA 6. ZÁVĚR použití kratších oken razantně klesala úspěšnost rozpoznávání slov. Úspěšnost rozpoznávání řeči při použití kvalitních zvukových souborů po jejich převodu do formátu MP3 klesla o jednotky procent. U méně kvalitních řečových signálů byl pokles úspěšnosti rozpoznávání v desítkách procent. Při snižování datového toku u MP3 souborů v případě parametrizace MFCC do hodnoty 32 kbps a u parametrizace PLP až do hodnoty 24 kbps se úspěšnost rozpoznávání nijak neměnila. Hodnota datového toku 8 kbps zásadně snížila úspěšnost rozpoznávání slov v případě obou parametrizací. Pro uchování řečových souborů má hodnota datového toku 32 kbps MP3 nejvyšší poměr úspěšnosti rozpoznávání slov ku velikosti výsledného souboru. Pro rozpoznávání souvislé řeči při použití různě kvalitních řečových signálů byl použit rozpoznávač Czech LVCSR. Zde přesahovala úspěšnost rozpoznávání promluv hranice 50 %, ale v rozpoznávači byl použitý jazykový model obsahující nízký počet slov. Nejlepších výsledků bylo dosaženo při parametrizaci s délkou segmentačního okna 25 ms a překryvem 10 ms. Pouze u nejméně kvalitních řečových signálů pořízených ve vzdálenosti několika metrů od mluvčího dosahovala úspěšnost hodnoty pouze 16,98 %. Mnohem větší úspěšnosti rozpoznávání souvislé řeči by bylo dosaženo lepšími akustickými modely jednotlivých řečových elementů a s využitím metod pro potlačení šumu v řečových signálech. Pro rozpoznávání souvislé řeči je také nezbytně nutné použít kvalitní jazykové modely pro modelování rozpoznávaného jazyka s dostatečným počtem obsažených slov. 53 Literatura [1] Czech LVCSR - Jednoduchý rozpoznávač s velkým slovníkem na bázi HDecode (HTK). [online]. [citováno 24. listopadu 2010]. Dostupné z: <http://noel.feld.cvut.cz/speechlab/start.php?page=download>. [2] LAME MP3 Encoder. [online]. [citováno 24. listopadu 2010]. Dostupné z: <http://lame.sourceforge.net>. [3] SAMPA for Czech. [online]. [citováno 17. března 2010]. Dostupné z: <http://www.phon.ucl.ac.uk/home/sampa/czech-uni.htm>. [4] SoX - Sound eXchange — HomePage. [online]. [citováno 24. listopadu 2010]. Dostupné z: <http://sox.sourceforge.net>. [5] Český národní korpus. [online]. [citováno 6. prosince 2010]. Dostupné z: <http://ucnk.ff.cuni.cz>. [6] Brandenburg, K. – Popp, H.: An introduction to MPEG Layer-3, EBU Technical Review, 2000. [7] Fousek, P.: Předzpracování řeči s šumovým pozadím pro účely komunikace a rozpoznávání, ČVUT, Fakulta elektrotechnická, 2002. [8] Fousek, P.: Manuál CtuCopy, ČVUT, Fakulta elektrotechnická, 2006. [9] Kahrs, M. – Brandenburg, K.: Applications of Digital Signal Processing to Audio and Acoustics, Kluwer Academic Publishers, 1998. [10] Novotný, J.: Trénování a využití kontextově závislých HMM modelů fonémů Výzkumná zpráva, ČVUT, Fakulta elektrotechnická, 2002. [11] Pollák, P. – Černocký, J.: Czech Speecon Adult Database, ČVUT FEL K331, Technická 3, Praha, 16627; VUT Brno, Božetěchova 2, Brno 61200, 2004. 54 LITERATURA [12] Procházka, V. – Pollák, P.: Analysis of Czech Web 1T 5-gram Corpus and Its Comparison with Czech National Corpus Data, In LNAI 6231, (TSD 2010), P. Sojka et al., Ed. Springer-Verlag Berlin Heidelberg, 2010, pp. 181–188. [13] Psutka, J. a. k.: Mluvíme s počítačem česky, Praha: Academia, 2006. ISBN 80-200-1309-1. [14] Rajnoha, J.: Rozpoznávání řeči v reálných podmínkách na platformě standardního PC, ČVUT, Fakulta elektrotechnická, 2006. [15] Rajnoha, J. – Procházka, V. – Pollák, P.: Tvorba rozpoznávače plynulých promluv v českém jazyce standardními nástroji HTK, Akustické listy, vol. 16, no. 1, pp. 5–10, 2010. [16] Satrapa, P.: Perl pro zelenáče, Neocortex spol s.r.o., 2001. ISBN 80-86330-02-8. [17] Sovka, P. – Pollák, P.: Vybrané metody číslicového zpracování signálů, Vydavatelství ČVUT, 2001. [18] Uhlíř, J. a. k.: Technologie hlasových komunikací, Praha: Nakladatelství ČVUT, 2007. ISBN 978-80-01-03888-8. [19] Young, S. a. k.: The HTK Book (for HTK Version 3.4), Cambridge University Engineering Department, Cambridge, GB, 2009. 55 Příloha A 742617000027 Obsah přiloženého CD Součástí této diplomové práce je i přiložené CD, které obsahuje následující položky: • Tato práce ve formátu PDF. • Adresář Výsledky, který obsahuje výsledky jednotlivých rozpoznávání ve všech svých trénovacích cyklech. • Soubory, seznamy a spouštěcí skripty nutné pro spuštění rozpoznávače izolovaných slov. • Upravený rozpoznávač Czech LVCSR, který byl použit v této práci pro rozpoznávání souvislé řeči. • Skript mp3prevod.sh pro komprimaci řečových signálů databáze SPEECON do formátu MP3. I Příloha B 742617000027 Seznam a verze použitého software • HTK Speech Recognition Toolkit; v3.4; http://htk.eng.cam.ac.uk • HDecode; v3.4; http://htk.eng.cam.ac.uk • CtuCopy; v3.0.11; http://noel.feld.cvut.cz • Czech LVCSR; v1.0; http://noel.feld.cvut.cz • SoX; v14.3.0; http://sox.sourceforge.net • LAME; v3.98.2; http://lame.sourceforge.net II
Podobné dokumenty
Přednáška 6 - www.itakura.kes.tul.cz
1. Natrénovat jednomixturové modely
2. Zvýšit počet požadovaných mixtur na dvojnásobek.
3. Několika iteracemi natrénovat nový model s daným počtem mixtur.
4. Pokračovat až do požadovaného počtu mix...