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

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...

Více