PB095 - Úvod do počítačového zpracování řeči
1. prednaska chybi
Zvuk¶
- akustický signál
- vlnění v pružném prostředí
- ve vakuu se vlnění nemá jak šířit
Řeč¶
- zvuky a gesta pro komunikaci
- znám jenom u člověka
- příznaky schopností artikulace u Australopitéka (3 mil. let ago)
- primitivnější metody zvukové komunikace i u jiných živočichů - delfíni
- vyjadřování emocí - psy, kočky
Historie emulace řeči¶
- Schopnost artikulované řeči - australopitekus - cca. -3 000 000 let
- Starověk - budování mluvících soch
- Galileo Galilei - souvislost mezi tónem a frekvencí
- 1779 - Christian Gottlieb Kratzenstein - systém rezonátorů pro samohlásky a, e, i, o, u
- 1791 - (Johann) Wolfgang von Kempelen (de Pázmánd) - první mechanický řečový syntetizér
- 1846 - J. Faber - mluvící stroj Euphonia
- 1937 - R. R. Riesz - mechanický mluvící stroj
- 1939 - H. Dudley
- VODER - elektromechanický řečový syntetizér
- VOCODER - systém pro kódování a přenos řeči
- 50. léta 20. století - syntéza ve frekvenční oblasti
- 70. léta 20. století - počítačové zpracování zvuku
2. prednaska 2013-09-23 15:56:42
Fysikální akustika¶
- řeší vznik a šíření zvuku
- zvuk charakterisován veličinami frekvence, amplituda
Perioda, frekvence¶
- perioda - doba mezi stejnou fazi pohybu (frekvence - převrácená hodnota)
- jednotka Hz
- f = 1 Hz ~~ T = 1s (1 kmit/s)
Rychlost šíření zvuku¶
- mění se s prostředím, teplotou, tlakem, vlhkostí
- vzduch (13,4°C) - 340 m/s
- voda (25°C) - 1500 m/s
- rtuť - 1400 m/s
- beton - 1700 m/s
- led - 3200 m/s
- ocel - 5000 m/s
- sklo - 5200 m/s
Hmotný bod na nehmotné pružině¶
- uhlova rychlost - uhel za sekundu
- odpor prostředí a gravitace se zanedbává
- okamžitá výchylka
- y = ymax * sin(ω * t)
- ymax = maximalní výchylka, amplituda
- ω - úhlová rychlost periodického jevu ω=2 * π / T = 2* π * f [rad/s]
Tlumene kmitani¶
- nelze zanedbat sily tlumici kmitani
- kmit. postupne mizi
- rezonance nastava, kdyz na teleso pusobi budici sila o stejne frekvenci, jako teleso kmita
Vlastní / vynucené kmitání, resonance¶
- vlastní: bez působení vnějších sil
- vynucené: buzením
- resonance: malá budící síla dokáže vyvolat silné kmitání (vlny se odrážejí od něčeho a jejich amplitudy se sčítají)
Akusticka intensita¶
- Bell
- logaritmicka stupnice (nevnímáme zvuk lineárně)
- Weber-Fechnerův psychofyzikální zákon
- rozsah cca 13 B
- šepot - 10 - 20 dB
- hovor střední hlasitosti - 50 - 55 dB
- vzlet proudového letadla ~ 190 dB
- pouziva se dB (decibell)
Formanty¶
- vyšší harmonické frekvence
- dostávají se do řeči resonancní v řečových dutinách
- F0 - ústní dutina
- F1 (??)
- F2 - hrtanová
Základní, složený tón¶
Základní¶
- průběh intensity - sinusoida
Složený¶
- linearni kombinace zakladnich tonu
- vetsina zvuku v realu
- akusticke spektrum
- k ziskani zakladnich tonu - fourierova transformace
- Fourierova věta: if f == periodicka fce then lze rozlozit na slozky (sinusoidy, cosinusoidy o zakladnich frekvencich) → akustické spektrum
Fysiologicka akustika¶
vytvareni reci¶
- resonance - tvorba reci (kazdy ma jiny timbre, identifikacee mluvciho)
- Helmholtzova resonancni teorie
- rec se vytvari v hrtanu - hlasivky
- tri resonancni dutiny - hrtanove, ustni, nosohltanove
Helmholtzův rezonátor
Vnimani zvuku¶
- zvuk jde do ucha zuzujici se dirou, kovadlinka, trimenek, hlemýžď
- ve strednim uchu kapalina, v ni 20k ruzne dlouhych podle amplitud zvuku, ktery je ma rozkmitat resonanci
Vytvareni reci¶
3. 30.09.2013 16:04:10
Fonetika¶
- zvuk se muze sirit pouze pruznym prostredim
- je omezeno, co muzeme vyslovit
- koartikulace - mezi znelymi a neznelymi souhlaskami musi hlasivky prejit z uzavreneho do otevreneho stavu
- alofom - jeden fonem znejici jinak, protoze ovlivnen koartikulaci
- plosivy - překážka proudu vzduchu, která je prudce odstraněna (explosivy) - b, p
- koartikulace zpusobuje problemy pri synthese reci → nutno brat vetsi useky reci, ne pouze fonemy
Proces digitalisace zvuku¶
- vzorkovani - spojita fce na posloupnost realnych hodnot
- kvantisace - posloupnost realnych hodnot na posloupnost celych cisel
- kvuli casove narocnosti zpracovani realnych cisel (integery jdou v ramci jednoho taktu)
- kodovani prubehu vlny
Vzorkovani¶
- zaznamenava se proud na vstupu v urcitych casech
- obvykle 44 kHz
- clovek neslysi takove frekvence, ale vnima je - ovlivnuje to timbre
Kvantisace¶
- pocet uroveni kvantovani (pásma kvantisace)
- 256, 65536, 16 milionu, 4 miliardy, …
- kvantisační krok - zapamatovat si, co to je
- na vstupu posloupnost reálných čísel, my chceme celá čísla
- pásma kvantisace →
- říká, o kolik se musí změnit hodnota vstupu, aby se hodnota výstupu změnila o 1
Kodovani¶
- PCM - prime ukladani ziskanych kvantisaci
- kdyz je tichy zvuk, muze to nebyt schopno zachytit kvantisacni kroky, naopak moc hlasity → amplituda presahne uroven kvantisace
- lze resit diferencnim PCM (pamatuje si rozdily sousednich vzorku)
4. 07.10.2013 16:02:33
Zpracování digitalisovaného signálu¶
Metody krátkodobé analysy¶
- kvůli proměnným frekvencím nutno zvuk zpracovavat po kouscích
- mikrosegmenty o délce 10-40 ms (říkal μs … asi chybka)
- v 10 μs je cca 100-1000 vzorků
- naučit se takovéhle odhady
- v frekvenční / časové oblasti
- chyba způsobená ovlivněním mikrosegmentů navzájem se napravuje váhovým okénkem
- okénko přiřazuje váhu částem mikroseg. podle relevance části mikros. (??)
- hemingovo okénko
- přiřazuje prostředním hodnotám vyšši hodnoty
- čím víc ke kraji tím víc je pro naši metodu vzorek ovlivněn okolím segmentu
- pravoúhlé okénko
- každý prvek MS dostane váhu 1, zbytek váhu 0
- říká buď jsou všechny hodnoty ovlivněny stejně, nebo vůbec
- basically zanedbání váhy
Analysa signálu v časové oblasti¶
Funkce krátkodobé energie¶
- součet hodnot vzorků
- použije se na nějaké z tech metod krátkodobé analysy → různé použití
- častější použití pravoúhlého okénka - proč?
- druhá mocnina zvyšuje dynamiku signálu (vyšší hodnoty jsou ještě vyšší po umocnění)
- součet hodnot u sinusoidy může vyjít nula, když se to umocní a sečtou se hodnoty, vyjde nějaké kladné číslo
- lze tím detekovat ticho a promluvu, odlišit znělé od neznělých konsonantů, protože průměrná energie klesá v tichu a při šumech (neznělé kons., vokály)
- klasifikátory slov (rozpoznávání promluvy)
Funkce krátkodobé intensity¶
Krátkodobá fuknce středního průchodu nulou¶
- součet průchodů signálu nulou
- sgn - fce vyhazuje pro kladná čísla 1, pro nulu 0, pro záporná -1
- 2. varianta - počet lokálních extrémů
- nemusí být úplně to samé, lokálních extrémů může být víc (peeky nemusí začínat průchodem přes baseline…asi)
- při vysoké frekvenci vysoký počet průchodů nulou
- když se změní graf PPN, změnil se signál
- detekce základního hlasivkového tónu
- nejnižší opakující se frekvence (??); mívá vysokou intensitu
- frekvence formantů
- obojí může ovlivňovat okolní šum
Diferenční klasifikátor¶
- diference 1. řádu
- posčítají se rozdíly mezi vzorky signálu
Krátkodobá autokorelace¶
- počítá se na 1 množine
- korelace se počítá na 2 množ.
- vyjadřuje, jak jsou si určité úseky / podmnožiny podobné
- když jsou vlny stejné → maximální hodnota autokorelace (hodnoty se násobí)
Zpracování signálu ve frekvenční oblasti¶
- ???
- ve slidech chybí simulace kochlei (??) - šnek ve vnitřním uchu
Fourierova transformace¶
- rozložení signálu do řady
- základní tóny represent. sinem, cosinem
- somewhat sčítá plochy pod grafy… když vlny "souzní", dostáváme větší hodnoty, když jsou víc rozhozené, dostáváme menší hodnoty
- digi signál není spojitý → nelze použít Fourierovu větu
- → použije se diskrétní F. tranform.
DFT¶
- výsledkem komplexní čísla
- (abs(komplex_number) = vzdálenost od počátku systému)
- omega (ve vzorecku) je periodická
- počítá se to v komplex. oboru
FTT - Rychlá FT¶
- blah, blah, blah, blah, vůbec nevím, o čem mluví, blah blah, blah, algoritmus po vás nebudu chtít, blah, blah…
Kepstrální analysa¶
- vychází z činnosti hlas. ústrojí
- inversní FT
- mluvená řeč je posloupnost budících pulsů, bílého šumu a reakcí řeč. ústrojí na něj
- tyto charakt. se snaří spočítat Cepstrum
- oddělení parametrů buzení a hlasového ústrojí (co která část mluvidel udělala…asi)
- cepstrální analysa → waveform v čase
- využívá se k
- simulaci tvorby řeči
- analysy parametrů řečového ústrojí → verifikace / ident. mluvčího
- ocenění fonet. strukt. řeči
- rozpoznávání slov
Lineární prediktivní analysa¶
- z chyb v predikci lze určovat spoustu věcí
- poznatky o znělosti - u neznělého vyjde predikce lépe
- základní tón
- dá se to použít jako příznaky pro rozpoznávání řeči
5. 14.10.2013 16:03:42
Rozpoznávání řeči¶
- isolovaných slov
- souvislé promluvy
Cíle¶
- interpretace příkazů
- hlasové vytáčení
- navigace (aby člověk nemusel vyťukávat destinaci)
- převod mluveného slova na text
- přepis
- soudní přelíčení
- problém jak určit hranice slov
Isolované příkazy¶
- promluva ohraničena pauzou
- povely jedno- či víceslovné
- na konci jasná pauza
- obvykle natrénovaný systém → vytvořený slovník, v němž se hledá
- závislé na uživateli, který systém trénval
Vektory příznaky¶
- získané nějakou z metod krátkodobé analysy signálu
- většinou v časové oblasti - FT
- vektor - vektorový prostor
- množina s operacemi (sčítání/násobení) skalárem
- nosná množina B tvoří komutativní grupu s něčím - je uzavřená na operaci, je komutativní, existuje jednotkový prvek, pro libovolný prvek musí existovat inverse v té grupě… blah blah blah.. dafaq
- množina celých čísel vzhledem k násobení - jednotkový prv. je jednička, inverse není → není to grupa
- řádově desítky rozměrů prostoru
- nejen vektorový, ale i metrický prostor (množina, k níž patří zobrazení, pro něž platí pravidla viz slidy)
- d(x,y)>= 0 vzdálenost vetší než nula
- d(x,y)== 0 <=> x == y if d = 0 → identické prvky - d(x,y)== d(y,x) vzdálenost je symetrická (nejsou jednosměrky) - d(x,z)<= d(x,y) + d(y,z) vzdálenost přes přidaný bod je větší než přímá cesta
Klasifikátory¶
- něco něco něco
- nějakým způsobem klasifikují slova
- porovnání slov
DTW (Dynamic Time Warping)¶
- borceni časové osy
- vzorky natahuje / zkracuje tak, aby vzdálenost byla co nejmenší
- porovnání dvou úseků promluvy, jež jsou určeny příznaky
- vytvoření DB rozpoznávaných slov
- posloupnost pro rozpoznávané slovo
- metodou DTW porovnáváme slovo v DB a hledáme shodné slovo → minimalisujeme vzdálenost určenou pomocí DTW
- f a g by měly být neklesající fce
-
Realisace klasifikátoru¶
- když se učí, provede porovnání s ostatními slovy ve slovníku, uloží
- když rozpoznává, uloží obraz, pomocí DTW porovná slova s DB a vybere odpovídající slovo (s minimálním součtem vzdáleností)
- kdyby byla slova identická, vzdálenost vekt. = 0
Postup:
- uživatel vysloví postupně slova
- digitalisace slov
- vytvoření posloupnosti příznaků
- detekce slov
- důležitá pro úspěšnost rozponání
- problém kvůli ruchu na pozadí
- vytvoření referenčních obrazů slov
- problém pokrytí různého vyřčení (od různých řečníků) stejného slova
Refereční obrazy¶
- pro každého řečníka vlastní obraz → velká DB, problém vyhledávání
- pro každou třídu (slovo) průměrný obraz
- průměrování lineární časovou normalisací
- vzorky se natáhnou na délku obrazu a porovnáváme
- průměrování pomocí DTW
- shlukování
- ze vzorků podobných - jedna množina
- (poloměr množiny - vzdálenost nejvzdálenějších prvků (asi))
Nevýhody DTW¶
- prohledávání velkého množství dat
- rychlejší počítač
- redukce množství dat
- vhodné zakodování vektoru (prohledávání jednorozměrného prostoru - uloží se něco někam fuuuuuu)
- redukce informací o spektru oproti aktuální amplitudě signálu (asi)
- a další
- efektivnější prohledávací algoritmy (a organisace dat)
- práh zamítnutí
- když je vzdálenost moc velká, vzorky se neberou
A tady toho spousta chybí…
Hidden Markov Models¶
- v jednom stavu víme, kam můžeme přeskočit
- HMM se snaží modelovat stavy mluvidel - v daném jazyce je pravděpodobnost přechodu z jednoho stavu do jiného nějak předvídatelná
u zkousky principy DTW, zakladni princim HMM, nebude u zkousky vypocty pravdepodobnosti
6. 21.10.2013 15:56:02
Rozpoznávání plynulé promluvy¶
Rozdíly¶
- nelze vytvořit databasi modelů
- musíme řešit prosodii
- intonace, přízvuky, důrazy, …
- detekce hranic slov
- výplňové zvuky
- nesouvisí s danou promluvou
Řešení¶
- statistický přístup
- jak častá jsou která slova v daném kontextu
Jazykové modely¶
- pravděpodobnost výskytu slov v jazyce - P(W)
- podmíněná pravděp., že dané promluvě odpovídá nějaká posloupnost slov
- slidy: O = promluva, W = posloupnost slov
- pravděp., že po nějaké posloupnosti slov přijde další konkrétní slovo se dá spočítat použitím korpusu s fonetickými přepisy
Úspěšnost rozpoznávání plyn. řeči¶
- závisí na
- jazyce (volný slovosled zvyšuje velikost modelu → nižší úspěšnost)
- úkolu (téma)
- mluvčí (některý lidi prostě mluví jako debilové a není jim rozumět)
Metody zvýšení úspěšnosti¶
- jazykové modely (kontext)
- gramatiky
- menší volnost vyjadřování mluvčího
- bezkontextové gramatiky (přestože pro některé jazyky lepší kontext.)
Synthesa řeči¶
- několik způsobů
- frekvenční oblast (problémově orientovaná - předmluvená promluva a do ní jde synthetisovaný text )
- modulator se rozezní na nějaké frekvenci a f se mění v čase
- časová oblast (např. korpusová synthesa)
- něco se prej dá spočítat… a u zkoušky to po nás prej chtít nebude
Fáze synthesy řeči¶
- fonetický přepis
- zohledňuje koartikulaci
- zachycení promluvy
- automatizovaný proces
- synthesa transkripce
- postprocessing
- intonace
- rythmus
- větný přízvuk
Synthesa ve frekvenční oblasti¶
- nutno si pamatovat charakteristiku hlasu + budící signál
- méně paměťově náročné (používalo se na starých strojích)
- budící signál - nějaké filtry, parametry, formanty… geh
- koeficienty LPC - ziskané z lineární prediktivní analysy
- méně přirozené
Synthesa v časové oblasti¶
- spojování vzorků z DB
- čím větší vzorky, tím lepší modelování intonace, přízvuků apod
- čím větší segmentů, tím více jich je a více paměti zabírají
- používají se alofony, difony, trifony, …
07. 04.11.2013 16:05:17
Synthesa v časové oblasti - pokračování¶
- řečové segmenty se spojují
- problém, aby na sebe navazovaly
- alofon
- posiční varianta fonému
- n3 segmentů (před, alofon, po)
- difon
.
.
.
Slabičné segmenty¶
- empiricky se zjistily nějaké nejčastější typy slabik
- V, KV, KVK, …
11.11.2013 - chybí
Dialogové systémy¶
- schéma systému - uživatel mezi synthetiserem a rozpoznáváním řeči
18.11.2013 16:03:40
Dialogové systémy¶
- systém, který s uživatelem komunikuje v přirozeném jazyce
- rozpoznává dotazy uživatele
- v přirozeném jazyce dává odpověď
- služba běží kdesi, přístup:
- telefonní službou
- ISDN - předchůdce ADSL
- protokol VoIP (přenos hlasu přes IP protokol)
- DTNF (Dual Tone Multi-Frequency) - pipani tlacitek, prenos čísel
- následovník pulsní volby, byly chybové
- textové rozhraní
- nemusí se rozpoznávát řeč
- dialogová strategie
- alg., podle nejz se ridi dialogovy manazer
- dialog. manazer - konecny stavovy automat
- poc. stav, na zaklade vstupu neco udela a je v jinem stavu
- podle toho, která d.s. je vůdčí, se dá určit initicativa
VoIP¶
- rodina protokolů pro přenos hlasu
- protokoly pro ustavení spojení, přenos, …
- na transportní vrstvě
- hlavně UDP, protože menší režie než TCP
- na relační vrstvě RTP
- zjišťuje po cestě propustnost, aby mohl nastavit parametry spojení
- zda jsou obě strany schopny zpracováváat třeba video
- zjišťuje rychlost, jitter, …
- signalisace
- signal "volam", "obsazeno", …
- protokol SIP reakce na H.323, jenž byl příliš komplexní
Omezení vstupu¶
- doména vstupů (honey / money)
- bezkontext gramatiky
- logické programování
- priprietární řešní
- JSGF, SRGS
2013-11-25 16.12:08
W3C¶
- CERN - částicová fyzika, první řádkový prohlížeč
- A. G. Bell založil AT&T, v roce 1999 rozděleno antimonopol. úřadem na menší
Standardy W3C¶
- určeny pro telefonní přístup k webu
- mají být nezávislé na app, přenositelné, jednoduché
- voiceXML
- popisuje dialogovou strategii
- dial. strat. = jak se zachová automat po vstupu
- Speecg Recognition Grammar System
- gramatiky pro dial. systemy, aby byla vyšší úspěšnost
- SISR (Semantic Interpret. for Speech Recognition)
- sémantická interpretace (odkud, kam, čím ve větě "Rád bych jel z Brna do Prahy dnes autobusem, …")
- → přiřadí významy
- PLS (Pronunciation Lexicon Spec.)
- jak se co má vyslovovat (telef. číslo, cizí slova, …)
- fonetické přepisy cizích slov
- CCXML (call control)
- SCXML (state chart)
- formální popis komunikace (přechodových stavů - automatu)
VoiceXML¶
- dialogové strategie
- sjednocení vývoje interaktivních hlasových aplikací
- AT&T Phone Markup Language
- spousta různých standardů od každé velké firmy
- VoiceXML forum - vývoj společného standardu
Architektura VXML app¶
server <→ voiceXML interpret <→ implementační platforma (komunikace interpretu s userem)
- formuláře - části formuláře provázány pomocí URI
- přechody definovány pomocí URI - další stav
- URI - identifikace zdroje - unikátní adresa, nemusí to být lokace
- menu - klávesy na telefonu - signály = volby
- umožní pokračovat na jiné části app
- subdialogy - funkce, aby se neopakoval kód
- session (sezení)
VoiceXML form¶
- řada položek, postupně se prochází, přečte se výzva, uživatel zadá její obsah, když všechno vyplněno, zavolá se událost filled