Synt´eza ˇreˇci z psan´eho textu ´ Uvod
1 1.1
Z´ akladn´ı sch´ ema Text-To-Speech syst´ emu
Struktura nˇejak´eho abstraktn´ıho TTS syst´emu vypad´a n´asledovnˇe:
text
1.2
-
normalizace
-
fonetick´ y pˇrepis
transkribovan´ y text -
modelov´an´ı proz´odie
synt´eza ˇreˇci
vaweform -
Z´ akladn´ı term´ıny
• Text je vˇetˇsinou nˇejak´ y spec. pˇr´ıpad, napˇr. e-maily atp., text i transkripce vˇetˇsinou v nˇejak´e formˇe obsahuje znaˇcky pro suprasegment´aln´ı fon´emy. • Synt´eza ˇreˇci je jen jedna z ˇc´ast´ı TTS syst´emu, to je nutn´e rozliˇsovat. Jde moˇzn´a o nejsloˇzitˇejˇs´ı a nejd˚ uleˇzitˇejˇs´ı souˇc´ast, ale jej´ı vstup nen´ı text. • Normalizace je nˇekdy nut´a prov´adˇet, nˇekdy ne. Obsahuje napˇr. vyh´azen´ı hlaviˇcek z e-mail˚ u, pˇr´ıp. pˇrid´an´ı spec. proz´odie pro nˇe atd. Pouˇz´ıv´a se, aby stejn´ y TTS syst´em mohl b´ yt pouˇzit k r˚ uzn´ ym vˇecem (pˇredpˇripraven´ı textu podle jeho oˇcek´avan´eho typu). • Graf´em, p´ısmeno, letter je nejmenˇs´ı jednotka psan´e podoby jazyka. S nˇekter´ ymi jsou probl´emy, zda je povaˇzovat za jedin´ y graf´em (napˇr. p´ısmena s diakritikou), ale n´am to vˇetˇsinou bude jedno. • Hl´ aska, sound je nejmenˇs´ı jednotka zvukov´e podoby jazyka. • Fon´em je nejmenˇs´ı struktur´aln´ı jednotka zvukov´e podoby jazyka, kter´a rozliˇsuje v´ yznam. • Fonetick´y pˇrepis je pˇrepis zvukov´e podoby textu, zaznamen´avaj´ıc´ı hl´asky, pˇr´ıp. suprasegment´aln´ı jevy. M˚ uˇze b´ yt postaven´a na pravidlech nebo na slovn´ıku (ale vˇzdy se pouˇz´ıvaj´ı oba komponenty, jeden slouˇz´ı jako doplnˇek). Nejvˇetˇs´ı probl´em dˇel´a pˇrepis v jazyc´ıch, kter´e napˇr. neznaˇc´ı samohl´asky.
2
Fonetika a fonologie
Potˇrebujeme jednak popis v´ yslovnosti, jednak popis akustiky (zvukov´ ych vln, jimiˇz se jednotliv´e hl´asky projevuj´ı). M˚ uˇzu m´ıt i popis vn´ım´an´ı (percepce) hl´asek, ale ten pro naˇse u ´ˇcely nen´ı nezbytn´ y. Hlavn´ı rozd´ıl mezi fonetikou a fonologi´ı je ten, ˇze fonetice jde o v´ıcem´enˇe fyzik´aln´ı akustick´ y popis vˇsech zvuk˚ ua hl´asek, kdeˇzto fonologii zaj´ım´a syst´em, struktura jazyka. Pro fonologick´ y v´ yzkum narozd´ıl od fonetiky potˇrebujeme alespoˇ n nˇejak´e z´akladn´ı informace o dan´em jazyce.
2.1
Akustika
Jednotliv´e hl´asky jsou sloˇzen´e zvuky (vlnˇen´ı vzduchu), obsahuj´ıc´ı t´onov´e (periodick´e) a ˇsumov´e (neperiodick´e) sloˇzky. Rozliˇsujeme je pr´avˇe podle sloˇzen´ı jejich zvuku, napˇr. konsonanty maj´ı vˇetˇs´ı pod´ıl ˇsumov´ ych a vok´aly t´onov´ ych sloˇzek, konsonanty se d´ale liˇs´ı svou znˇelost´ı ˇci neznˇelost´ı jako pˇr´ıtomnost´ı t´onov´ ych sloˇzek. Hlasov´e u ´stroj´ı se d´a zjednoduˇsenˇe pˇredstavit jako zdroj zvuku (hlasivky) a rezonanˇcn´ı prostor (nadhrtanov´e dutiny). Hlasivky kmitaj´ı na nˇejak´e z´akladn´ı frekvenci (F0 , pro muˇze cca 100 Hz, pro ˇzeny pˇribliˇznˇe dvojn´asobn´a) a v nadhrtanov´ ych dutin´ach se podle jejich tvaru zesiluj´ı nˇekter´e harmonick´e frekvence. Rezonance prob´ıh´a stejnˇe jako 5f ejak´e f . ve z jedn´e strany otevˇren´em prostoru, tedy zes´ılen´a je frekvence f2 , 3f 2 , 2 . . . pro nˇ Zvuk m˚ uˇzeme rozloˇzit na frekvenˇcn´ı spektrum a zkoumat s´ılu zastoupen´ı jednotliv´ ych frekvenc´ı v ˇcase. Prov´ad´ı se to bˇeˇznˇe na poˇc´ıtaˇci pomoc´ı Fourierovy anal´ yzy, v´ ysledkem je spektrogram (trojrozmˇern´ y diagram, kde osy jsou
Synt´eza ˇreˇci z psan´eho textu
1
ˇcas a frekvence a s´ıla zastoupen´ı je vyznaˇcena barevnˇe). Z´aznam nikdy nen´ı pˇresn´ y – frekvenˇcn´ı rozliˇsen´ı je omezen´e. Pˇrepoˇc´ıt´av´an´ım nahr´avky na frekvence v ˇcase vznikaj´ı artefakty (chyby). Formanty V´ yraznˇe zes´ılen´e frekvence ˇc´ıslujeme F1 , F2 atd., a naz´ yv´ame formanty. Prvn´ıch nˇekolik je zastoupen´ ych v sign´alu u ´myslnˇe“, vlivem v´ yslovnosti, pˇr´ıliˇs vysok´e frekvence ale uˇz clovˇek neovlivn´ı. Proto pˇri z´aznamu zvuku sn´ım´ame ” jen u ´zk´e p´asmo (napˇr. do 5 nebo 9 kHz), ˇc´ımˇz ztrat´ıme maxim´alnˇe ˇcistotu“ zvuku, ne uˇz informaci o vysloven´ ych ” hl´ask´ach. Frekvence, kter´e jsou na spektru zvuku u ´myslnˇe“ potlaˇceny, naz´ yvame antiformanty. Nˇekter´e hl´asky se daj´ı odliˇsit ” pr´avˇe absenc´ı nˇekter´ ych frekvenc´ı, napˇr. u nosov´ ych hl´asek doch´az´ı vlivem pr˚ uchodu vzduchu nosem k f´azov´emu posunu vlnˇen´ı a nˇekter´e frekvence jsou pr´avˇe t´ım potlaˇceny. Formanty se v´ yraznˇe zmˇen´ı i pˇri mal´e v´ yˇsce hlasu (jde o to, jak dobˇre vyˇsˇs´ı harmonick´e frekvence F0 odpov´ıdaj´ı rezonanˇcnˇe zesilovan´ ym frekvenc´ım v hlasov´em u ´stroj´ı). U konsonant˚ u (hlavnˇe u neznˇel´ ych) vˇetˇsinou nehled´ame formanty, ale transienty – jde o pˇrechody“ ve spektru, ” na m´ıstˇe, kde zaˇc´ınaj´ı nebo konˇc´ı formanty okoln´ıch samohl´asek. M´ısto, kam transienty ukazuj´ı (tedy hypotetick´ y bod na spektru) pro danou souhl´asku naz´ yv´ame locus. Bod locu je d˚ uleˇzit´ y pro rozpozn´an´ı neznˇel´ ych hl´asek, povaˇzuje se za centrum jejich ˇsumu. Anal´ yza spektrogram˚ u Samohl´asky maj´ı nejv´ yraznˇejˇs´ı formanty (F1 , F2 , . . . ). Pokud nen´ı u nˇejak´e hl´asky pˇr´ıtomna F0 (a tedy ani v´ yrazn´e vyˇsˇs´ı formanty), jedn´a se o neznˇelou hl´asku. Podle ˇsumu (nekoncentrovan´ y sign´al po velk´e ˇc´asti spektra) se poznaj´ı frikativy (ˇsumov´e hl´asky). Explozivy (z´avˇerov´e hl´asky) se poznaj´ı okamˇzikem ticha a n´asledn´ ym ˇsumem exploze.
2.2
Fonetick´ a abeceda IPA
Abeceda IPA slouˇz´ı pro fonetickou transkripci, hlavnˇe v jazykovˇe nez´avisl´em prostˇred´ı. Nˇekter´e jazyky ji pouˇz´ıvaj´ı i pro z´apis sv´e v´ yslovnosti, v nˇekter´ ych se pouˇz´ıvaj´ı jin´e abecedy, protoˇze jsou pro nˇe ˇsikovnˇejˇs´ı (napˇr. v ˇceˇstinˇe). Hl´asky, kter´ ym je pˇriˇrazena jedna znaˇcka, se mohou napˇr´ıˇc jazyky liˇsit – jde jen o aproximaci. Pro odliˇsen´ı hl´asek v r´amci jednoho jazyka ale vˇetˇsinou plnˇe dostaˇcuje.
2.3
Vokalick´ y syst´ em
Vok´ aly Extrem´aln´ı hl´asky jsou [i] (jazyk je nahoˇre vepˇredu), [u] (nahoˇre vzadu), [a] (dole uprostˇred). Nˇekter´e zvuky si v r˚ uzn´ ych jazyc´ıch v´ıce ˇci m´enˇe odpov´ıdaj´ı, nˇekter´e jazyky rozliˇsuj´ı v´ıce vok´al˚ u neˇz jin´e. Rozliˇsen´ı m˚ uˇze b´ yt podle nˇekolika r˚ uzn´ ych vlastnost´ı najednou (a nˇekter´e jejich kombinace nemus´ı b´ yt povolen´e). Existuje jazyk, kter´ y m´a jen 2 vok´aly, hodnˇe jazyk˚ u m´a jen 3 (pr´avˇe ty extrem´aln´ı). Akustick´ y popis Pouˇz´ıv´ame tak kr´atk´e zvuky, ˇze se nezmˇen´ı pozice jazyka ( statick´ y zvuk“), ale uˇz se m˚ uˇzou analyzovat frekvence, ze ” kter´ ych se zvuk skl´ad´a. Zaj´ım´ame se o lok´aln´ı maxima frekvenc´ı. T´ım nalezneme nejniˇzˇs´ı lok´aln´ı maximum – z´akladn´ı frekvenci F0 – a nˇekter´e jej´ı vyˇsˇs´ı harmonick´e frekvence. Jedn´a se vˇzdy o rezonanˇcn´ı maxima, vlastnosti rezonanˇcn´ıho prostoru se pro jednotliv´e vok´aly mˇen´ı (mˇen´ı se jeho tvar posouv´an´ım jazyka), takˇze se mˇen´ı i zes´ılen´e frekvence.
Synt´eza ˇreˇci z psan´eho textu
2
Vezmeme-li prvn´ı a druh´e zes´ılen´e maximum (formanty) F1 a F2 , dostaneme n´asleduj´ıc´ı sch´ema: 6 F2 i e (Hz) a o u F1 (Hz) Vypad´a u ´plnˇe analogicky k artikulaˇcn´ım pozic´ım, protoˇze se posouv´an´ım jazyka mˇen´ı pr´avˇe v´ yˇska a d´elka rezonanˇcn´ıho prostoru (pˇribliˇznˇe). Na prvn´ıch dvou formantech vok´al˚ u je tedy toho dost poznat o jejich barvˇe. Hodnoty samozˇrejmˇe nevych´azej´ı vˇzdy stejnˇe, a to ani pro toho sam´eho mluvˇc´ıho, ale pˇribliˇzn´e um´ıstˇen´ı odpov´ıd´a.
2.4
Konsonantick´ y syst´ em
Tvoˇ ren´ı hl´ asek Z´akladn´ı dˇelen´ı konsonant˚ u je na znˇel´e, voiced a neznˇel´e, voiceless. Ty se liˇs´ı pˇr´ıtomnost´ı z´akladn´ıho hlasov´eho t´onu (tj. kmit´an´ım hlasivek pˇri jejich tvorbˇe). Pro neznˇel´e hl´asky jsou hlasivky v klidov´e poloze, nekmitaj´ı, jsou od sebe odd´aleny (pˇri ˇsept´an´ı pro vˇsechny hl´asky). Pˇri vyslovov´an´ı znˇel´ ych hl´asek jsou hlasivky tˇesnˇe u sebe a kmitaj´ı. Zjistit, kter´a hl´aska je znˇel´a a kter´a ne, je docela jednoduch´e: staˇc´ı si podrˇzet prst na hrtanu. Podle m´ısta artikulace rozliˇsujeme: • labi´ aly, obouretn´e [p, b, m, B] • labiodent´ aly, retozubn´e [f, v, M] • dent´ aly, zubn´e [T, D] > > • prealveol´ ary [t, d, s, z, ts, dz, r] • postalveol´ ary [S, Z] • palat´ aly, tvrdopatrov´e [c, é, ñ, ç]1 . • vel´ ary, mˇekkopatrov´e [k, g, x] • uvul´ ary, ˇc´ıpkov´e [R, K, X] • glot´ aly, hlasivkov´e [P, h, H] Podle zp˚ usobu tvoˇren´ı rozliˇsujeme: • plozivy, z´ avˇerov´e : nejdˇr´ıv se nastav´ı jazyk jako pˇrek´aˇzka a u ´plnˇe uzavˇre cestu v´ ydechov´emu proudu (onset). Potom nast´av´a exploze, z´avˇer se uvoln´ı. Exploze je nejv´ yraznˇejˇs´ı ˇc´ast hl´asky. Jde napˇr. o [p, b, t, d, k, g, c, é, h]. Pˇr´ıkladem plozivy je i hlasivkov´ y r´az (´ upln´e uzavˇren´ı hlasivkov´e ˇstˇerbiny, n´asledn´e explozivn´ı otevˇren´ı) [P]. • nas´ aln´ı, nosov´e plozivy: maj´ı stejnˇe z´avˇer a explozi jako obyˇcejn´e“, ale celou dobu prob´ıh´a vzduch i nosem, ” takˇze bˇehem z´avˇeru nen´ı ticho. To je napˇr. [m, n, ñ, N]. • frikativy, ˇsumov´e : nasazen´ı jazyka (onset) uˇz je slyˇsiteln´ y, mezi jazykem a patrem z˚ ust´av´a st´ale nˇejak´ a ˇstˇerbina, kter´a propouˇst´ı vzduch (nast´av´a tˇren´ı – friction), exploze nen´ı pˇr´ıtomna. Frikativy zaˇc´ınaj´ı a konˇc´ı postupnˇe. Napˇr. [s, z, S, Z, ç, x, f, v]. • afrik´ aty, poloz´ avˇerov´e : jsou podobn´e kombinaci plozivy a frikativy, v IPA fonetick´em z´apisu se tak p´ıˇsou. Exploze se ale vynech´a, uvolnˇen´ı napˇet´ı pˇrech´az´ı do frikce (ˇsumu se ˇstˇerbinou). Podle nepˇr´ıtomnosti exploze se daj´ı poznat > > > > od kombinace ploziva + frikativa. V ˇceˇstinˇe je to [ts, tS, dz, dZ]. 1 Ve
ˇ n fonetick´ e abecedˇ e IPA jsou pro ˇcesk´ e hl´ asky ˇt, d, ˇ pouˇ z´ıv´ any znaky c, é, ñ
Synt´eza ˇreˇci z psan´eho textu
3
• vibranty, trills: jsou podobn´e frikativ´am, jen jazyk nez˚ ust´av´a na jednom m´ıstˇe, n´ ybrˇz kmit´a. Pohyby jazyka pˇritom nejsou ovl´ad´any v˚ ul´ı, jsou velmi rychl´e. Vˇetˇsina jazyk˚ u pouˇz´ıv´a 2-3 kmity, nˇekde se poˇctem kmit˚ u odliˇsuj´ı r˚ uzn´e hl´asky (napˇr. ve slovenˇstinˇe). Pˇr´ıkladem jsou [r, R, K]. • bokov´e hl´ asky, later´ aly: v ˇceˇstinˇe m´ame jen jednu: [l]. Princip je ten, ˇze uprostˇred u ´stn´ı dutiny doch´az´ı k u ´pln´emu z´avˇeru, ale po kraj´ıch jazyka m˚ uˇze vzduch d´al proudit. Existuje spousta jin´ ych, i neznˇel´ ych later´al˚ u (napˇr. ve velˇstinˇe). • aproximanty: jsou podobn´e frikativ´am, ale maj´ı mnohem m´enˇe ˇsumu, vˇsechen jejich zvuk je v podstatˇe vytv´aˇren hlasivkami a rezonanc´ı, jsou velmi bl´ızk´e samohl´ask´am. Jde napˇr. o [j, w]. U neznˇel´ ych hl´asek se obvykle projevuje vˇetˇs´ı s´ıla svalov´eho napˇet´ı, tj. hl´asky se naz´ yvaj´ı fortisov´e. U znˇel´ ych je s´ıla menˇs´ı, naz´ yvaj´ı se pak lenisov´e. S velk´ ym svalov´ ym napˇet´ım souvis´ı u ploziv i pˇr´ıdechy, aspirace, kter´e se nˇekdy zejmena u neznˇel´ ych hl´asek vyslovuj´ı. Jde o prodlouˇzen´ı z´avˇeru a exploze, aspirace vznik´a vˇzdy v m´ıstˇe artikulace. Pˇr´ıstup k aspirac´ım se vˇsak jazyk od jazyka liˇs´ı, napˇr. v ˇceˇstinˇe aspirace nem´ame, angliˇctina a nˇemˇcina aspiruj´ı neznˇel´e hl´asky, nˇekter´e jazyky mohou m´ıt i aspirovan´e znˇel´e hl´asky. Hl´asky je moˇzn´e rozliˇsovat i podle postaven´ı jazyka pˇri jejich tvoˇren´ı: • apik´ aln´ı artikulace je v´ yslovnost ˇspiˇckou jazyka – tj. pˇrek´aˇzku vytv´aˇr´ı ˇspiˇcka jazyka, jako napˇr. u [t, l]. • lamin´ aln´ı artikulace je v´ yslovnost horn´ı ploˇskou jazyka, napˇr. u [c]. • retroflexn´ı artikulace je v´ yslovnost spodn´ı ploˇskou jazyka – jazyk je otoˇcen´ y vzh˚ uru nohama“. Tento zp˚ usob ” vyslovov´an´ı je bˇeˇzn´ y pro indick´e jazyky. Akustick´ y popis Pro popis konsonant˚ u jsou urˇcuj´ıc´ı transienty a bod locu. Locus se d´a zhruba odhadnout podle m´ısta tvoˇren´ı – ˇc´ım zadnˇejˇs´ı hl´aska (ˇc´ım bl´ıˇz je m´ısto tvoˇren´ı hlasivk´am), t´ım vyˇsˇs´ı je locus. To je tedy pˇresnˇe opaˇcnˇe, neˇz F2 u samohl´asek. Pˇredpokl´ad´a se, ˇze F2 je vyj´adˇreno m´ıstem nejvˇetˇs´ıho rozˇs´ıˇren´ı v´ ydechov´e cesty, kdeˇzto locus pr´avˇe m´ıstem pˇrek´aˇzky; pˇresn´ y d˚ uvod tohoto jevu ale zn´am nen´ı. Pro nosovky je charakteristick´ y nas´aln´ı komponent na frekvenci cca 200-300 Hz (tedy pro vysok´e hlasy nev´ yrazn´ y) a potlaˇcen´ı formantu F1 (vznik´a antiformant). Proto nˇekdy vznik´a zd´an´ı, ˇze F1 se u nosovek sniˇzuje, ale nen´ı tomu tak, jde o jin´ y zvuk.
2.5
Proz´ odie
Proz´odie zahrnuje vˇsechny vlastnosti, kter´e se projevuj´ı nad hranicemi segment˚ u. Sest´av´a z: • F0 z´ akladn´ı t´ on hlasu, voice pitch • ˇcasov´ an´ı, timing • intenzita Intenzita nen´ı tot´eˇz, co hlasitost“ – narozd´ıl od n´ı jde o produkˇcn´ı veliˇcinu, kter´a je mˇeˇriteln´a objektivnˇe. Hlasitost ” je percepˇcn´ı dojem, kromˇe amplitudy vlnˇen´ı (tedy intenzity) je ovlivˇ nov´an i ˇcasov´an´ım (prodlouˇzen´ı vzbuzuje dojem vyˇsˇs´ı hlasitosti). Pro TTS syst´emy zas tak podstatn´a intenzita nen´ı. Vˇzdy tu pracujeme jen s relativn´ımi hodnotami a prominenc´ı (zv´ yraznˇen´ım) v nˇekter´e z nich. Prozodick´ a struktura textu Hl´asky existuj´ı aˇz ve slabik´ ach. Slabika je nejmenˇs´ı ˇc´ast mluven´eho textu, kter´a se d´a zopakovat izolovanˇe – konsonant je vˇzdy z´avisl´ y na vok´alu sv´e slabiky a naopak. Vyˇsˇs´ı jednotka je pˇr´ızvukov´y takt, fonologick´e slovo, stress unit. To je skupina slabik, z nichˇz na jedn´e je pˇr´ızvuk. Na to, na kter´e, existuj´ı pravidla – dˇelen´ı stress unit je jednoduch´e, horˇs´ı je definovat, co to je vlastnˇe pˇr´ızvuk. To z´avis´ı na konkr´etn´ım jazyku a jedn´a se o kombinaci timingu, intonace i intenzity (prominence v nˇekter´e z tˇechto hodnot). Synt´eza ˇreˇci z psan´eho textu
4
Pˇr´ızvuk nen´ı tot´eˇz, co zv´ yraznˇen´ı (emphasis), nez´avis´ı v˚ ubec na s´emantice. Je to vˇec syntaxe, pom´ah´a lidem dˇelit slova. Nad u ´rovn´ı slov rozliˇsujeme intonaˇcn´ı jednotky, intonation contours. Ty jsou relativnˇe nez´avisl´e, mezi nimi m´a ˇclovˇek tendenci dˇelat pauzu v ˇreˇci. Jejich rozliˇsen´ı ale nen´ı u ´plnˇe pˇresn´e. Nejvyˇsˇs´ı jednotkou je cel´e vyj´ adˇren´ı, utterance. Napˇr. v dialogu odpov´ıd´a vˇetˇe, ale m˚ uˇze b´ yt i delˇs´ı. Fin´aln´ı intonace vyj´adˇren´ı je termin´aln´ı. Pˇ r´ızvuk v r˚ uzn´ ych jazyc´ıch Existuj´ı dva druhy jazyk˚ u, co se pˇr´ızvuku t´ yˇce: • stress-timed – v takov´ ych jazyc´ıch maj´ı mluvˇc´ı tendenci dˇelat stejnˇe dlouh´e pˇr´ızvukov´e takty. • syllable-timed – v tˇechto jazyc´ıch je tendence k vyslovov´an´ı slabik stejnˇe dlouze. M´am-li dlouh´e slovo, tedy hodnˇe slabik na jeden pˇr´ızvuk, budou u stres-timed jazyk˚ u slabiky kr´atk´e, kdeˇzto u syllabletimed bude prostˇe pˇr´ızvukov´ y takt trvat d´ele. Pˇr´ıkladem prvn´ıho typu je angliˇctina, k druh´emu napˇr. ˇceˇstina. Slabiˇ cn´ a melodie Melodie m´a v nˇekter´ ych jazyc´ıch distinktivn´ı funkci – stejn´e slabiky s jinou melodi´ı maj´ı jin´ y v´ yznam. Takov´e jazyky se naz´ yvaj´ı t´ onov´e. Vˇetn´a melodie ale m˚ uˇze m´ıt z´aroveˇ n jinou funkci. Mikroproz´ odie Mikroproz´ odie zahrnuje vˇsechno, co se dˇeje v r´amci jedn´e hl´asky, ale je ovlivˇ nov´ano okol´ım. M´a vliv na velkou proz´odii. Je podvˇedom´a, z´aleˇz´ı i na konkr´etn´ıch hl´ask´ach. Mikroprozodick´ ym fenom´enem je napˇr. d´elka hl´asky (z´aleˇz´ı ale na tom, jestli d´elka hl´asky rozliˇsuje v´ yznam, jestli dlouh´a a kr´atk´a hl´aska jsou samostatn´e fon´emy). Dalˇs´ı je napˇr. zmˇena t´onu hlasu v r´amci jedn´e hl´asky. Bˇeˇzn´ y TTS syst´em se mikroprozodi´ı nezab´ yv´a, protoˇze ji m´a nahranou ve sv´em korpusu segment˚ u; proz´odi´ı se ale zab´ yvat mus´ı.
2.6
Probl´ emy fonologick´ eho popisu
ˇ je m˚ Jedn´ım z probl´em˚ u je popis diftong˚ u (dvojhl´asek) jako jednotliv´ ych segment˚ u. Bud uˇzeme povaˇzovat za dva fon´emy (dvˇe hl´asky), nebo za fon´em jedin´ y. Potom napˇr. anglick´e slovo fire“ [fai@] mohou b´ yt dva, tˇri nebo ˇctyˇri ” > jin´ı i pˇrejat´e [au], > fon´emy. V ˇceˇstinˇe se s t´ım setk´av´ame taky, nˇekdo neuzn´av´a ˇz´adn´e diftongy, nˇekdo jen dom´ac´ı [ou], > S t´ım se setk´am pˇri vytv´aˇren´ı korpusu, kdyˇz chci kombinaci vˇsech hl´asek. [eu]. Probl´em je i vn´ım´an´ı slabik – to je jazykovˇe z´avisl´e. Kdyˇz definuju slabiku jako peak in sonority“, bude slovo ” lˇzu“ sest´avat ze 2 slabik. ” > a [ow] > se vlastnˇe zvukovˇe neliˇs´ı, z´aleˇz´ı jen na interpretaci a pˇrevl´adaj´ıc´ım Dalˇs´ı probl´em jsou aproximanty – [ou] popisu jazyka.
3
Stavba Text-To-Speech syst´ emu
3.1
Normalizace
Nˇekdy se dohromady s normalizac´ı dˇel´a chunking, tj. rozdˇelen´ı textu na dostateˇcnˇe mal´e kousky pro zpracov´ an´ı, nˇekdy je jako samostatn´ y krok. Data se mus´ı rozdˇelit nˇekde, kde je to moˇzn´e (ne napˇr. uprostˇred vˇety).
3.2
Fonetick´ y pˇ repis
Jde o pˇrepis letter-to-sound, tedy pˇrepisujeme graf´emy na hl´asky. Odliˇsuj´ı se dva pˇr´ıstupy: • zaloˇzen´ y na pravidlech, rule-based • zaloˇzen´ y na slovn´ıku, dictionary-based
Synt´eza ˇreˇci z psan´eho textu
5
V dneˇsn´ıch syst´emech jsou v podstatˇe vˇzdy pˇr´ıtomna i pravidla i slovn´ık, ale jedna metoda je vˇzdy prim´arn´ı, druh´a doplˇ nkov´a. M´am-li totiˇz slovn´ık, nem˚ uˇze zahrnovat vˇsechna slova (probl´emem je napˇr. flexe). Pravidla tak´e nepostihnou vˇse, vˇzdy se vyskytnou v´ yjimky (moˇznost´ı je ovˇsem napsat slovn´ık“ pˇr´ımo do syntaxe pravidel). ” Pro pravidla se de facto daj´ı pouˇz´ıt regul´arn´ı v´ yrazy, tj. pˇrepisy se zapojen´ım kontextu na obˇe strany. Vˇetˇsinou neoperuj´ı pˇr´ımo nad textem, ale nad nˇejak´ ymi speci´alnˇe vytvoˇren´ ymi datov´ ymi strukturami. Ty nemus´ı b´ yt v˚ ubec line´arn´ı, pouˇz´ıvaj´ı se napˇr.: • multi-level data structures – vrstevnat´e s koneˇcn´ ym poˇctem vrstev, odpov´ıdaj´ıc´ıch napˇr. hl´asce, slabice, morf´emu, pˇr´ızvukov´emu taktu, promluvov´emu u ´seku nebo vˇetˇe. Dostanu tak strom s koneˇcn´ ym poˇctem vrstev, se kter´ ym je snadn´e pracovat, mohu m´ıt transformaˇcn´ı pravidla pro r˚ uzn´e u ´rovnˇe • feature structures – je zaloˇzeno na distinktivn´ıch rysech (napˇr. znˇelost, m´ısto artikulace atd.) jednotl. hl´asek (ze kter´ ych se hl´asky daj´ı skl´adat). Jsou tak´e na r˚ uzn´ ych u ´rovn´ıch, jejichˇz poˇcet nen´ı fixn´ı. Nˇekter´ ymi pravidly mus´ı doj´ıt k zjednoznaˇcnˇen´ı (disambiguization) textu, napˇr. r˚ uznou diakritika apod. je nutn´e spr´avnˇe interpretovat – teˇcka napˇr. m˚ uˇze m´ıt spoustu v´ yznam˚ u. Nˇekdy se hod´ı v´ıc (jazykovˇe z´avisl´a) pravidla, nˇekdy zas slovn´ık, napˇr. na interpretaci anglick´eho ˇclenu the“ se hod´ı hlavnˇe pravidla, ale bez slovn´ıku to tak´e nejde (srov. ” the oak“ proti the one“). ” ” Rozhodnut´ı pravidla versus slovn´ık“ m˚ uˇzu dˇelat pro kaˇzd´ y jednotliv´ y probl´em zvl´aˇsˇt. Pravidla m˚ uˇzu taky aplikovat ” 2 ˇ bud jedn´ım pr˚ uchodem, nebo opakovanˇe. Typick´ y postup pravidel je n´asleduj´ıc´ı: 1. morfosyntaktick´ a pravidla Jedn´a se hlavnˇe o urˇcov´an´ı slovn´ıch druh˚ u apod. Pouˇz´ıv´a se pˇritom hlavnˇe slovn´ık a statistick´e ˇcetnosti namˇeˇren´e v nˇejak´em korpusu. Nˇekdy se prov´ad´ı morfosyntaktick´e parsov´an´ı vˇety, ale to je dost sloˇzit´e; vˇetˇsinou pˇritom nˇejak´e nejednoznaˇcnosti ponech´av´am, pokud mi nevad´ı pro dalˇs´ı pr´aci, nez´ısk´av´am v´ıc informac´ı, neˇz kolik je nutn´e. Pˇr´ıkladem takov´ ych pravidel m˚ uˇze b´ yt i doplˇ nov´an´ı samohl´asek v textech psan´ ych souhl´askov´ ym p´ısmem. 2. kontextov´ a pravidla Tato pravidla napˇr. rozv´ıjej´ı zkratky, pˇribliˇzuj´ı text ˇcten´e podobˇe. 3. struktur´ aln´ı pravidla V´ ystup tˇechto pravidel se pouˇz´ıv´a pro modelov´an´ı proz´odie – jde napˇr. o identifikaci druh˚ u vˇet, coˇz umoˇzn´ı jejich spr´avnou intonaci. Zjiˇsˇtov´an´ı struktury textu (pro vytv´aˇren´ı proz´odie) se (i lidem) dˇel´a l´epe na nˇeˇcem, co je bliˇzˇs´ı textu neˇz ˇreˇci. Napˇr. zde neztr´ac´ıme v ˇceˇstinˇe informaci o mˇe“ a mnˇe“, kter´a se m˚ uˇze jeˇstˇe hodit (druh´e ” ” m´a mnohem sp´ıˇs pˇr´ızvuk). 4. pravidla fonetick´eho pˇrepisu (letter-to-sound) Tady se pˇrev´ad´ı pravopis na v´ yslovnost, mohou se pouˇz´ıvat r˚ uzn´a pravidla pro v´ yjimky (napˇr. angl. sh“ pˇrep´ıˇsu ” [S], ale pˇredt´ım oddˇel´ım morf´emy spec. znakem, abych vylouˇcil slova jako hogshead“, nebo ˇcesky diagram“ ” ” zmˇen´ım na dyagram“, abych se vyhnul mˇekˇcen´ı). Text pˇrech´az´ı plynule z ortografick´eho do fonetick´eho z´apisu. ”
3.3
Modelov´ an´ı proz´ odie
Proz´odie je vlastnˇe ovlivˇ novan´a syntax´ı“ (ve skuteˇcnosti pˇr´ımo v´ yznamem vˇety, ale ten se syntax´ı souvis´ı), pˇr´ıpadnˇe ” nˇejak´ ymi emocemi, jednotlivostmi mluvˇc´ıho, ale ty se vystihnout nedaj´ı. Mˇelo by se d´avat pozor i na mikroproz´odii – tedy vystihnout prozodick´e fenom´eny, ale nenechat se zm´ast mikroprozodick´ ymi. Fudˇ zisakiho intonaˇ cn´ı model Intonace bˇehem ˇreˇci odpov´ıd´a zmˇen´am z´akladn´ı hlasov´e frekvence (F0 ), na ostatn´ıch prozodick´ ych veliˇcin´ach je v´ıcem´enˇe nez´avisl´a. Pro modelov´an´ı intonace je nejzn´amˇejˇs´ı Fudˇzisakiho model. Ten sest´av´a z phrase commands a accent commands. Prvn´ı typ pravidel je trvanlivˇejˇs´ı“, p˚ usob´ı v podstatˇe na celou vˇetu, vˇzdy od dan´eho ˇcasu a s ” danou amplitudou (zvednut´ım nebo sn´ıˇzen´ım F0 ) a postupnˇe dozn´ıv´a. Druh´ y typ m´a kratˇs´ı trv´an´ı, m´a definovan´ y ˇcas zaˇc´atku i konce a zase amplitudu. V´ ysledn´a F0 v dan´em ˇcasov´em bodˇe se (v logaritmick´e podobˇe) d´a vyj´adˇrit jako 2 Tohle
samozˇrejmˇ e z´ avis´ı na jazyce, pro nˇ ekter´ e ˇreˇ ci nemus´ı b´ yt nˇ ekter´ e kroky potˇreba. Poˇrad´ı prov´ adˇ en´ı jednotliv´ ych druh˚ u pravidel taky m˚ uˇ ze z´ aviset na jazyce.
Synt´eza ˇreˇci z psan´eho textu
6
nˇejak´a suma vˇsech command˚ u, kter´e p˚ usob´ı, plus z´akladn´ı frekvence. T´ımto zp˚ usobem m˚ uˇzu modelovat F0 v podstatˇe s libovolnou pˇresnost´ı, je nutn´e naj´ıt ale vhodn´ y pomˇer poˇctu command˚ u na slovo k velikosti chyby, protoˇze jinak ne´ umˇernˇe rostou n´aklady na data i v´ ypoˇcet. Vytv´ aˇ ren´ı prozodick´ eho invent´ aˇ re Prozodick´e modely je ale nutn´e nejprve zprovoznit (dodat spr´avn´e hodnoty), a to nauˇcen´ım“ dat z korpusu – napˇr. ” m´am-li v jazykov´ ych datech na nˇekter´ ych m´ıstech d˚ urazy, mus´ım zjistit, kde a kam je podle toho d´avat, pˇr´ıp. jak souvis´ı s trv´an´ım a intenzitou slabik. Potˇrebuji tedy prozodick´ y korpus, automatick´e n´astroje na zpracov´an´ı a prozodick´ y model. Postup vytv´aˇren´ı prozodick´eho invent´aˇre vypad´a pak n´asledovnˇe: korpus - detekce F0 - model -
tr´enov´an´ı / - pravidla (inventory) rule extraction
K mluven´emu korpusu m˚ uˇzu poˇc´ıtat i s jeho textovou reprezentac´ı a struktur´aln´ımi informacemi“ – napˇr. informace ” o hranic´ıch slov a pˇr´ızvuˇcn´ ych slabik´ach atp., kter´e se daj´ı zjistit automatick´ ymi n´astroji. De facto by mˇelo b´ yt moˇzn´e i pouˇz´ıt stejn´e algoritmy na tr´enov´ an´ı a n´asledn´e generov´an´ı. ˇ automaticky za pomoci neuronov´e s´ıtˇe (tr´enov´an´ı), nebo u Krok tr´enov´ an´ı, extrakce pravidel prob´ıh´a bud ´plnˇe ruˇcnˇe, kdy nˇekdo prostˇe odhadne, jak struktura vˇety (podle interpunkce, hranice slov apod.) souvis´ı s proz´odi´ı (extrakce pravidel). Vˇzdy je nutn´e m´ıt nˇejak´e n´ahodn´e faktory nebo v´ıce kontur, ze kter´ ych si pro vˇetu vybrat, aby znˇel v´ ysledek pˇrirozenˇe. Ruˇcn´ı popis je velice sloˇzit´e z´ıskat, vhodn´e je m´ıt nˇejakou teorii uˇz pˇredem. M˚ uˇzu se taky dostat do stavu, kdy pravidla ruˇcnˇe uˇz vylepˇsit nejdou a v´ ysledek poˇr´ad nen´ı optim´aln´ı; je tak´e velice n´akladn´e zmˇeny testovat. Ruˇcn´ı extrakce pravidel taky t´ıhne k determinismu, tˇemito probl´emy automatick´e uˇcen´ı netrp´ı. Pro tr´enov´an´ı neuronov´e s´ıtˇe m´am nejen samotn´a data, ale i ony struktur´aln´ı informace, takˇze vyuˇz´ıv´am dalˇs´ı informace nav´ıc. Dokonce se m˚ uˇze st´at, ˇze neuronov´a s´ıˇt mi d´a lepˇs´ı v´ ysledek i pro u ´plnˇe irelevantn´ı vstupy, ˇclovˇek totiˇz n´ahodnou“ proz´odii vn´ım´a l´epe neˇz ˇz´adnou. S rozumn´ ymi informacemi nav´ıc se ale lze dobrat relativnˇe pˇrirozen´emu ” v´ ysledku. Na zaˇc´atku tr´enov´an´ı m´am zadan´ y vstup a poˇzadovan´e v´ ysledky a nˇejakou s´ıˇt, kterou postupnˇe upravuju a zkouˇs´ım, dokud mi nezaˇcne d´avat v´ ystupy podobn´e poˇzadovan´ ym. Pro modelov´an´ı proz´odie mi staˇc´ı s´ıˇt o 20-30 neuronech. V´ ysledkem procesu by mˇel b´ yt prosodic inventory, tedy sada pravidel, jak upravovat prozodicky sign´al ve v´ ystupu z TTS. Je to vˇetˇsinou mal´a mnoˇzina nˇejak´ ych hodnot – tˇreba informac´ı o neuronov´e s´ıti.
3.4
Synt´ eza ˇ reˇ ci
Pro generov´an´ı ˇreˇci ze z´apisu hl´asek se pouˇz´ıv´a nˇejak´ y zjednoduˇsen´ y popis artikulace, podloˇzen´ y jist´ ymi pˇredpoklady, ˇ copy synthesis, konkatenaˇcn´ı synt´eza, tedy synt´eza na tzv. ˇreˇcov´y model. Pro synt´ezu existuj´ı dva hlavn´ı druhy – bud z´akladˇe kop´ırov´an´ı a slepov´an´ı ˇc´ast´ı ˇreˇcov´eho invent´aˇre, nebo rule-based synthesis, formant synthesis, synt´eza zaloˇzen´a na vytv´aˇren´ı sloˇzen´eho zvuku za pomoci (frekvenˇcn´ıch) pravidel. Synt´ eza zaloˇ zen´ a na pravidlech Tento typ synt´ezy se pouˇz´ıv´a vˇetˇsinou jenom v akademick´em prostˇred´ı, aˇz na pom˚ ucky pro hyperrychl´e ˇcten´ y e-mail˚ u. Projev vˇetˇsinou nen´ı pˇr´ıliˇs pˇrirozen´ y. Pˇredpokl´ad´ame tu matematick´ y model zjednoduˇsen´eho artikulaˇcn´ıho u ´stroj´ı a pravidla, popisuj´ıc´ı jeho zmˇeny (tedy zmˇeny v nastavov´an´ı artikulace). Ta pak zahrnuj´ı formanty samohl´asek, transienty konsonant˚ u, pˇr´ıtomnost z´akladn´ıho t´onu apod., vˇsechno je v pravidlech relativnˇe pˇr´ımoˇcaˇre. Z´ısk´avaj´ı se z parametrick´eho korpusu, postupn´ ym zkouˇsen´ım ˇ se vylepˇsuj´ı, upravuj´ı, sladuj´ı apod. podle v´ ysledk˚ u. Velice z´aleˇz´ı na interpretaci parametr˚ u z korpusu (napˇr. kdyˇz si ˇspatnˇe vyloˇz´ım, co je formant, v´ ysledek zn´ı divnˇe). Pro debugov´an´ı je vˇetˇsinou lepˇs´ı pˇrid´avat kompenzaˇcn´ı“ pravidla, ” neˇz mˇenit st´avaj´ıc´ı. Model parametr˚ u, pouˇz´ıvan´ y v korpusu, mus´ı b´ yt dost jednoduch´ y, abych dostal relevantn´ı pravidla – napˇr. je vhodn´e pˇredem odfiltrovat pro ˇreˇc irelevantn´ı frekvence (ˇc´ımˇz samozˇrejmˇe ztr´ac´ım na pˇrirozenosti) a t´emˇeˇr bezpodm´ıneˇcnˇe nutn´e normalizovat ho na stejnou F0 . Z´aleˇz´ı samozˇrejmˇe i na ˇclovˇeku, jak podle korpusu pravidla vyrob´ı.
Synt´eza ˇreˇci z psan´eho textu
7
Pro kvalitu jsou tak v´ yznamn´e jak vnitˇrn´ı (intrinsic) chyby (chyba vyroben´eho modelu), tak vnˇejˇs´ı (extrinsic, chyba proveden´a pˇri anal´ yze). Synt´ eza zaloˇ zen´ a na kop´ırov´ an´ı Tady kvalitu ovlivˇ nuje hlavnˇe kvalita nahr´avek v ˇreˇcov´em korpusu a tak´e jejich reprezentativita (velikost, ale i relˇ nahr´avat televizn´ı poˇrady (to se ale nedˇel´a pˇr´ıliˇs ˇcasto, nen´ı to evance). Korpus m˚ uˇzu z´ıskat dvˇema zp˚ usoby – bud u ´plnˇe reprezentativn´ı), nebo v´ ybˇerem vˇet, kter´e nˇekdo potom do korpusu pˇreˇcte. Druh´ ym zp˚ usobem m˚ uˇzu l´epe pokr´ yt invent´aˇr c´ılov´eho jazyka. Chci m´ıt v´ ysledn´ y korpus mal´ y, aby ho mluvˇc´ı mohl pˇreˇc´ıst najednou a bez zmˇeny podm´ınek (napˇr. u ´navy hlasu). 3 Nav´ıc pro jistotu se vˇetˇsinou cel´ y nahr´av´a dvakr´ at. Postup je potom n´asleduj´ıc´ı : 1. identifikace hl´ asek Vyberu si, kter´e hl´asky potˇrebuji pro reprezentaci ˇreˇci v dan´em jazyce, tj. napˇr. jestli budu dvojhl´asky povaˇzovat za jednotliv´e fon´emy apod. 2. identifikace fonotaktiky Zjist´ım, kter´e kombinace vybran´ ych hl´asek se v jazyce v˚ ubec m˚ uˇzou vyskytovat, mnoho kombinac´ı nebude pˇr´ıpustn´ ych, tj. zmenˇs´ım si mnoˇzinu potˇrebn´ ych dat. Toto souvis´ı napˇr. s pravidly asimilace znˇelosti. Vˇzdy se ale 10% ˇcasu str´av´ı na 90% kombinac´ıch a zbytek na nˇejak´ ych v jazyce velmi neobvykl´ ych. 3. kompozice korpusu Ze vˇsech moˇzn´ ych kombinac´ı hl´asek, nalezen´ ych v pˇredchoz´ım kroku, sloˇz´ım psanou verzi korpusu. 4. nahr´ av´ an´ı korpusu Mluvˇc´ı pˇreˇcte vˇsechny vˇety, vloˇzen´e do korpusu. Pˇritom by mˇel pouˇz´ıvat monot´onn´ı proz´odii, nav´ıc zaˇc´atky a konce vˇet se mus´ı beztak vyhodit. Po nahr´av´an´ı se vzorky normalizuj´ı na stejnou F0 . Pˇri nahr´av´an´ı mus´ı nˇekdo dohl´ıˇzet na neˇz´adouc´ı ˇsumy v pozad´ı a nechat mluvˇc´ıho pˇr´ıpadnˇe vˇety opakovat. 5. vytvoˇren´ı ˇreˇcov´eho invent´ aˇre Protoˇze pro kaˇzdou kombinaci hl´asek nepotˇrebuji v´ıce verz´ı, srovn´am vˇsechny dostupn´e a napˇr. podle toho, jak moc se jejich F0 bl´ıˇzila pr˚ umˇeru, si vyberu tu nejlepˇs´ı. Z´ısk´am v podstatˇe to, co jsem mˇel po identifikaci fonotaktiky, jen se zvukov´ ym doprovodem. Pro v´ ystup synt´ezy se nikdy nepouˇz´ıvaj´ı samostatn´e hl´asky, ale vˇzdy kombinace dvou, tˇr´ı nebo v´ıce hl´asek, dvojhl´asky apod. Projevuje se tu totiˇz d˚ uleˇzitost koartikulace, nav´ıc konsonanty jen parazituj´ı“ na vok´alech, samy st´at nemohou, ” tedy samotn´e je extrahovat ani nem˚ uˇzu. Pro konkatenaci zvuk˚ u potˇrebuji hl´asky stabiln´ı“, nav´ıc vˇzdy je potˇreba ” nˇejak´e vyhlazov´an´ı zvuku. Tradiˇcnˇe se v konkatenaˇcn´ı synt´eze pouˇz´ıvaj´ı tzv. diphones, dvojzvuky – druh´a polovina prvn´ı, prvn´ı polovina druh´e hl´asky. Nˇekdy se kombinuj´ı s vybran´ ymi ˇcasto se vyskytuj´ıc´ımi trojvuky (hl´aska a poloviny okoln´ıch), kde nen´ı tˇreba pouˇz´ıt tolik vyhlazov´an´ı. Pro nˇekter´e jazyky se pouˇz´ıvaj´ı disyllables, tedy cel´e dvojice slabik, ale vˇetˇsinou by poˇcet kombinac´ı byl pˇr´ıliˇs velik´ y. Kv˚ uli neobvykl´ ym pˇr´ıpad˚ um se tak´e kombinuje s kratˇs´ımi u ´seky. Algoritmy v´ ybˇ eru jednotky U sloˇzitˇejˇs´ıch syst´em˚ u konkatenaˇcn´ı synt´ezy nem´am v ˇreˇcov´em invent´aˇri pro kaˇzd´ y diphone nebo triphone jen jednu zvukovou podobu, ale vyb´ır´am si z nˇekolika moˇznost´ı pomoc´ı tzv. unit selection algorithm tu nejlepˇs´ı pro dan´e m´ısto v ˇreˇci. Pˇritom se zohledˇ nuje proz´odie, diskvalifikuj´ı se chyby v´ yslovnosti apod., nˇekdy se tak mohou pouˇz´ıt i ˇc´asti slov u ´plnˇe vcelku (na z´akladˇe v´ ybˇeru). Pravidla v´ ybˇeru samozˇrejmˇe taky ovlivˇ nuj´ı kvalitu generovan´e ˇreˇci. Vˇetˇsinou se pouˇz´ıv´a v´ ybˇer na z´akladˇe podobn´e F0 , chyb´ach v´ yslovnosti, intenzitˇe a proz´odii, existuj´ı i parametry specifick´e pro urˇcit´e konkr´etn´ı jednotky. Na z´akladˇe toho mohu spoˇc´ıtat badness (penalizaci) jednotky bu i badness spojen´ı bc 4 . Potom celkov´e badness ˇretˇezu jednotek odpov´ıdaj´ıc´ıho cel´emu textu je suma: X X B= bu (i) + bc (i, i + 1) i
i
3 Pro
z´ısk´ an´ı parametrick´ eho korpusu plat´ı podobn´ a pravidla. jednotky v ˇreˇ cov´ em invent´ aˇri, kter´ e byly p˚ uvodnˇ e souˇ c´ ast´ı stejn´ eho slova a navazovaly na sebe, m´ am tady 0. Tak m˚ uˇ zu i cel´ a slova, v invent´ aˇri rozsekan´ a, zase slepit. 4 Pro
Synt´eza ˇreˇci z psan´eho textu
8
Algoritmus, kter´ y by hodnotil kaˇzdou jednotku z cel´eho textu a vyb´ıral nejlepˇs´ı kombinaci, by byl velmi n´aroˇcn´ y. Levnˇejˇs´ı postup, kter´ y nav´ıc neobsahuje ˇz´adn´e vnˇejˇs´ı chyby (tj. jeho v´ ysledek je stejnˇe dobr´ y jako projit´ı vˇsech moˇznost´ı) je Viterbyho algoritmus. Ten spoˇc´ıv´a v tom, ˇze pro kaˇzdou pozici si postupnˇe spoˇcteme nejlepˇs´ı moˇznost, za pˇredpokladu, ˇze pˇredchoz´ı moˇznost je fixovan´ a (zkouˇs´ım vˇsechny pozice, spoˇc´ıtan´e v pˇredchoz´ım kroku). Budujem tak vlastnˇe matici postupn´ ych v´ ypoˇct˚ u, jde o techniku dynamick´eho programov´an´ı. Pamatovat si ale mus´ıme jen dva jej´ı posledn´ı sloupce – dvˇe iterace. Algoritmus pak m´a sloˇzitost O(n · s2 ), kde s je velikost ˇreˇcov´eho invent´aˇre a n d´elka textu. Dostaneme tak nejlepˇs´ı ˇreˇsen´ı, aˇz na vnitˇrn´ı chybu zvolen´eho modelu badness.
3.5
Techniky zpracov´ an´ı ˇ reˇ cov´ eho korpusu, tvorby invent´ aˇ re
Automatick´ a segmentace korpusu Pro dˇelen´ı korpusu na segmenty a jejich rozpozn´an´ı vzhledem k textov´e podobˇe a tedy vyrovn´an´ı se s r˚ uzn´ ymi hlasov´ ymi frekvencemi a rychlost´ı ˇreˇci se pouˇz´ıv´a technika Dynamic Time Warping – algoritmus pro mˇeˇren´ı podobnosti sign´al˚ u. Pouˇz´ıv´a se to ke znaˇckov´an´ı vˇet z korpusu podle uˇz oznaˇckovan´ ych. Na signal postupnˇe mapuju nˇejakou ˇsablonu a mˇeˇr´ım odliˇsnosti, vznik´a pˇr´ımka bl´ızk´a diagon´ale. Pro zkouˇsen´ı ˇsablon je potˇreba relativnˇe hodnˇe krok˚ u, pouˇz´ıv´a se dynamick´e programov´an´ı. V´ ysledek je ale vˇzdy jen pˇribliˇzn´ y, zpracov´an´ı mus´ı beztak vˇzdy zkontrolovat ˇclovˇek. Tvorba prozodick´ eho korpusu Pro vytvoˇren´ı korpusu na proz´odii je tˇreba detekovat hranice slabiky, v´ yˇsku hlasu, jejich trv´an´ı a intenzitu. Potom podle druh˚ u vˇet, ke kter´ ym tyto parametry pˇr´ısluˇs´ı, mohu urˇcovat pattern pˇr´ızvukov´ ych takt˚ u. Tohle vˇsechno mus´ım z´ıskat pˇr´ımo z ˇreˇcov´eho korpusu a vˇetˇsinou se to pouˇz´ıv´a jako vstup do tr´enov´an´ı neuronov´e s´ıtˇe pro modelov´an´ı proz´odie. Typicky se tyto vlastnosti mˇeˇr´ı v centru slabiky. Dˇelen´ı slabik pom´ah´a hlavnˇe pˇredchoz´ı segmentace korpusu (centrum slabiky pozn´am podle sonority, ale okol´ı uˇz ne; probl´emem jsou tak´e poboˇcn´e slabiky (napˇr. rty“). ” Detekce v´ yˇ sky hlasu Ke zjiˇstˇen´ı frekvence F0 (v´ yˇsky hlasu) se pouˇz´ıv´a technika autokorelace (autokonvoluce), kdy se vezme sign´al a provede se jeho konvoluce se sebou sam´ ym, posunut´ ym o nˇejak´ y ˇcasov´ y interval: Z ∞ Rf f (T ) = f (t)f (t − τ )dt −∞
Pokud se v sign´alu vyskytuje periodicita (jako je F0 ), naleznu ji tak, ˇze pro jej´ı periody jsou hodnoty autokorelace maxim´aln´ı. Autokorelace je vˇzdy na kladn´ ych ˇc´ıslech klesaj´ıc´ı funkce s maximem v nule. Ve zpracov´an´ı sign´alu se zpravidla poˇc´ıt´a pˇres Fourierovu transformaci. Vezmou se z n´ı v´ ysledky jako kandid´ati a vybere se ten, kter´ y nejl´epe odpov´ıd´a vyˇsˇs´ım harmonick´ ym frekvenc´ım (formant˚ um). Nˇekdy se sign´al na nˇejak´em pr˚ ubˇehu otoˇc´ı v ˇcase a anal´ yza s n´ım prob´ıh´a u ´plnˇe stejnˇe. Probl´em s autokorelac´ı nast´av´a pro neznˇel´e segmenty – je nutn´e je detekovat, protoˇze jinak mi autokorelaˇcn´ı anal´ yza nalezne vyˇsˇs´ı formanty; je tedy nutn´e zak´azat pˇrechod nalezen´e F0 o pˇr´ıliˇs velk´e kroky v kr´atk´em ˇcase. V´ ysledek autokorelace pro b´ıl´ y ˇsum je typick´ y (maximum v nule a nulov´a hodnota v kaˇzd´em jin´em bodˇe), coˇz tak´e pro ˇ nalezen´ı neznˇel´ ych segment˚ u pom´ah´a. Z´adn´ y detektor v´ yˇsky hlasu ale nepracuje na 100% (vnˇejˇs´ı chybou je nenalezen´ı F0 , vnitˇrn´ı chyba je vyd´av´an´ı v´ ysledk˚ u, aˇc F0 nen´ı pˇr´ıtomna v˚ ubec). Detekce intenzity a trv´ an´ı segment˚ uˇ reˇ ci Detekce intenzity je dost trivi´aln´ı, staˇc´ı se pod´ıvat na amplitudy. Pro trv´an´ı je situace sloˇzitˇejˇs´ı, nestaˇc´ı jen pˇrep˚ ulit vzd´alenosti mezi vrcholy slabik. Trv´an´ı slabiky z´avis´ı na d´elce vok´alu (pokud ta je souˇc´ast´ı vokalick´eho syst´emu), takˇze tady m´ıch´ am velkou proz´odii s mikroproz´odi´ı jednotliv´ ych slabik, t´ım m˚ uˇzu potom neuronovou s´ıˇt pˇri tr´enov´an´ı ˇ mus´ım tento fakt nˇejak kompenzovat, nebo porovn´avat jen stejnˇe dlouh´e vok´aly mezi sebou. u ´plnˇe zm´ast. Bud
Synt´eza ˇreˇci z psan´eho textu
9
4 4.1
Druhy Text-To-Speech Syst´ em˚ u Time-Domain Pitch-Synchronous Overlap Add (TD-PSOLA)
Tento syst´em je pˇr´ıkladem konkatenativn´ı synt´ezy, jde vlastnˇe o velmi jednoduch´ y pˇr´ıpad (dnes uˇz relativnˇe zastral´ y, pouˇz´ıvan´ y hlavnˇe v 90. letech). Spoˇc´ıv´a v tom, ˇze kaˇzd´a hl´aska (jednotka ˇreˇci) je rozdˇelena na framy, kr´atk´e zvukov´e u ´seky bˇehem kter´ ych se nemˇen´ı F0 . V kaˇzd´em framu lze pozorovat pitch-periody, tedy jednotliv´e kmity hlasu. Ty d´avaj´ı moˇznost, jak mˇenit F0 bez ohledu na kvality zvuku. Mohu totiˇz jednotliv´e framy skl´adat pˇres sebe a natahovat, pokud je uprav´ım pomoc´ı tzv. windowing funkce (funkce, kter´a zes´ıl´ı jen jednu pitch-periodu a postupnˇe sign´al zeslabuje v jej´ım okol´ı aˇz do ticha). Po pouˇzit´ı windowing funkce na kaˇzdou pitch-periodu pak v´ ysledky m˚ uˇzu seˇc´ıst pˇres sebe i s nˇejak´ ym posunut´ım. T´ım dostanu sign´al, kter´ y m˚ uˇze m´ıt jinou F0 , ale jen neznatelnˇe zmˇenˇen´e vyˇsˇs´ı frekvence (napˇr. formanty). Nˇekdy pitch-periods nesed´ı u ´plnˇe pˇresnˇe, ale d´ıky windowing-funkci dojde k vyhlazen´ı. Frekvence bl´ızk´e F0 budou poˇskozeny, proto nelze takhle sign´al zrychlovat o tolik, ˇze by v´ ysledek zasahoval aˇz do formantov´eho p´asma. Pokud si pˇreju napˇr. dvakr´at rychlejˇs´ı ˇreˇc a stejnou v´ yˇsku hlasu, staˇc´ı vyhodit kaˇzdou druhou pitch-periodu. Opaˇcnˇe pokud periody zduplikuju pˇres sebe, dostanu vyˇsˇs´ı hlas se stejnou rychlost´ı. Kdyˇz vyhazuju nˇekter´e pitchperiody, zbavuju se i informac´ı o kvalitˇe hl´asky, takˇze to nesm´ım udˇelat mockr´at (jinak sousedn´ı segmenty pˇrestanou b´ yt podobn´e). Vyhodit m˚ uˇzu zhruba maxim´alnˇe kaˇzdou druhou. Pokud budu naopak moc duplikovat, v´ ysledn´ y zvuk bude p˚ usobit bzuˇciv´ ym“, nepˇrirozen´ ym dojmem – bude v nˇem periodicita, kter´a tam nepatˇr´ı, tj. v´ıc t´onov´ ych kompo” nent˚ u, neˇz je z´ahodno. Je tedy vhodn´e nedˇelat v´ıce neˇz dvojn´asobn´e kop´ırov´an´ı; pˇrehr´an´ım kaˇzd´e druh´e pitch-periody pozp´atku se lze dostat aˇz na ˇctyˇrn´asobn´e. Probl´ emy TD-PSOLA Princip TD-PSOLA vypad´a sice jednoduˇse, nutnou podm´ınkou jeho pouˇzit´ı je ale spolehliv´ y detektor hlasov´e frekvence, jinak doch´az´ı k chybˇe f´ aze, phase mismatch hlasu (pitch-periody se netref´ı pˇresnˇe doprostˇred kmit˚ u). Ve v´ ysledku se tedy pracuje v korpusu s algoritmy jako pˇri rozpozn´avan´ı ˇreˇci, pˇr´ıpadnˇe se pitch-periody dˇel´ı u ´plnˇe manu´alnˇe. Nejvˇetˇs´ı probl´em ale nast´av´a u neznˇel´ ych hl´asek, tam lze dˇelat jen nˇejak´e interpolace, nejv´ıce se chyba projevuje na hranic´ıch segment˚ u. Na hranic´ıch jednotliv´ ych diphon˚ u m˚ uˇze doj´ıt i k chybˇe spektra, spectral mismatch. M´am-li totiˇz dvˇe poloviny stejn´e samohl´asky, kter´e se trochu liˇs´ı pod vlivem okol´ı, nedaj´ı se slepit u ´plnˇe pˇresvˇedˇcivˇe. To se d´a odstraˇ novat postupn´ ym doplˇ nov´an´ım dalˇs´ıch diphon˚ u s pomoc´ı manu´aln´ı kontroly – je nutn´e poslouchat, kde synt´eza dˇel´a chyby, a ta m´ısta pak jednotlivˇe oˇsetˇrovat. Posledn´ı chybou, kter´a se m˚ uˇze v TD-PSOLA objevit, je chyba v´yˇsky hlasu, pitch mismatch. K t´e dojde, pokud dva pˇril´ehaj´ıc´ı segmenty maj´ı pˇr´ıliˇs odliˇsn´e F0 (nesed´ı pˇresnˇe na sebe). T´e se d´a vyhnout normalizac´ı ˇreˇcov´eho invent´aˇre na stejnou F0 , vˇetˇsinou pak ruˇsen´ı klesne pod vn´ımateln´e hodnoty.
4.2
Linear Prediction Coder (LPC) Speech Synthetizer
Proti pˇredchoz´ımu nen´ı v˚ ubec trivi´aln´ı, vych´az´ı z modelu artikulaˇcn´ıho u ´stroj´ı. LPC syntetiz´atory jsou relativnˇe star´a technika, jejich v´ ysledek ale nevypad´a pˇr´ıliˇs pˇresvˇedˇcivˇe. Implementace v hardwaru ale nen´ı sloˇzit´a, zvuk je srozumiteln´ y i s minim´aln´ım invent´aˇrem. V´ ystupn´ı sign´al m´a vˇetˇsinou nˇejakou relativnˇe n´ızkou vzorkovac´ı frekvenci, napˇr. 8 kHz, protoˇze vyˇsˇs´ı se modeluj´ı velmi obt´ıˇznˇe. Hlasov´e u ´stroj´ı si totiˇz lze pˇredstavit jako na jedn´e stranˇe otevˇrenou rezonaˇcn´ı trubici (tube), ve kter´e je na uzavˇren´e stranˇe zdroj zvuku (buzzer ), kter´ y vytv´aˇr´ı periodick´ y sign´al. Kdyˇz se nemˇen´ı parametry tube ani buzzeru, pak vych´ ylen´ı v´ ysledn´e zvukov´e vlny v kaˇzd´em okamˇziku (podle potˇreb vzorkovac´ı frekvence, kromˇe nˇekolika poˇc´ateˇcn´ıch vzork˚ u) se d´a predikovat z urˇcit´eho poˇctu pˇredchoz´ıch vzork˚ u. Potom z´aleˇz´ı na zjednoduˇsen´ı modelu, z kolika. Napˇr. LPC Order 8 pˇredpokl´ad´a, ˇze lze predikovat z 8 pˇredchoz´ıch vzork˚ u. Pro praxi jde samozˇrejmˇe o zjednoduˇsen´ı, takov´a periodicita ve zvuku ˇreˇci rozhodnˇe neexistuje. Pro synt´ezu tedy vezmu ˇreˇcov´ y invent´aˇr a kaˇzdou potˇrebnou jednotku rozdˇel´ım na framy, tedy ˇcasov´e u ´seky, kde jsou zmˇeny artikulace minim´aln´ı (ale zas u ´seky dost dlouh´e, aby se rozbˇehla predikce pˇres poˇc´ateˇcn´ı kroky a bylo moˇzn´e dopoˇc´ıtat co nejv´ıc dalˇs´ıch). Pro kaˇzd´ y frame potom odhadnu nˇekolik poˇc´ateˇcn´ıch (napˇr. pr´avˇe 8) sampl˚ u, aby
Synt´eza ˇreˇci z psan´eho textu
10
predikce vych´azela s co nejmenˇs´ı chybou. Tyto poˇc´ateˇcn´ı parametry se naz´ yvaj´ı LPC coefficients. Odhad se typicky prov´ ad´ı metodou nejmenˇs´ıch ˇctverc˚ u. Cel´ y tento proces odhadov´an´ı je velmi obt´ıˇzn´e prov´adˇet pro neznˇel´e hl´asky – v takov´em pˇr´ıpadˇe v modelu artikulaˇcn´ıho u ´stroj´ı nem´am buzzer, ale jen b´ıl´ y ˇsum. Typicky se pro kaˇzdou hl´asku prov´ad´ı detekce z´akladn´ıho t´onu a spolu se vˇsemi ostatn´ımi parametry se ukl´ad´a i u ´daj o znˇelosti. Modelov´an´ı pak prov´ad´ım separ´atn´ım ovl´ad´an´ım vlastnost´ı trubice i zdroje zvuku. Namˇeˇren´e koeficienty nepouˇz´ıv´am pro generov´an´ı zvuku pˇr´ımo, protoˇze mezi segmenty by vznikaly ostr´e pˇredˇely – zvuk se pˇredem jeˇstˇe vyhlazuje. Pro znˇelost a neznˇelost se pouˇz´ıv´a tak´e nˇekolik mezistupˇ n˚ u, protoˇze i v re´alu hlasivky z naprost´eho klidu do nejintenzivnˇejˇs´ı ˇcinnosti pˇrech´azej´ı postupnˇe. Probl´em je se simulac´ı nosov´ ych hl´asek, protoˇze na to aproximace artikulaˇcn´ıho u ´stroj´ı prostou trubic´ı nefunguje. Pokud bych chtˇel trubici po ˇc´asti d´elky rozdˇelit, budu m´ıt probl´em s nalezen´ım poˇc´ateˇcn´ıch LPC koeficient˚ u. Podobn´a technika (LPC komprese) se pouˇz´ıv´a i v mobiln´ıch telefonech, protoˇze aproximace parametr˚ u je de facto druh ztr´atov´e komprese. V sign´alu telefonu se pak odes´ılaj´ı jednak koeficienty LPC, jednak chybov´y sign´ al, error signal. Ten obsahuje dodateˇcn´e informace o pr˚ ubˇehu zvukov´ ych vln ˇreˇci, kter´e se ale daj´ı t´emˇeˇr libovolnˇe omezovat a posilovat, podle toho, zda z´aleˇz´ı v´ıc na velikosti datov´eho toku, nebo na pˇrirozenosti v´ ysledku (mal´e ztr´atˇe komprese). Hlavn´ı rozd´ıl oproti TTS syst´em˚ um je ten, ˇze tady je kompresi nutn´e prov´adˇet v re´aln´em ˇcase, takˇze nejde aˇz tak o pˇresnost odhadu parametr˚ u jako o rychlost. I LPC syntetiz´atory (vˇcetnˇe tˇech nejjednoduˇsˇs´ıch) ale tak´e pouˇz´ıvaj´ı chybov´ y sign´al, kter´ y se z´ısk´av´a obr´acen´ ym aproximaˇcn´ım filtrem. To spoˇc´ıv´a v tom, ˇze od skuteˇcn´ ych dat ˇreˇci se odeˇctou odhadnut´e parametry. Aproximace nikdy nebude pˇresn´a, i kdybych mˇel modelovat jednoduch´e t´ony (to je vnˇejˇs´ı chyba). Chybov´ ym sign´alem je tak´e moˇzn´e ovl´adat zdroj zvuku v modelu artikulaˇcn´ım u ´stroj´ı a v´ ysledek bude dobr´ y (v z´avislosti na datov´em toku chybov´eho sign´alu).
Synt´eza ˇreˇci z psan´eho textu
11