Kiegészítés a Párbeszédes Informatikai Rendszerek tantárgyhoz
Fazekas István 2011 R1
Tartalomjegyzék 1. Hangtani alapok.....................................................................................................................................................5 1.1 Periodikus jelek...............................................................................................................................................5 1.1.1 Időben periodikus jelek.........................................................................................................................5 1.1.2 Térben periodikus jelek.........................................................................................................................5 1.1.3 Szinusz és koszinusz függvények a természetben...........................................................................5 1.1.4 Egyéb jelformák......................................................................................................................................7 1.1.5 Fourier sor................................................................................................................................................7 1.2 Egyéb jeltípusok..............................................................................................................................................8 1.2.1 A jelek osztályozása...............................................................................................................................8 1.2.2 Fourier transzformáció..........................................................................................................................8 2. A beszédfeldolgozás hardver alapjai..................................................................................................................9 2.1 Szűrők................................................................................................................................................................9 2.2 Mintavételezés.................................................................................................................................................9 2.3 Kvantálás..........................................................................................................................................................9 2.3.1 DA átalakítók........................................................................................................................................10 2.3.2 AD átalakítók........................................................................................................................................10 2.3.2.1 Nyílt hurkú, vagy visszacsatolás nélküli ADC......................................................................11 2.3.2.2 Zárt hurkú, vagy visszacsatolásos ADC.................................................................................11 2.3.2.3 Indirekt ADC................................................................................................................................12 3 Beszédszintetizálás................................................................................................................................................13 3.1 Az emberi hangképző szervek...................................................................................................................13 3.2 A TTS konverzió lépései..............................................................................................................................13 3.3 A beszédszintetizálás története..................................................................................................................13 Bell Laboratórium:...................................................................................................................................13 3.4 Beszédszintetizálási technológiák.............................................................................................................14
4
1. Hangtani alapok 1.1 Periodikus jelek 1.1.1 Időben periodikus jelek
Időben változó x mennyiség esetén periodikus jelről beszélünk, ha: x (t+nT )=x (t )
n∈ℤ
legfontosabb jellemzői: •
Amplitúdó: a rezgés intenzitása. (Mértékegység függő, több típusa létezik: csúcstól csúcsig, abszolút érték, stb.)
•
Frekvencia: a másodpercenkénti periódus szám. (jele: f)
•
Periódusidő: értelemszerűen, egy periódus ideje. (jele: T ,
T= 1/f)
1.1.2 Térben periodikus jelek
Térben tovaterjedő időben periodikus jelenség (pl. hang). Időben és térben periodikus jelek között a hullámhossz, és a terjedési sebesség segítségével állapítható meg összefüggés. λ = vT ahol v: terjedési sebesség, λ: hullámhossz, T: periódus idő. 1.1.3 Szinusz és koszinusz függvények a természetben
A természetben előforduló folyamatok esetében kiemelt jelentőségűek. Periodikusak 2П szerint: cos(t + n2П) = cos(t), és sin(t + n2П) = sin(t) Matematikai bevezetése szokásosan derékszögű háromszöggel történik, a fizikában és a műszaki számításokban viszont leggyakrabban a forgó egységvektorral értelmezik.
sin α
α cos α
x
A szinusz és koszinusz függvények között mindössze egy Π/2, azaz 90°-os szögeltolás, azaz fáziskülönbség van.
5
y = sin x
y = cos x
Mivel a fizikai jelenségeket mint időben zajló eseményeket tárgyaljuk, a forgómozgáshoz a szögelfordulás (α) helyett az idő (t) és a szögsebesség (ω) szorzatát használjuk: α = ωt tehát
x = cos(ωt) és y = sin(ωt).
Megemlítendő, hogy mivel az elmozdulás nélküli fizikai folyamatok leírásánál a szögsebességnek nincs fizikai értelme, helyette bevezetésre került a körfrekvencia fogalma. Ez a periódus időből és a teljes „körbefordulásból”, azaz a 2Π értékéből: ω = 2П/T vagy mivel
f = 1/T, ω = 2Пf
1.1.4 Harmonikusok
A hangok létrejöttét pl. a húr rezgésével mutathatjuk be. A megpengetett húr rugalmasságánál fogva mindkét irányban kitér (hanyagoljuk most el a csillapodást), minek következtében periodikusan légnyomás változást idéz elő. Ez a levegőben hangsebességgel tovaterjedve eredményezi a hangot. A két végén rögzített húrnak azonban nem csak a közepe végezhet mozgást, hanem a hosszának fele, harmada, stb. körül is rezeghet, amit a hangtanban felharmonikusnak hívunk. A legalacsonyabb frekvenciájú rezgés, amit az adott hang tartalmaz, az alap harmonikus. Alap harmonikus
Első felharmonikus
Pontosabb analízis a Fourier sor segítségével végezhető el.
A húr hosszának külön rezgő szakaszai azonban kizárólag a harmonikusok arányának magyarázatához szükségesek. Gyakori hiba a húr hosszát a hang hullámhosszának venni. A húr - feszességétől függő rezgésszámmal - a levegőben tovaterjedő hullámokat kelt. A hullámhossz tehát a levegőben terjedő hang hullámhossza, vagyis az a távolság, melyet a hang a levegőben egy rezgési periódus alatt halad. Ez nem áll közvetlen összefüggésben a húr hosszával.
6
1.1.5 Egyéb jelformák
háromszög 1.1.6 Fourier sor
fűrészfog
négyszög
Joseph Baptiste Fourier: 18-19.sz. (Üvegház hatás, dimenzionálisan helyes egyenletek, Fourier transzformáció.) Fourier szerint valamennyi periodikus függvény felírható az alábbi függvénysorral: x (t )= Megjegyzés:
a0 ∞ +∑ (a cos (kωt)+b k sin (kωt)) 2 k =1 k
Az egyes a és b együtthatók az alábbi képletekkel x(t) ismeretében számíthatók: T
a k =1/T ∫ x (t )cos ( kωt)dt −T
T
és
b k =1/T ∫ x (t )sin(kωt )dt −T
Amennyiben a jel függőlegesen el van tolva valamilyen szinttel, külön meghatározható az eltolás is: T
a0=1 /T ∫ x (t ) dt −T
A fenti számítások ismert leírású periodikus függvényekkel könnyen elvégezhetők, és az a, b együtthatók kiszámíthatók k különböző értékeire.
Négyszögjelet pl. a következő módon szintetizálhatunk szinuszos összetevőkből: ∞
1 x (t )=∑ ( sin( kωt )) ahol k pozitív , páratlan szám k=1 k Amennyiben ezeket az együtthatókat ábrázoljuk a frekvencia függvényében, akkor megkapjuk az adott időbeli jel spektrumát. Szokásos megfogalmazás szerint ekkor az időtartománybeli vizsgálatból áttérünk a frekvenciatartománybeli vizsgálatra. A frekvenciatartománybeli vizsgálat előnye, hogy sokkal egyszerűbb a hanghoz hozzáadódó zavarok elkülönítése, illetve az áramkörök átviteli jellegének értelmezése.
Időtartomány
7
Frekvenciatartomány
Megjegyzés: A gyakorlatban a vonalas spektrumban az adott frekvenciához tartozó szinuszos és koszinuszos összetevőket egy vonallal, az összegzett teljesítményük alapján ábrázoljuk. Ehhez az adott frekvencia összetevő teljesítményét az a n2+bn2 képlettel kapjuk meg.
√
A szinuszos és koszinuszos összetevők miatti fáziskülönbségeket ilyenkor külön, ún. fázisspektrumon ábrázoljuk.
1.2 Egyéb jeltípusok 1.2.1 A jelek osztályozása
Determinisztikus jelek: A jel állapota tetszőleges jövőbeni időpontban meghatározható a múlt és jelen állapotokból. Periodikus Tranziens Sztochasztikus jelek: A jel jövőbeni állapota a múlt és jelen állapotokból csak bizonyos valószínűséggel határozható meg. Stacionárius – statisztikai jellemzők állandók Nem stacionárius – statisztikai jellemzők nem állandók A fentebb leírt Fourier sorba fejtést csak periodikus jelekre lehetett elvégezni, melyek ún. vonalas spektrumot eredményeznek. Nem periodikus jelekre az időtartomány és frekvenciatartomány közötti váltáshoz a Fourier transzformációt alkalmazzák. 1.2.2 Fourier transzformáció
A Fourier sor jelentősége, hogy adott periodikus jel időfüggvényének vizsgálata helyett a frekvenciatartományban vizsgáljuk a jelet. A sorba fejtést a fenti eljárással periodikus jelekre értelmeztük, de ennek egy általánosított eljárását, a Fourier transzformációt nem periodikus jelekre is elvégezhetjük. Tájékoztatásképpen az általános, ún. komplex alakok: +∞
X ( ω)= ∫ x (t)e− jωt dt −∞ +∞
x (t )=∫ X (ω)e+ jωt dt −∞
Ezek a transzformációk egy bizonyos x jel időtartománybeli x(t) és frekvencia tartománybeli X(ω) ábrázolása között teremtenek összefüggést. Nem periodikus, azaz tranziens jelek spektruma a fentebb leírt vonalas spektrum helyett folytonos.
8
2. A beszédfeldolgozás hardver alapjai 2.1 Szűrők A szűrők olyan áramkörök, melyek erősítése a frekvencia függvénye. A szűrők segítségével a spektrum egyes szeleteit tudjuk kiválasztani, vagy elnyomni. Jellemzőjük az átviteli karakterisztika. Karakterisztika: Y (ω) X (ω ) A legalapvetőbb karakterisztika típusok a következők: A( ω)=
A
A
A
f Aluláteresztő
A
f
f
Felüláteresztő
f Sávzáró, vagy lyukszűrő
Sávszűrő
Megjegyzendő, hogy az ábrákon látható karakterisztikák leegyszerűsítettek, de a tárgyalás szempontjából elegendőek.
2.2 Mintavételezés A digitális számítógép nem képes folyamatos, folytonos feldolgozásra. Ezért a folytonos jelből megadott időközönként mintákat kell venni. A mintavételezés gyakoriságát mintavételezési frekvenciának x(t)
x(t)
t
Időben folyamatos jel
x(t)
t
Mintavételezés f frekvenciával
t
Mintavételezett jel
hívjuk. Felmerül viszont a kérdés, hogy a mintavételezéssel az információ milyen hányadát veszítjük el, vagyis, hogy milyen feltételekkel lehet előállítani a mintavételezett jelből információ vesztés nélkül az eredeti jelet. Shannon-féle mintavételezési törvény: amennyiben a jel sávkorlátozott, és a mintavételezési frekvencia legalább a sávhatár kétszerese, a jel a mintavételezett adatokból visszaállítható. A fentiekből következően a mintavételezés előtt a spektrum sávkorlát feletti részét egy aluláteresztő szűrővel le kell vágni.
9
2.3 Kvantálás A beszédfeldolgozáskor előforduló akusztikus jelek folytonosak. Ezek csak azután dolgozhatók fel digitális számítógéppel, miután numerikus értékké alakítottuk, illetve kimenetként csak akkor használhatjuk, ha a numerikus értéket analóg jellé konvertáltuk. A kvantálás eszközei az analóg-digitál átalakítók (ADC = Analog-Digital Converter). Segítségükkel egy analóg feszültséget egy számszerű értékké tudunk konvertálni, mely már a számítógép, vagy jelfeldolgozó processzor számára kezelhető.
Folytonos jel
Kvantálási szintek
Mintavételezett, kvantált jel
Az így kapott, számszerű alakban tárolt jelalak azonban, most már mind a mintavételezés, mind a kvantálás miatt torzult. Látható, hogy minél sűrűbbre választjuk a vízszintes sávok beosztását, annál pontosabban tudjuk visszaadni az eredeti görbét. Az eredeti görbe valós értékei csak olyan bizonytalansággal állapíthatók meg, amennyi egy beosztás a függőleges skálánkon. Ezt a bizonytalanságot hívjuk kvantálási hibának. Amikor a digitálisan tárolt rezgéseket reprodukálni akarjuk, ennek a folyamatnak az ellenkezőjére van szükség. Ehhez digitál-analóg átalakítók (DAC = Digital Analog Converter) szükségesek. Ezek az áramkörök a tárolt mintáknak megfelelő feszültség szinteket állítanak elő a kimeneten. A kvantálási hiba ezeknél az áramköröknél értelemszerűen ugyanúgy jelentkezik. A kvantálási hiba relatív értéke a konverterek maximális számábrázolási tartományából számítható. Ha az ábrázolható legnagyobb szám N, akkor kvantálási hiba = 1/N. Ha a DAC bemenetére folyamatosan, az eredeti mintavételi frekvenciával küldözgetjük a tárolt digitális mintákat, az analóg kimeneten visszakapjuk a mintavételezett jelet. Megjegyzés: A gyakorlatban még egy „lekerekítést” is végezni kell, ehhez speciális karakterisztikájú szűrőre van szükség.
10
2.3.1 DA átalakítók
A DA átalakítók feladata a digitális információ analóg jellé alakítása. Egyik lehetséges megoldásuk az ún. létrahálózatos DAC.
Bináris bemenet
Bit n n
2 * Uref
Σ
Analóg kimenet
Bit 2 4 * Uref Bit 1 2 * Uref Bit 0 1 * Uref
A működési elv egyszerű: egy kapcsoló hálózat bemeneteire rendre olyan feszültségeket vezetünk, melyek 2 hatványai szerint nőnek. Ha a kapcsolókat ezután egy bináris érték bitjeivel vezéreljük, a kapcsolt feszültségeket összegezve megkapjuk a bináris számmal arányos analóg feszültségértéket.
11
2.3.2 AD átalakítók
Az analóg-digitál átalakítók feladata, hogy az analóg jelet digitális információvá alakítsák. Az alábbiakban három alapelvet mutatunk be. 2.3.2.1 Nyílt hurkú, vagy visszacsatolás nélküli ADC Ube Komparátor n * Uref
Komparátor (n-1) * Uref
…
Prioritás kódoló Digitális kimenet
Komparátor 2 * Uref
Komparátor 1 * Uref
A bemenő feszültséget egy komparátorokból álló lánc minden egyes tagjára rávezetjük. A komparátorok másik bemenetére rendre egyenletesen növekvő referencia feszültséget vezetünk. Azon komparátorok kimenete, melyeknek a referencia feszültsége alacsonyabb a bemenő feszültségnél, aktív, a nagyobbaké passzív. Ez már önmagában is hasznosítható kvantált kimeneti információként (pl. így működnek a LED-es kivezérlés jelzők), de ha a kimeneteket egy un. prioritás kódolóba vezetjük, az a kimenetén a feszültségszintnek megfelelő bináris értéket állít elő.
12
2.3.2.2 Zárt hurkú, vagy visszacsatolásos ADC
A mérendő feszültséget egy komparátor segítségével összehasonlítjuk egy digitál-analóg átalakító kimenetével. A DA konverter bemenetére bináris értékeket kapcsolunk, és a komparátor kimenetén vizsgáljuk, hogy a DAC analóg kimenete mikor nő a mérendő feszültség fölé. Ekkor a vezérlő éppen a mért feszültségnek megfelelő számot tartalmazza. Ube Komparátor
DAC
Digitális kimenet
Vezérlő
4 ábra. Visszacsatolásos ADC Attól függően, hogyan vezéreljük a belső DA konvertert, két típus létezik: Számláló: A DAC-ra egyesével növelt számot küldünk. Amikor a számláló értéke a mért feszültség fölött van, megállunk, és a számláló értéke a végeredmény. Egyszerű megoldás, de az átalakítás ideje függ attól, hogy mennyi ideig kell számlálni, tehát mekkora a mérendő feszültség. Szukcesszív approximáció: A DAC digitális bemenetét a legnagyobb helyiértékű bitnél kezdjük állítani. Ha ez fölé megy a mérendő feszültségnek, akkor a visszaállítjuk 0-ba, és az egyel kisebb helyiértékű bittel folytatjuk. Ezzel tulajdonképpen a mérési tartományt felezgetjük. Előnye, hogy jól kiszámíthatóan mindig annyi ideig tart a mérés, mint amennyi az összes számláló bit végigpróbálásához kell. (Pl. 1 byte esetén 8 ciklus.) 2.3.2.3 Indirekt ADC
A mért feszültséggel valamilyen más mennyiséget állítunk elő. Ez lehetséges pl. egy feszültséggel vezérelhető frekvenciájú oszcillátorral. Az oszcillátor frekvenciája ezután a rezgések adott ideig tartó számlálásával könnyen meghatározható.
13
3 Beszédszintetizálás 3.1 Az emberi hangképző szervek •
Hangszalag: magas felharmonikus tartalmú rezgés
•
Száj- és orrüreg: rezonátor
•
Ajkak, fogak, szájpadlás, nyelv: időbeli lefutás és zörejhangok
3.2 A TTS konverzió lépései 1. Strukturális analízis 2. Normalizálás, vagy tokenizálás 3. Szöveg-fonéma konverzió 4. Prozódia analízis 5. Hullámforma generálás 1-4 szakasz: Front-end – szimbolikus lingvisztikai ábrázolás 5. szakasz: Back-end - beszédszintetizátor
3.3 A beszédszintetizálás története Kratzenstein: Kísérlet az emberi hangképző szervek mechanikai utánzására – csak magánhangzók Kempelen Farkas: Kísérlet az emberi hangképző szervek mechanikai utánzására – mássalhangzók is Wheatstone: Kempelen Farkas gépének tökéletesítése
14
Bell Laboratórium:
Vocoder (1930 körül), majd az első számítógép által vezérelt szintetizált beszédhang (1961 – Daisy Bell). A beszédhang tanulmányozásának első elektronikus eszköze. Az analízis oldalon az emberi hangot sáváteresztő szűrőkkel frekvenciasávokra bontják, és az egyes sávok intenzitását párhuzamosan mérik. Az eredmény: több kimeneten a spektrum sávjainak teljesítményét jelképező feszültségszintek. A szintézis oldalon egy magas felharmonikus tartalmú, hanggenerátor jelét sáváteresztő szűrőkkel ugyanolyan frekvenciasávokra bontják, és ezeket a sávokat olyan erősítőkön vezetik át, melyek feszültséggel külön-külön vezérelhetők. Az eredmény: külön bemeneteken vezérelhető spektrum sávok. Ha az analízis oldalon kapott feszültségszinteket a szintézis oldal megfelelő frekvenciasávjainak vezérlésére használjuk, az eredmény egy szintetikus hang lesz. Hanggenerátor
Sáváteresztő szűrők
Emberi hang
Burkológörbe követők
Sáváteresztő szűrők
fn
fn
f3
f3
f2
f2
f1
f1
Analízis
Vezérelhető erősítők
Keverő
Szintetikus hang
Szintézis
Számítógépes beszédszintetizálás terén az eszköz azért jelentett jelentős előrelépést, mert az analízis oldal kimeneti jelei digitalizálás után számítógéppel tárolhatók. Hasonlóan, a szintézis oldal DA konverterek segítségével számítógéppel vezérelhető. Ezeket a tárolt - majd később szimulált jellemzőket - a szintézis oldal vezérlésére használva megoldhatóvá vált a beszédszintézis.
3.4 Beszédszintetizálási technológiák Konkatenatív (összefűző) módszerek: Általában természetes hatást biztosítanak, de hangsúlyozás nehezen oldható meg, és a hangra jellemzőek az ugrások (glitch-ek).
15
•
Unit Selection: Különböző hosszúságú beszédmintákat tartalmazó adatbázisból próbál mintákat összefűzni a legjobb illeszkedés alapján. Az összefűzéshez általában súlyozott döntési fát használ. Az eredmény nagyon élethű hang. Feldolgozási kapacitás igénye nem túl nagy, de tároló igénye óriási, minőségtől függően akár több GB.
•
Difónus szintézis: Az adatbázisban difónusokat, azaz hangzók közötti átmeneteket tárolunk. Ezekből csekély számú, nyelvtől függően 800-3000 mintát kell tárolni. Az US-től gyengébb minőségű, robotszerű hangot eredményez, és bár jól érthető, de a minőséghez képest nagy a feldolgozási kapacitás és tároló igénye.
•
Domain specifikus: Teljes szavak, mondatok, üzenetek adatbázisát használja. Általában csak néhány, teljes szöveget tartalmazó üzenet előállítására használható. (Pl. automata telefonos ügyfélszolgálat.)
Formant szintézis: A formantok az egyes fonémák spektrum csúcsai. Lényegében a hangképző szervek rezonancia frekvenciáját szimulálják a fonéma spektrum legnagyobb energiájú részével. Az eredmény nem természetes hangzás, de érthetősége jó, feldolgozási kapacitás igénye viszonylag kicsi, és nagy előny, hogy az alapfrekvenciák változtatásával hangsúlyt is lehet imitálni. A gyakorlatban talán ez a legszélesebb körben használt eljárás. Jellemző felhasználási területe pl. felolvasó programok. Artikulációs szimuláció: Ennél az eljárásnál az emberi hangképző szervek akusztikus modelljét állítják elő matematikai modellel. Szép, élethű hangot lehet vele produkálni, kicsi a tároló igénye, de nagy feldolgozási kapacitás szükséges hozzá. A gyakorlatban ritkán használt módszer, de alkalmazták pl. a NeXT számítógépekben és a gnuspeech-ben. Szinuszos: Alapelve ugyanaz, mint a formant szintézisnek, de lényegesen leegyszerűsített eljárás: a formantokat egyetlen szinuszos jellel helyettesítik. Érthető, de nagyon szintetikus hangzású. Feldolgozási és tároló kapacitás igénye kicsi. A formant szintézishez hasonlóan jól lehet a beszéd dallamát vezérelni.
16