Formantová syntéza
ÚVOD ZÁKLADNÍ BLOKY PŘÍKLAD SYNTETIZÉRU m-file LITERATURA

kodovani ISO 8859-2
" Syntéza řeči = filtrace vhodného buzení vhodným filtrem "

1. Úvod

Syntézu ve frekvenční oblasti lze v zásadě provádět dvěma typy syntezátorů -  formantovým a LPC. Zatímco při použití LPC se snažíme modelovat přenosovou charakteristiku hlasového traktu najednou, u formantových syntezátorů je možné nastavovat jednotlivé parametry samostatně. Formantová syntéza mnohem více než jiné způsoby tvorby syntetické řeči připomíná skutečný hlasový trakt.

Formantové syntetizéry se nesnaží modelovat do detailů lidské hlasové ústrojí, ale vytvářejí výsledný signál pomocí několika jednoduchých pravidel. Ta jsou založena na teorii produkce lidské řeči (obr.1). Chování zdroje popisuje ve frekvenční oblasti jeho spektrum . Zdroj budí hlasový trakt s přenosovou funkcí , zjednodušeně popsatelný jako skupina rezonátorů. Výslednou podobu pak zvuku dá model vyzařování řečového signálu .
 

Model produkce lidské řeči
Obr.1 Model produkce lidské řeči.


2. Základní stavební bloky

ČÍSLICOVÝ REZONÁTOR
ČÍSLICOVÝ ANTIREZONÁTOR
ZDROJ BUDÍCÍHO SIGNÁLU
VYZAŘOVACÍ FUNKCE

Číslicový rezonátor

Základním prvkem formantového syntetizéru jsou rezonátory, sloužící k modelování spektrálních vrcholů. Jejich chování je dáno dvěma parametry: rezonanční
frekvencí a šířkou pásma . Rezonátor je možno simulovat zpětnovazebním filtrem druhého řádu. Pro výstupní signál y platí diferenční rovnice
 

(1)

kde y(n-1) a y(n-2) jsou dva předchozí výstupní vzorky a A, B a C jsou konstanty. Pro ně platí
 

 
(2)
     

 
Číslicový rezonátor
Obr. 2 Číslicový rezonátor.
Číslicový rezonátor: impulsní odezva a frekvenční charakteristika
Obr. 3 Číslicový rezonátor: impulsní odezva a frekvenční charakteristika 
(= 500 Hz, = 100 Hz).

Přenosovou funkci i-tého rezonátoru lze vyjádřit ve tvaru

(3)
a pokud dosadíme 
(4)

Konstanta A normuje přenosovou funkci tak, že na začátku frekvenční osy má úroveň 0 dB.
 

obsah

Číslicový antirezonátor

Pro modelování tzv. antiformantů, vznikajících vlivem vedlejších rezonátorů v hlasovém traktu, se používá antirezonátoru. Jeho popis lze odvodit z předchozích vztahů. Přenosová funkce antirezonátoru je zrcadlovým obrazem přenosové funkce rezonátoru. Platí tedy
 

(5)

Z rovnice (5) lze psát diferenční rovnici popisující výstupní signál
 

(6)

 
(7)

Rovnici (7) přepíšeme na tvar
 

(8)

Jak je vidět, jde o filtr bez zpětných vazeb. Pro konstanty A', B' a C' platí
 

(9)

kde A, B a C jsou popsány vztahem (2), řídícími parametry jsou frekvence antirezonance a šířka pásma .
Antirezonátor se používá pro úpravu spektra budícího zdroje, přesněji řečeno k modelování propojení zdroje buzení a hlasového traktu, a v kaskádním zapojení též  k simulaci nazálů.
 

Číslicový antirezonátor
Obr. 4 Číslicový antirezonátor.
Číslicový antirezonátor: impulsní odezva a frekvenční charakteristika
Obr. 5 Číslicový antirezonátor: impulsní odezva a frekvenční charakteristika 
(= 1000 Hz, = 400 Hz).
 
obsah

Zdroj buzení pro znělou řeč - periodické buzení

Nejjednodušším použitelným modelem buzení pro znělou řeč je posloupnost impulsů. Mezi jednotlivými impulsy je mezera odpovídající pitch periodě. Použití takového zdroje dává srozumitelnou řeč, ale výsledek zní "strojově". Aby se buzení více blížilo chování skutečných hlasivek, je třeba impuls vhodně natvarovat. To se dá provést použitím jednoduchého filtru druhého řádu [1] popsaného rovnicí
 

(10)

kde  a tc je časová konstanta, která definuje polohu maximální hodnoty pulsu a současně i strmost jeho klesání. Z diferenční rovnice (10) lze psát přenosovou funkci
 

(11)

Její průběh klesá o 12 dB na oktávu. Impulsní odezva filtru a jeho frekvenční charakteristika je na obr.6.Vzhledem k tomu, že délka pitch periody není konstantní, je třeba rozhodnout o hodnotě tc, definující polohu maxima (poměr doby náběžné a sestupné části pulsu). Obvykle se volí tc = 1/10. Existují ještě další (a složitější) modifikace vstupního impulsu (např. Rosenbergův nebo Fantův model, viz [1]). Ty umožňují mnohem přesněji modelovat chování skutečného zdroje buzení a dosáhnout přirozeně znějícího výstupu. Jejich nevýhodou je skutečnost, že pro dobré výsledky vyžadují více parametrů.

Charakteristiky zdroje buzení
Obr.6 Charakteristiky zdroje buzení.
 
obsah

Zdroj buzení pro neznělou řeč - šumové buzení

Pro generování neznělých úseků řeči je potřeba vytvořit model buzení, který odpovídá otevřeným hlasivkám. Tento stav lze simulovat generátorem bílého šumu. Jeho signál prochází dolní propustí s frekvenční charakteristikou klesající o 6 dB na oktávu. Pro tento účel postačí jednoduchý integrátor. Pro jeho výstup platí rovnice
 

(12)
 
obsah

Vyzařovací funkce

Po průchodu budícího signálu modelem hlasového traktu ještě zbývá simulovat chování signálu při vyzařování do prostoru. S dostatečnou přesností lze vystačit s filtrem prvního řádu. Pro něj platí
 

(13)

Jde o horní propust, jejíž charakteristika stoupá o 6 dB na oktávu. Vzhledem k tomu, že charakteristika zdroje buzení má pokles 12 dB na oktávu, mělo by pro výstupní (znělý) signál platit, že jeho charakteristika klesá 6 dB na oktávu.
 

obsah

3. Příklad jednoduchého formantového syntetizéru

USPOŘÁDÁNÍ REZONÁTORŮ
KLATTŮV FORMANTOVÝ SYNTETIZÉR
MODEL HLASOVÉHO TRAKTU
ÚPRAVY

Uspořádání rezonátorů

Rezonátory modelující hlasový trakt je možno uspořádat dvěma způsoby - paralelně a sériově. V paralelním uspořádání každému rezonátoru  předchází obvod pro řízení amplitudy . Ten nastavuje relativní velikost rezonanční křivky příslušného formantu.
 

Paralelní a sériové řazení rezonátorů
Obr. 7 Paralelní a sériové řazení rezonátorů.

V sériovém (kaskádním) řazení rezonátorů naopak individuální nastavování amplitud chybí, jednotlivé rezonátory jsou řazeny přímo za sebou. Nevýhodou takovéto konfigurace je nemožnost dobrého generování frikativ a plosiv. Výhodou je mnohem přesnější modelování vlastností hlasového traktu pro případ sonorních frikativ a afrikát. Tyto rozdílné vlastosti obou základních zapojení vedou přirozeně k myšlence zahrnout do syntetizéru obě dvě cesty, jak sériovou, tak i paralelní.

Zřejmě nejznámějším formantovým syntetizérem je kaskádně/paralelní systém navrhnutý D. Klattem (1979) [2]. 

obsah

Klattův formantový syntetizér

Klattovo zapojení vyžaduje velmi mnoho parametrů (celkem 39, z toho 20 proměnných). Pro základní seznámení je nutno syntetizér upravit, přesněji řečeno zjednodušit. Prvním krokem bude omezení frekvenčního rozsahu.

Většina energie obsažené v řečovém signálu leží ve frekvenčním pásmu do 8 kHz, ale složky ovlivňující srozumitelnost leží ještě níže, pod hranicí 4 kHz. To je v souladu s tvrzením o důležitosti prvních dvou formantů. Je tedy možné omezit vzorkovací frekvenci na 8 kHz. Pro rozložení formantů ve spektru platí přibližný vztah (podrobnější rozbor s odvozením v [1])
 

(14)

kde d je frekvenční vzdálenost dvou formantů, v je rychlost zvuku a L je délka hlasového traktu. Obvykle L = 17 cm (pro dospělé), v = 340 m/s a tedy
 

(15)

Při výše uvedeném omezení vzorkovací frekvence to znamená, že syntéza bude zahrnovat první čtyři formanty, navíc nejvyšší z nich může mít pevně nastavenou hodnotu..

Další omezení se bude týkat větve paralelně řazených rezonátorů. Každý z nich vyžaduje samostatné řízení zisku. Tuto část syntetizéru tedy vypustíme. Jedinými vstupními parametry tak zůstanou délka pitch periody , formantové kmitočty  a parametr znělý /neznělý. Celý systém lze popsat blokovým schématem, které vychází ze základního modelu produkce řeči.

Formantový syntetizér
Obr.8 Formantový syntetizér.
 
obsah

Model hlasového traktu, sestavení rezonátorů

Na rozdíl od původního zapojení [2] a jeho variant [1], jsme omezili počet formantových kmitočtů. Navíc z analyzátoru získáváme údaje jen o prvních třech formantech. Čtvrtý formantový kmitočet tedy zvolíme tak, aby (pokud to bude možné z hlediska frekvenčního rozsahu signálu) kopíroval formantovou stopu  ve vzdálenosti 1000 Hz. Pro zjednodušení zvolíme pevně nastavené typické hodnoty. Pro jednotlivé formanty bude platit
 

= 50 Hz, = 100 Hz, = 250 Hz  a = 300 Hz (16)

Při změnách formantových kmitočtů a šířek pásma je možno sledovat tři jevy. Pokud zdvojnásobíme šířku pásma, vrchol příslušného formantu poklesne o 6 dB. Za druhé, při zvýšení (snížení) frekvence se úroveň tohoto a všech vyšších formantů zvýší (sníží). Za třetí, pokud se dva formanty k sobě přiblíží, jejich úroveň se zvýší.
 

Po zvětšení šířky pásma se úroveň formantu sníží
Obr.9 Po zvětšení šířky pásma se úroveň formantu sníží (čárkovaně).

 
Zvýšení úrovně s růstem rezonanční frekvence
Obr.10 Zvýšení úrovně s růstem rezonanční frekvence (čárkovaně).

 
Přiblížení dvou formantů
Obr.11 Přiblížení dvou formantů (čárkovaně).
 
obsah

Úpravy

Pokud nyní zkusíme k sestavenému modelu hlasového traktu připojit zdroj buzení a nastavovat parametry podle údajů z analyzátoru, získáme skutečně srozumitelnou řeč. Při srovnání s původním signálem (obr. 12) je patrná podoba obou spektrogramů. Signál má však velkou úroveň na vysokých kmitočtech. Pokud porovnáme spektrum dvou odpovídajících si segmentů, lze v syntetickém segmentu jasně vidět jednotlivé rezonanční křivky, zatímco v řečovém signálu jsou více deformovány (obr. 13).

Syntetická řeč a originál
Obr.12 Syntetická řeč (horní obrázek) a originál.
Srovnání spektra jednoho segmentu syntetické řeči a originálu
Obr. 13 Srovnání spektra jednoho segmentu syntetické řeči (horní obrázek) a originálu.

Pro vylepšení vlastností syntezátoru lze s omezeným počtem dostupných parametrů udělat jen málo. První možností je přidání antirezonátorů do hlasového traktu. Zařazení antirezonance způsobí ve spektru pokles na dané frekvenci a změní úroveň ostatních formantů. První antirezonátor s = 0 Hz (jde tak vlastně o horní propust) zajistí plynulejší klesání prvního formantu směrem k nižším kmitočtům. Omezení vyšších kmitočtů by bylo možné vypuštěním modelu vyzařování zvuku. Pokud to ale provedeme, je výsledkem značné snížení srozumitelnosti. Proto i zde použijeme antirezonátory. Ty zařadíme vždy mezi dva formanty tak, že střední frekvence antirezonátoru je dána průměrem dvou sousedních formantů .
Jako šířky pásem jednotlivých antirezonátorů se osvědčily tyto hodnoty
 
 

= 300 Hz, = 300 Hz, = 500 Hz  a = 500 Hz (17)

Další možná úprava se týká zdroje buzení. V zapojení [2] se za glotální filtr přidává ještě paralelní kombinace antirezonátoru  a rezonátoru . První z nich vylepšuje spektrální charakteristiku budícího zdroje, zatímco druhý tvaruje spektrum buzení především z hlediska znělých frikativ. Každý má své vlastní parametry i řízení zisku. Jejich výstupní signály se sčítají a dále se s nimi již pracuje stejně jako v předchozím případě. Zde narážíme na základní potíž při adaptování formantového syntetizéru pro náš účel. Většina publikovaných variant totiž předpokládá jako cílovou aplikaci systém typu text to speech. Pracují tedy s velkým počtem signálových i fonetických parametrů. Pokud se nenecháme odradit a nastavíme parametry  na doporučené hodnoty a použijeme stejné řízení zisku pro obě dvě větvě, je i tak výsledná řeč srozumitelnější a především přirozenější. Upravené zapojení budícího zdroje je obr. 14. Pro antirezonátor budeme používat jako typické střední hodnoty
 

= 1500 Hz, = 6000 Hz (18)

a pro rezonanční filtr
 

= 0 Hz, = 200 Hz (19)

 
Zdroj buzení pro znělou řeč
Obr. 14 Zdroj buzení pro znělou řeč.
 
obsah

Soubory pro Matlab
 
f_filtr.m Formantový filtr
af_filtr.m Antiformantový filtr
g_zdroj.m Zdroj budícího signálu pro znělou řeč (glottal filter)
razeni.m Demonstrace vlivu jednoho formantu na ostatní
synth.m Jednoduchý syntetizér s jednou kaskádní větví
synthseg.m Funkce pro syntézu jedné pitch periody
lpc_lpc.m Srovnání segmentů původní a syntické řeči
jednafor.mat Data pro syntetizér
 

obsah

Odkazy

[1] Harrington J., Cassidy S.: Techniques in speech acoustics, Kluwer Academic Publishers, Dordrech/ Boston/ London, 1999
[2] Klatt, D.H.: Software for a cascade/parallel formant synthesizer, The Journal of the Acousticial Society of America, 67(3), 1980
[3] Psutka, J.: Komunikace s počítačem mluvenou řečí, Academia, Praha, 1995


Tento text vznikl jako podklad pro cvičení z předmětu DZR na katedře teorie obvodů ČVUT. Poslední úprava 15.5.2001

Petr Prášek: xprasek@feld.cvut.cz