ČVUT FEL
Semestrální práce
z předmětu
31 ASI
Algoritmy zpracování signálů
katedry
K331 -Teorie obvodů
Letní semestr 1998/1999
Štěpán Foršt V/7

Obsah :
 1. Zadání
 2. Úvod
 3. Výsledky
 4. Závěr
 5. Použitá literatura
 6. Seznam použitých souborů


1. Zadání
1) Proveďte formantovou analýzu pomocí kepstra samohláskových úseků vybraných českých číslovek.
2) Na základě kepstrální analýzy realizujte jednoduchý samohlaskový klasifikátor.
3) Vyhodnoťte dosažené výsledky a porovnejte je s výsledky LPC analýzy a adaptivního zpracování.
 Zpět


2. Úvod
Vznik akustického signálu řeči v mluvidlech [4]
    Všechny zvukové složky řeči jsou složené zvuky. Mají jednak tónovou a jednak šumovou povahu. Jejich vznik v mluvidlech si lze představit jako výsledek spolupůsobení jednoho nebo více zdrojů zvuku a filtračního systému.
    Zdrojem zvuku tónového charakteru je hlasové ústrojí, v případě, že v něm vzniká základní tón. Z akustického hlediska je to složený tónový zvuk tvořený harmonickou řadou.
    Filtračním systémem, na němž závisí konečné rozložení energie vzniklého vlnění v jednotlivých frekvenčních pásmech, tj. výsledná kvalita zvuku, jsou prostory nadhrtanových dutin.

    a) Prochází-li nadhrtanovými dutinami základní tón, a to jednoduchou cestou více méně bez překážek, zesilují se rezonancí některé jeho svrchní harmonické tóny. Vznikají hlásky se silnou tónouvou složkou. Tak je tomu především u samohlásek, ale i u některých souhlásek.
    b) Při průchodu základního tónu nadhrtanovými dutinami může dále vznikat tzv. antirezonance, při níž je určité frekvenční pásmo silně utlumeno nebo zcela eliminováno. Dochází k tomu tehdy, vytvoří-li se vedlejší zvuková cesta (jako u nosových hlásek) nebo je-li uprostřed zvukové cesty další zdroj akustického vlnění (jako u hlásek tvořených překážkou uvnitř ústní dutiny).
    c) Zvuky šumové povahy jsou také různým způsobem modifikovány. V tom případě působí nadhrtanové prostory jako šumový filtr, který tlumí amplitudu v některých jeho pásmech, a tím mění jeho charakter.
    d) Na tvoření jedné hlásky se může podílet více zdrojů zvuku a více druhů jeho modifikací, hláska často obsahuje jak tónové, tak šumové složky. Ve všech případech záleží výsledný zvuk na akustických vlastnostech prostorů nad hrtanem. Zvukové rozdíly mezi segmenty řeči jsou důsledkem možnosti tyto prostory měnit.

    Konkrétní hláska řeči jako část reálného akustického signálu obsahuje větší (přesně nespecifikovatelné) množství zvukových složek. Některé z těchto složek však musí být přítomny, aby byla hláska poznatelná a mohla plnit svou funkci při stavbě jazykové znakové jednotky.
 Samohlásky mají ze všech řečových segmentů nejvíce tónový charakter.Tónové zvuky vznikající rezonancí v nadhrtanových dutinách se nazývají formanty. V pořadí první (nejhlubší) složka ve spektru nad základním tónem se označuje jako první formant (F1), následuje druhý formant atd. Základní tón bývá označován jako formant "nulový" (F0).
    Jednotlivé samohlásky se od sebe liší polohou formantů (tj. složením tónových zvuků změněných v závislosti na změně frekvenčních pásem rezonance prostoru nad hrtanem).
    České samohlásky jsou rozděleny do tříd první třídu tvoří samohláska a, druhou třídu tvoří samohlásky e a i a třetí třída je tvořena samohláskami o a u.

Kepstrum [1,2]
    Výpočet kepstra patří do skupiny homomorfní analýzy, což je jedne z postupů nelineárního zpracování signálů, které jsou založeny na využití zobecněného principu superpozice. Tyto postupy se hodí pro oddělování signálů, které vznikly konvolucí či násobením dvou nebo více složek. Vhodnost aplikace takového přístupu při zpracování řeči vyplývá z modelu vzniku řečových kmitů jako konvoluce budící funkce s impulsní odezvou hlasového ústrojí.Cílem analýzy je vydělit jednotlivé členy konvolutorního součinu.
    Na následujícím obrázku je obecné schéma systému homomorfního vůči konvoluci. D* se nazývá charakteristický systém.
 
 







 


















    Blokové schema dharakteristického systému D* pro výpočet kepstra je na následujícím obrázku.
 
 





 










    Funkci charakteristického systému D* lze popsat rovnicemi:
 

 
X(z) = Z{x(n)} = Z{ x1(n) *x2(n) } = X1(z)* X2(z)
(2.1)
 
X^(z) = log[X(z)]= log[X1(z)]+log[X2(z)] = X^1(z)+X^2(z)
(2.2)
 
x^(n) = Z -1{ X^(z) } =  Z -1{ X^1(z)+X^2(z) } = x^1(n)+x^2(n)
(2.3)

    Z uvedených rovnic a obrázku je zřejmé, že charakteristický systém D* převádí konvoluci vstupních signálů na součet modifikovaných vstupních signálů. L je lineární systém, který realizuje lineární filtraci vstupních signálů. Výstupní signál x^(n) se nazývá  kepstrum.

Lineární prediktivní kódování (LPC) [1,2]
    Jedná se o metodu, kterou se snažíme na krátkodobém základě přímo z řečového signálu odhadnout parametry modelu vytváření řeči.Model vytváření řeči se skládá ze systému s časově proměnným přenosem a generátoru budících funkcí, který při vytváření znělých zvuků budí systém posloupností impulsů a při vytváření neznělých zvuků náhodným šumem. Princip metody LPC je založen na předpokladu, že k-tý vzorek signálu s(k) lze popsat lineární kombinací Q předchozích vzorků a buzení u(k), t.j
 
 



,                           (2.4)


 






kde koeficient G je zesílení a Q je řád modelu. Přenosovou funkci modelu H(z) lze pak zapsat ve tvaru
 


                      (2.5)

    Sledovanými parametry jsou zde koeficienty ai číslicového filtru a koeficient zesílení G. Při splnění předpokladu kvazistacionarity signálu (t.j. stacionarity signálu na sledovaném časovém intervalu). lze pro určení ai a G využít metody nejmenších čtverců. Při neznámém členu Gu(k) v rovnici (2.4) vzniká chyba predikce e(k) mezi skutečnou hodnotou s(k) a předpovězenou s^(k). Funkce krátkodobé energie chyby signálu

, (2.6)
má minimum v bodě
,                                     (2.7)
Řešením (2.7) dostaneme soustavu rovnic
     (2.8)
Označíme-li
                        (2.9)
lze (2.8) přepsat na
.             (2.10)
Při řešení této soustavy lze aplikovat, z hlediska volby mezí sumace pro k, dva základní přístupy - autokorelační a kovarianční. Při zpracování řeči se využívá převážně autokorelační přístup založený na předpokladu, že signál je roven nule vně zkoumaného krátkodobého intervalu (mikrosegementu). Lze to provést váhováním signálu mikrosegmentu okénkem konečné délky (např. Hammingovým) s N vzorky. Liší-li se sn(k) od nuly pouze na intervalu 0<=k<=N-1, pak odpovídající chyba predikce en(k) pro prediktor Q -tého řádu se bude lišit od nuly na intervalu 0<=k<=N-1-Q, takže
.                                  (2.11)
Meze v (2.9) musí souhlasit s mezemi v (2.11) a protože je sn(k) rovno nule vně intervalu 0<=k<=N-1, lze vztah
(2.12)
vyjádřit jako
(2.13)
Vztah (2.13) je krátkodobá autokorelační funkce Rn, přičemž platí, že
                                          (2.14)
                                   (2.15)
Jetliže Rn(i) bude sudá funkce, pak
                    (2.16)
a rovnici (2.10) lze přepsat do tvaru
                        (2.17)
nebo do maticového zápisu
             (2.18)
Podobně lze vyjádřit i minimální střední kvadrát chyby predikce. Uvážíme-li v krátkodobém intervalu vztahy (2.6), (2.8) a (2.15) platí, že
                                      (2.19)
    Abychom mohli rozpoznat hlásku, které odpovídá zkoumaný mikrosegment, musíme určit frekvenční charakteristiku modelu (2.5). Tu lze určit známe-li jeho koeficienty ai. K určení těchto koeficinetů byl v tomto případě použit následující postup. Ze signálu mikrosegmentu byly vypočítány jeho autokorelační koeficenty až do řádu Q. Z nich byla vytvořena Töplitzova matice a byly dosazeny do rovnice (2.18). Odtud byly určeny koeficienty filtru ai .

Adaptivní vyhledávání řečových formantů [3,1]

Zpracování signálů v časové oblasti

Metody krátkodobé analýzy v časové oblasti lze většinou vyjádřit vztahem
 
 


          (2.20)


 


kde Qn je krátkodobá charakeristika, s(k) je vzorek akustického signálu v čase k, t(.) vyjadřuje příslušnou transformační funkci a w(n) je váhová posloupnost (tzv. okénko). Okénko vybírá příslušné vzorky signálu a přiděluje jim při zpracování určitou váhu. V metodách zpracování v časové oblasti je nejčastěji využíváno Hammingovo a pravoúhlé okénko. U pravoúhlého okénka jsou všechny vzorky mikrosegmentu váhovány stejnou hodnotou. Okénko je definováno  vztahem

         (2.21)

Kde n je pořadí vzorku v mikrosegmentu a N je délka mikrosegmentu.
Hammingovo okénko využíváme, když potřebujeme potlačit vliv vzorků na krajích mikrosegmentu. Hammingovo okno je definováno vztahem
       (2.22)
    Protože všechny vzorky signálu, které nejsou uvnitř mikrosegmentu, jsou váženy nulou lze vztah (2.20) přepsat do tvaru
          (2.23)
    Vzorky s(k) jsou vždy vztaženy ke konkrétnímu mikrosegmentu, s(0) je první vzorek mikrosegmentu. V případě, že na sebe mikrosegmenty navazují, pohybuje se okénko po časové ose s krokem N vzorků. Překrývají-li se jednotlivé mikrosegmenty, pak se okénko po časové ose pohybuje s menším krokem.
    Budeme-li se na w(n) ve vztahu (2.20) dívat jako na impulsní funkci zjistíme, že nám tento vztah představuje diskrétní konvoluci posloupnosti vzorků t(s(k)) a impulsní funkce. Což lze interpetovat jako rovnici filtrace. Výše uvedená okénka jsou filtry typu dolní propust. Šířka propustného pásma pravoúhlého okénka je přibližně poloviční oproti šířce propustného pásma Hammingova okénka. Mimo propustné pásmo má Hammingovo okénko též podstatně větší útlum než okénko pravoúhlé.

Krátkodobá enrgie a intenzita

    Krátkodobou energii signálu je možno určit podle vztahu
 
 



          (2.24)


 






kde s(k) je vzorek signálu a w(n) udává typ okénka. Hodnota funkce krátkodobé energie udává jakou má průměrnou hodnotu energie signálu v mikrosegmentu. Nevýhodou této krátkodobé charakteristiky je, že kvadrátem zvyšuje dynamiku signálu, která je u řečového signálu velmi vysoká. Krátkodobá intenzita nezvyšuje dynamiku signálu. Její definici je možno popsat vztahem
 


            (2.25)


 


Krátkodobá funkce středního počtu průchodu signálu nulovou úrovní

    Jednoduchou charakteristikou spektrálních vlastností signálu je frekvence průchodů signálu nulovou úrovní. V řečovém signálu jí lze využít pro vyhledávání hlásek ?ž?, ?š?, ?č?, ?ř?, ?s?. Krátkodobou funkci středního počtu průchodů signálu nulou lze vypočíst ze vztahu
 
 


         (2.26)
 kde           (2.27)


 


a  w(n) je pravoúhlé okénko.

Krátkodobá autokorelační funkce

    Krátkodoubou autokorelační funkci definuje vztah
 
 


                (2.28)


 


kde w(n) je váhovací okénko. Autokorelační funkce se využívá zejména  pro indikaci periodicity signálu. Je-li zkoumaný signál periodický s periodou P, pak autokorelační funkce nabývá maximálních hodnot právě pro m=rP, kde r je celé kladné číslo nebo nula.

Identifikace vokálních úseků

    K identifikaci samohláskových úseků bylo využito těchto charakteristik signálů : průběh intenzity, průběh první špičky autokorelace a funkci průchodu nulou.
Průběh autokorelace byl zjišťován blokovou metodou:
 
 


         (2.29)


 


    Intenzita a průchody nulou byly zjišťovány blokovou metodou [1]:

         (2.30)
.           (2.31)







Rozpoznávání vokálních úseků na základě formantového popisu

Formantové kmitočty a jejich určení

    Při hledání formantových kmitočtů se vychází z aproximace fyzikálního modelu artikulačního ústrojí pomocí AR modelu. Modelem artikulačního ústrojí je lineární soustava s přenosovou funkcí
 
 


          (2.32)


 


Nulové body polynomu A(z) = 0 určují polohu pólů přenosové funkce H(z).

      (2.33)

V řešení této rovnice p-tého řádu převažují páry komplexně sdružených kořenů.
Je-li dvojice komplexně sdružených kořenů pak formantový kmitočet je
[Hz]      (2.34)
a šířka pásma formantů
[Hz].      (2.35)
    Formantové kmitočty je možno získávat například metodou peakpicking (vyhledávání vrcholů ve spektrální obálce), nebo pomocí adaptivních filtrů.

Adaptivní hledání formantových kmitočtů

    Pro vyhledávání formantových kmitočtů adaptivní metodou bylo využito normovaného adaptivního prediktoru 4. řádu, jeho schema je na následujícím obrázku.
 
 






Schema prediktoru s normovaným algoritmem


 










Jednotlivé formantové kmitočty byly určovány podle vztahu :
 
 


  (2.36)


 


Kde fs je vzorkovací frekvence, aij jsou koeficienty filtru a Fi je příslušná frekvence.
Klasifikátor
    Klasifikátor byl navržen jako vyhledávač nejmenší pytagorijské vzdálenosti mezi vektorem formantů (resp. jejich poměrů) vypočtených pro daný segment a vektorem průměrných formantů (resp. jejich poměrů) českých samohlásek (použité hodnoty jsou z [3]).

 Zpět


3. Výsledky
 
Promluva formanty získané pomocí kepstra poměr formantů získaných z kepstra formanty získané pomocí LPC poměr formantů získaných pomocí LPC formanty získané průběžnou metodou poměr formantů z průběžné metody
jedn1000 e e e i e i
jedn1001 e e i i i i
jedn1002 e e e e i i
jedn1003 e e e e i i
jedn2000 e e e i e i
jedn2001 e e e i i i
jedn2002 e e e e i i
jedn2003 e e e e i i
jedn3000 e e e i e i
_dve1000 e i e i i i
_dve1001 e e e e i i
_dve1002 e i e i i i
_dve1003 e i e i i i
_dve2000 *wav (16,8) e(16,8) e(16,8) e i e e e i i i a a
_dve2001 *wav (16,8) i(16,8) e(16,8) i i i e i i a a a a
_dve2002 e e e e i i
_dve2003 e i e i e i
deve1000 (1) e e e i i i
deve1000 (2) e i e i i i
deve1001 (1) i i i i a i
deve1001 (2) i i i i a i
deve1002 (1) e e e e e i
deve1002 (2) e e e i e i
deve1003 (1) e i e i i i
deve1003 (2) e i i i i i
deve2000 (1) e i e i i i
deve2000 (2) e i e i i i
deve2001 (1) i i i i i i
deve2001 (2) i i i i i i
deve2002 (1) e e e e i i
deve2002 (2) e e e i i i
deve2003 (1) e i e i i i
deve2003 (2) e i i i i i
Úspěšnost 85,7% 48,6% 77,1% 25,7% 17,1% 0,0%
třída 100% 100% 100% 100% 88,6% 88,6%
 Zpět


4. Závěr
    Nejlepší úspěšnost ze zkoumaných algoritmů na daném vzorku promluv projevil algoritmus, který získával hodnotu formantů pomocí kepstrální analýzy (85,7 %), nedokázal však rozpoznat asi sedminu samohlásek. Při použití poměru formantů se úspěšnost rozpoznávání dále zhoršila. Třída samohlásek ve všech případech daného vzorku byla správně rozpoznána jen s využitím kepstralní analýzi a LPC, při použití průběžné metody pro určení formantů nebyla správně rozpoznána třída samohlásky u čtyř vzorků samohlásek.
 Zpět


5. Literatura
[1] Psutka, J., Komunikace s počítačem mluvenou řečí, (Academia, Praha 1995)
[2] poznámky z přednášek a cvičení předmětu ASI (letní semestr 1998/1999)
    (přednášející : Doc. Ing. Pavel Sovka, CSc. , cvičící :  Ing. Petr Pollák, CSc.  )
[3] Foršt, Š., Klasifikace řečových segmentů, (bakalářská práce, ČVUT FEL 1998)
[4] Palková, Z., Fonetika a fonologie češtiny, (Karolinum, Praha 1994)
[5] DZR6, Informace ke cvičení z předmětu Diskrétní Zpracování signálů
     (Ing. Roman Čmejla, CSc.)
 Zpět


6. Seznam použitých souborů
SEMASI2.M               hlavní soubor
ATDMM.M
CASCHAR.M            soubor pro výpočet časových charakteristik na základě, kterých je nalezen znělý úsek
FOMTY2.M               adaptivní vyhledávač formantů
CHRKYI.M               soubor použitý pro vyhledávání znělých úseků řeči
IMA.M                      soubor pro zobrazení 2 rozměrné matice h
INIT.M
KORELACE.M
OZNAC.M                 soubor pro označení
PEAKPICK.M           soubor využitý pro vyhledání špiček ve spektrální obálce
POROVNEJ.M          porovnávací algoritmus
REKNI.M
ROZTAHNI.M          soubor využitý pro natažení kretšího vektoru na délku delšího
SGN.M
SIGNAL2.M              soubor pro vyhledání znělého úseku a spuštění adaptivního vyhledávače formantů v této části signálu
SLEDUJ.M