Beszédfelismerés és beszédszintézis Megoldások jobbminőségű beszédszintézishez Olaszy Gábor és Németh Géza (BME-TMIT) számfelolvasó rendszere alapján és a PROFIVOX ismertetésével Takács György 2014. 04. 03. Beszed 2014. 04. 03
Zárthelyi időpontja: április 10. csütörtök 12:15 Zárthelyi időpontja: április 10. csütörtök 12:15. Az első 12 előadás anyagából, a laboratóriumi gyakorlatok tapasztalataiból Beszed 2014. 04. 03
Milyen tapasztalatokat hozott az első szintézis gyakorlat? JAWS for Windows 14.0 képernyőolvasó program magyar nyelvű bemutató változata http://www.infoalap.hu/letoltes/ Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Furcsa ritmus Ez nem a kivágás-összefűzés szünettel gazdálkodásának technikai hibája! Ugyanazt a szót, szótagot, hangkapcsolatot egészen más időtartammal ejtjük, ha önmagában szerepel, mint egy hosszú kifejezés részeként! Összetett és finom szabályok szerint tartunk szüneteket a szavak között vagy teljesen egybefüggően ejtjük azokat. Ez függ a szövegkörnyezettől, a hangsúly-szándéktól! Igen érzékenyek vagyunk erre a beszéd észlelésekor! Még megértési problémát is okozhat! Beszed 2014. 04. 03
Furcsa a hanglejtés/dallam Nem elég „kiegyenesíteni” a dallamot. Ettől is csak rossz lesz! Valahogy „másként” éneklő. Minden mondathoz, kifejezéshez illik egy dallamvonulat! Általában jó egy ereszkedő dallammenet, de a szünetekben -- főként, ha levegőt is veszünk – ismét magasabbról indul a hangmagasság! Erre is érzékenyen reagálunk a beszéd érzékelésekor! Beszed 2014. 04. 03
Furcsa az intenzitásszerkezet Ez is a beszéd sajátos szerkezete és nem technikai hiba. Bizonyos beszédelemek egymás mellé téve azonos hangerő érzetét keltik, míg más kombinációban természetellenesnek tűnnek. Nem jó megoldás az sem, ha jelszintben, energiában kiegyenlítjük az összefűzendő elemeket. Az intenzitás is csökken egy hosszú mondatban, kifejezésben. Erre is érzékenyen reagálunk. Beszed 2014. 04. 03
Furcsák a kapcsolódások egyes beszédhangok ejtésminősége tekintetében is! Másként ejtünk egy-egy szóvégi hangot attól függően, hogy milyen hanggal kezdődik a következő szó! Erre is érzékenyen reagálunk. Beszed 2014. 04. 03
Olaszy Gábor és Németh Géza (BME-TMIT) többnyelvű számfelolvasó rendszere Pl: 125000 : (English) one hundred and twenty five thousand (German) ein hundert fünf und zwanzig tausend (Hungarian) száz huszon öt ezer (Portuguese) cento e vinte cinco mil Beszed 2014. 04. 03
A „nyers” építőelemek száma Angol : 36 szótár- alapelem Magyar: 25 szótár- alapelem Német: 35szótár- alapelem Portugál: 53 szótár -alapelem Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Természetes kiejtéshez biztosítani kell az alábbiakat: folyamatos kiejtés, helyes pozíciójú és hosszúságú szünetekkel a számelemek kiejtési helytől függő időszerkezete spektrális és intenzitás folytonosság (koartikuláció figyelembe vétele) az elemhatárokon szóhangsúlyok és alapfrekvencia változások helyessége Beszed 2014. 04. 03
Folyamatos kiejtés A megfelelő helyeken, megfelelő hosszúsággal beiktatott szünetekkel, a 2, 3, 4, szempontok szerint kiválasztott elemek folytonos összefűzése (vágás nullátmenetnél negatívból pozitívba) Beszed 2014. 04. 03
A számelemek kiejtési helytől függő időszerkezete Kezdő (B, beginning, pl. 1234567), középső (M, middle, 1231567), záró (L, last, 1234561) elem szükséges a többi szempont szerint kiválasztott minden elemből (elvileg). nagyszámú (közel ezer) kimondott szám vizsgálata alapján Beszed 2014. 04. 03
Minden elemre hat az előző és a következő elem Spektrális és intenzitás folytonosság (koartikuláció figyelembe vétele) az elemhatárokon Minden elemre hat az előző és a következő elem Beszed 2014. 04. 03
Lehetséges pozíciók: Egyedül áll (6) Felsorolás (12, 2 56.) Első (elemXXX) Belső (XXXelemXXX) Záró (XXXelem) Beszed 2014. 04. 03
oneXXX után hundred, thousand, million, billion, (pl., 1100) Az 1 példája Angolul one. oneXXX után hundred, thousand, million, billion, (pl., 1100) XXXone elott thousand, million, billion, and, twenty, thirty.... ninety (pl., 1100, 101, 21). one elemkészlet: (1) szabály: one felsorolásban vagy egyedül 1, 2, 3 oneXXX esetekben (2) szabály: one (one hundred), a (h) módosítja az (n)-et, (3) szabály: one (one thousand) az (n) és a (t) azonos artikulációs bázisú, ezért az (n) rövidebb lesz, (4) szabály: one (one million), az (n) (m)-be megy át, XXXone esetekben (5) szabály one ( thousand one, hundred and one, etc.) zárhang és (v) találkozása, (6) szabály: one (twenty one, etc.) i és (v) találkozása , XXXoneXXX (5) + (2), (5) + (3), (5) + (4), (6) + (3), (6) + (4) Összesen: 11 (1+3+2 +5) elméleti lehetőség. A hagyományos módszer minden elemére elvégezve a fenti elemzést, a spektrális és intenzitás folytonosság biztosítható. Beszed 2014. 04. 03
(6) szabály: million ein, nazális és magánhangzó találkozása. Németül: (1) szabály: Ein ha a szám 1-nél nagyobb, eine ha egyedül áll (pl., 1, 2, 3), eine pl. eine million és eine DM. (2), (3), és (4) változatlan, mert az einXXX és a oneXXX kategóriái megegyeznek XXXein különbözik (5) szabály: hundert ein, tausend ein, milliard ein , zárhang és magánhangzó találkozása, (6) szabály: million ein, nazális és magánhangzó találkozása. XXXeinXXX (5) + (2), (5) + (3), (5) + (4), (6) + (2), (6) + (3) Összesen: 13 (3+3+2 +5) elméleti lehetőség. Beszed 2014. 04. 03
(1) szabály: egy egyedül áll (1, 2, 3 stb.), egyXXX Magyarul egy: (1) szabály: egy egyedül áll (1, 2, 3 stb.), egyXXX (2) szabály: egy millió és egy milliárd) (3) szabály: egy ezer, pl. 31000), zöngés alveolo-palatális zárhang és magánhangzó találkozása, (4) szabály: egy száz pl. 3125000, zöngés alveolo-palatális zárhangot zöngétleníti a száz sz hangja, XXXegy (5) szabály: ....n egy, pl. 51, 61, 71, etc.) a nazális hang módosítja az e-t, (6) szabály: millió egy, pl. 5000001) magánhangzó-magánhangzó kapcsolat. XXXegyXXX (5) + (2), (5) + (3), (6) + (3), (6) + (4) Összesen: 10 (1+3+2 +4) elméleti lehetőség. Beszed 2014. 04. 03
A legfontosabb regresszív koartikulációs szabályok Beszed 2014. 04. 03
A legfontosabb progresszív koartikulációs szabályok Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Szóhangsúlyok és alapfrekvencia változások helyessége A számok kimondásakor több hangsúly is megjelenik. AB: kezdo hangsúly AM: közbenso hangsúly AL: záró hangsúly, eso intonáció N: semleges, hangsúlytalan elemek Beszed 2014. 04. 03
hordozzák a helyes hangsúlyt is. Szerencsére a helyes időtartamot biztosító elemek (B, M, L) megfelelő tervezés esetén magukban hordozzák a helyes hangsúlyt is. Ha a számelem a mondat végén áll, (pl. Az ön számlájának egyenlege: 53424 forint) eső jellegű intonációja lesz. Ha a mondat közepén helyezkedik el, (pl. Az ön számláján 53424 forint összegű tranzakció valósul meg.) a számelem intonációja laposabb, lebegőbb). Beszed 2014. 04. 03
A számkimondó megvalósítása Előzmény: az elemi (hagyományos) építőkockák, számelemek meghatározása a kimondási szabályrendszerek (időtartam, koartikulációs, hangsúly és intonáció) meghatározása A felolvasandó szöveglista meghatározása Vivőszöveg kialakítása az építőkockák és a szabályrendszer alapján Example of determining the list of number elements and the source from where they will be cut out (for English) Beszed 2014. 04. 03
Beszed 2014. 04. 03
A felolvasandó szöveg felvétele Minden elemet a megfelelő vivőszövegben kell felolvasni. A vivőszöveget célszerű redundánsra tervezni (minden elem legalább kétszer forduljon elő). Az egyes elemek között kb. 2 sec szünetet célszerű tartani. Nagyobb egységenként (pl. oldalanként) érdemes hosszabb szünetet tartani. Az oldal megkezdése előtt az előző oldal végének meghallgatása. Összpontosítás az egyenletes hangmagasság, hangerő és beszédsebesség biztosításához. Beszed 2014. 04. 03
A hangelemek kivágása a felolvasott vivőszövegből Kivágás előtt a felolvasás helyességét ellenőrizni, hiba esetén a redundáns elem elővétele. Időbeli (esetleg spektrális) vizsgálat alapján határok megállapítása. Elemek elmentése az építőelem lista és a szabályrendszernek megfelelő logikus rendben (adatbázis, könyvtárstruktúra, stb.) Beszed 2014. 04. 03
Jóminőségű beszédszintézis kritériumai Bemenete akármilyen szövegkarakter sorozat (szövegszerkesztő, újság, könyv, e-mail, internetes hír…….) A beszéd jól érthető és természetes (tehát bizonyos szinten érti is, amit mond) Személyes jellege is van, indulatok, érzelmek elemeit is képes kifejezni Platform független Kiegészíthető más modalitásokkal is pl. a beszéddel szinkronban mozgó beszélő fejjel Beszed 2014. 04. 03
Alapproblémák Az írás diszkrét és a szavakat szóközök választják el – a beszéd folyamatos, szünetek csak a prozódiai egységek között vannak. A folyamatosság hibái durván minőségrombolók! A betűhibákat másként kezeljük, „átugorja” a szemünk – a kiejtési hibákat „nem ugorja át” a fülünk. A puszta szöveggel együtt kapott többletinformáció sok, a helyes és szép kiejtést támogató többletinformáció kevés. Beszed 2014. 04. 03
Szövegfelolvasó (text-to-speech) rendszerek általános felépítése Személy jellemzők Érzelmi jellemzők Nyelvi feldolgozó Akusztikus Szöveg karaktersorozat Hangkarakterek, Prozódiai jelek (tempó, ritmus, dallam, szünet, hangsúly) Beszédjel Hangkimenet Beszélő fej képkimenet Beszed 2014. 04. 03
Nyelvi feldolgozó feladatai Írásjel-betű átalakítás, pont, zárójel, idézőjel, számok stb. kezelése Idegen és speciálisan ejtendő szavak elkülönítése (szabály vagy kivétel -- döntés szótár alapján) Morfológiai elemzés Prozódiai jellemzők meghatározása (mondat, kifejezés, szó szinten) Hangkarakter sorozat előállítás Fonetikai szabályok alkalmazása (rövidülés, hasonulás, összeolvadás, kiesés….) Beszed 2014. 04. 03
Akusztikus feldolgozó feladatai Az artikulációs modell működtetése a hangkarakterek és kiegészítő információk alapján Kritikus a hangátmenetek kezelése. Kritikus a prozódiai jellemzők és hangelemek finom összehangolása Megvalósítható tárolt felvétel elemek összefűzésével vagy a hangképző szervek működését leíró modell segítségével. Beszed 2014. 04. 03
A nyelvi és akusztikus feldolgozók megvalósításai Lehetnek racionális szabálygyűjtemény alapján működők. A szabályok lehetnek pl. „Ha -………, akkor” típusúak -kivételgyűjteménnyel. Lehetnek nagyszámú példát felsorolók, s ebből empirikus módszerekkel dolgozók. Beszed 2014. 04. 03
egy gerjesztett szűrőrendszer kimeneteként · állítja elő a beszédjelet Beszed 2014. 04. 03
http://www.speech.kth.se/wavesurfer/formant/ Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Beszed 2014. 04. 03
Akusztikus feldolgozó példa diádos felvételekből összefűzés Diád: elemhatár – hanghatár – elemhatár Stabil szakasztól stabil szakaszig legyenek az adott hangsorozat hangkódjai: 1,5,11,13. Beszed 2014. 04. 03
Diádos megoldás problémái Diádok elvi száma az elemkészlet négyzete Gyakorlati számuk 1500-2000 Ha diádok hullámformáját tároljuk, akkor nehéz a prozódiai elemek ráültetése Ha forráskódolással tárolt elemeket tárolunk (LPC, PARCOR, formáns), akkor könnyebb az interpoláció, a prozódiai elemek, a személyes elemek, az érzelmi elemek alakítása, de műveletigényes a folyamat. Nem elég finom a diád, triád még jobb lenne, de számuk >10.000 Tárolni nehéz? Nem – felvenni! Beszed 2014. 04. 03
Prozódiai elemek ráültetése hullámformaként tárolt diádokra PSOLA módszer (Pitch Synchronous Overlap Add) Első lépésben a zöngehelyek (pitch mark) kijelölése Második lépés a periódusok fázisviszonyainak átállítása koszinuszos összetevőkre – ez egy nem hallható manipuláció Harmadik lépésben a periódusok összébb tolhatók vagy széthúzhatók a dallamterv szerint. Az időtartamok periódusok ismétlésével vagy kihagyásával módosíthatók Beszed 2014. 04. 03
Beszed 2014. 04. 03
Interpolációhoz és prozódiai elemek ráültetéséhez használható újabb módszer – neurális hálózatok Beszed 2014. 04. 03
Further, diphone unit concatenation is improved by spectral Harmonics and Noise Modelling (HNM) is a sinusoidal modelling technique for sound signal generation that has seen increasing use in speech and music in recent years. This spectral manipulation technique can replace time-domain concatenative synthesis (e.g., Psola, Mbrola) with good preservation of speaker voice qualities. Further, diphone unit concatenation is improved by spectral adjustments performed in the harmonic space. We have implemented an initial version of a pitch-synchronous HNM algorithm this summer. Currently, this algorithm permits only f0 and time manipulation, but we are in the process of implementing spectral shaping for unit concatenation. Over the longer term, we shall experiment with other generational parameters, such as the open quotient to simulate variations in speech quality. Beszed 2014. 04. 03
The basic idea behind Harmonics + Noise Modelling (HNM) is simple… HNM Systems' Basics The basic idea behind Harmonics + Noise Modelling (HNM) is simple… …Separate regular from irregular signal activity by a process of modelling harmonic components and subtracting noise components. …Perform signal modification (e.g., for pitch and duration) in harmonic components. …Add noise component to modified harmonic component. Beszed 2014. 04. 03
Spontaneous and Read Speech 2/10 Results: > The mean f0 was higher in read-aloud (136 Hz) than spontaneous speech (107 Hz). > Slopes were significantly steeper in the read-aloud version. > Duration was shorter for read-aloud speech. Beszed 2014. 04. 03 Figure 1: Left: read-aloud, Right: spontaneous
A legjobb beszédszintetizátorok: http://www.research.att.com/~ttsweb/tts/demo.php http://www.cs.nyu.edu/~mohri/postscript/usel.pdf Beszed 2014. 04. 03