Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Úvod do počítačového zpracování řeči Luděk Bártek Fakulta informatiky Masarykova univerzita podzim 2014 Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Obsah 1 Rozpoznávání plynulé řeči 2 Syntéza řeči 3 Syntéza ve frekvenční oblasti 4 Syntéza řeči v časové oblasti Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Úvod Hlavní rozdíly oproti rozpoznávání slov: nelze vytvořit analogii databáze vzorů prozodické faktory nutnost určovat hranice mezi slovy výplňkové zvuky a chyby řeči Řešení - statistický přístup použití jazykových modelů HMM vrátí stejnou pravděpodobnost např. pro slova "máma" a "nána" 1 máma je častější - vhodné použít máma Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Jazykové modely Posloupnost slov (promluva) W = (w(1)w(2)...w(n)). Posloupnost akustických vektorů - O = O(o(1)o(2)...o(t)). Chceme nalézt W* (množinu všech promluv) maximalizující P(W|O). Dle Bayesova pravidla platí:P(W*|O) = max P(W|O) = max P(W)*P(O|W)/P(O) Pro nalezení maxima potřebujeme znát: model řečníka P(O|W) jazykový model P(W) Model řečníka se nahrazuje pravděpodobností generování W odpovídajícím Markovovým modelem. Trigramový model: Platí: P(w(n)|w(1)..w(n − 1)) ∼= P(w(n)|w(n − 2)w(n − 1)) Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Rozpoznávání tématu - topic recognition Úspěšnost rozpoznávání plynulé řeči 50 — 99 % v závislosti na: úkolu jazyku mluvčím ... Úspěšnost rozpoznávání může zvýšit: znalost tématu promluvy použití gramatiky pro rozpoznávání řeči. Mění se stavový prostor a pravděpodobnosti trigramů např. mějme burzovní zprávy - bylo rozpoznáno slovo honey nebo money? Známé téma - může být přesnější jazykový model. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Gramatiky pro podporu rozpoznávání řeči Umožňují omezit množinu rozpoznávaných promluv: výhoda - vyšší úspěšnost rozpoznávání nevýhoda - nižší volnost vyjadřování Používají se bezkontextové gramatiky. V praxi často používané formáty gramatik: JSGF - původně definována v Java Speech API SRGS - součást standardů W3C Voice Browser Activity Určeny pro tvorbu dialogových a hlasových rozhraní. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Ukázka gramatiky ve formátu JSGF #JSGF = Chci jet .| Chci jet z do .| Chci jet z do v .; = vlakem | autobusem; = ; = ; = ; Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Ukázka odpovídající gramatiky v XML formátu SRGS Chci jet . Chci jet z do ... Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Ukázka odpovídající gramatiky v XML formátu SRGS Pokračování vlakem autobusem ... Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Ukázka gramatiky v ABNF formátu SRGS root=$koren; language = cs-CZ; ... $koren = Chci jet $cim. | Chci jet $cim z $ do $| ... $cim = autobusem {$out=autobus} | vlakem {$out=vlak} Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Úvod Úkol: Převod psaného textu na mluvenou řeč. Co nejpřirozenější řeč - ideálně k nerozeznání od člověka: správná intonace správné umístění přízvuků správná koartikulace správný rytmus ... Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Druhy syntézy řeči Druhy syntézy řeči ve frekvenční oblasti v časové oblasti korpusová problémově orientovaná syntéza: hlášení nádražního rozhlasu automatizované linky telefonické podpory Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Fáze syntézy řeči 1 Fonetický přepis. 2 Syntéza fonetické transkripce 3 Případný postprocessing: intonace správné časování - modifikace délky fonémů, ... větné přízvuky ... Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Fonetický přepis Slouží k přesnému, jednoznačnému zápisu mluvené řeči. Využívá fonetickou abecedu: mezinárodní fonetická abeceda - IPA (součást standardu UNICODE): ma:S se d"obr e 7bitový přepis IPA pomocí ASCII - SAMPA: ma:S se dobr’e / ma:S se dobRe Nelze si pamatovat fonetický přepis každé promluvy - nutno zabezpečit automatický přepis: fonologická pravidla Při transkripci češtiny se některé české znaky nevyužívají: ch - x w - v y/ý - i/í q - kv Koartikulace Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Pravidla fonetického přepisu češtiny ch → x ů → ú w → v q → kv y → i ý → í ě → je /po b,p,f,v dě, tě, ně, mě dě → ďe tě → ťe ně → ňe mě → mňe Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Pravidla fonetického přepisu češtiny di, ti, ni di → ďi ti → ťi ni → ňi X: x → ks | začátek slova před samohláskou, mezi samohláskami nebo před neznělou souhláskou a nebo na konci slova, s výjimkou ex → egz x → gz | před znělou souhláskou Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Změny na při spojování souhlásek Dochází k nim při spojování souhlásek. Způsobeny přenastavováním mluvidel. 2 druhy: spodoba znělosti - změna znělosti párových souhlásek ZPS → ˜ ZPS NPS → ˜ NPS dub → dup zpěv → spjef sběr → zbjer když → gdiš spodoba artikulační - při spojení dvou souhlásek s různou artikulací banka, tango tramvaj, nymfa punťa, pindík odpovědně, sto dní, vodní ts → c, tš → č ds → c, dš → č Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti On-line přístupné ukázky syntézy řeči AT&T Labs Natural Voices c Text-To-Speech Free demo to create avatars using TTS by SitePal Cepstral Text-to-Speech Festival Online Demo Speechtech s.r.o. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Syntéza ve frekvenční oblasti Emulace funkce hlasového ústrojí pomocí FM syntezátoru. Nutno uchovávat: frekvenční charakteristika použitého hlasu parametry buzení. Využívá: systém frekvenčních generátorů - simulují hlasivky filtry a zesilovače - simulace rezonance v dutinách Tyto komponenty ovládány parametry modelu. Nejběžněji použité způsoby kódování zdroje: Řečová syntéza formantového typu - uchovávají se parametry průběhu jednotlivých formantů a buzení. LPC řečová syntéza - uchovávají se F0, příznak znělosti, amplituda budícího signálu G a koeficienty LPC, Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Syntéza ve frekvenční oblasti Výhody menší paměťové nároky - uchovávají se pouze parametry modelu. Nevýhody: oproti syntéze v časové oblasti může být výsledek méně přirozený - „robotické“ hlasy Softwarová - výpočetně relativně náročné - lze implementovat přímo na úrovni HW skládání jednotlivých frekvencí, které tvoří příslušné fonémy řešení koartikulace ... Neexistuje dostatečně přesný matematický model Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Využití syntézy ve frekvenční oblasti Využití dříve: malé paměťové nároky domácí počítače (Amiga, Atari, ...) syntéza realizována většinou hardwarově Dnes: Syntéza na zařízeních s nedostatkem paměti. Syntéza realizovaná hardwarově pomocí zákaznických obvodů. Doplnění syntézy v časové oblasti o prozodické jevy: Větná intonace ... Realizováno programově pomocí modifikace F0 a formantů. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Schéma syntetizéru formantového typu Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Schéma LPC syntetizéru Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Syntéza v časové oblasti Princip spojování navzorkovaných řečových segmentů uložených v databázi. Využívají se různé typy základních segmentů: větší lépe se modelují některé další charakteristiky jako intonace, přízvuky, . . . větší nároky na paměť - větší množství segmentů (potenciálně až 2n , kde n je délka segmentu) příklady – slova, části vět, . . . menší menší paměťové nároky - menší množství segmentů horší možnost modelování větné intonace, přízvuků, ... (viz oblasti spektrální stacionarity řeči). Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Používané řečové segmenty Alofóny poziční varianty fonémů - obsahuje i části okolních fonémů počet n3 (n - počet fonémů) Difóny začínají uprostřed jednoho fonému a končí uprostřed následujícího počet n2 často využívané pro syntézu i rozpoznávání: MBrola (http://tcts.fpms.ac.be/synthesis/mbrola.html) Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Používané řečové segmenty Pokračování Trifóny začínají uprostřed levého sousedního fonému a končí uprostřed pravého sousedního počet n3 často využívané pro rozpoznávání a syntézu Slabičné segmenty. Segmenty proměnné délky získané z korpusu. Rámce Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Slabiky Slabika Slabikovat se učí už děti v první třídě. Nejmenší jednotka organizační jednotka řeči. Nelze odvodit strukturu slabik - nejednoznačnost dělení některých slov na slabiky funk-ční vs funkč-ní. Počet slabik - uvádí se cca 10000. Struktura slabiky preatura (onset) nukleus (vokalické jádro) - bývá to samohláska, příp. dvojhláska, sonora - např. krk, frikativa - např. pst, nazála např. sedm koda - nemusí se vyskytovat nukleus + koda jsou považovány za základ slabiky svahy – preatura a koda; jedná se většinou o jednu nebo více souhlásek. Luděk Bártek Úvod do počítačového zpracování řeči Rozpoznávání plynulé řeči Syntéza řeči Syntéza ve frekvenční oblasti Syntéza řeči v časové oblasti Slabičné segmenty Definovány uměle Řešení nejednoznačnosti hranice slabiky. Frekventované slabičné typy: V (samohláska/dvojhláska) - ú - kol KV (souhláska - samohláska) - vo - da KVK - jed-not-ka KK - tr-sy KKV - dna KKVK - dmout Tvoří vice než 95 % slabik Umožňují automatickou segmentaci textu. Používají se např. v syntetizéru Demosthénes (doc. Kopeček LAF (LSD) FI) Luděk Bártek Úvod do počítačového zpracování řeči