message=
A szövegfelolvasók fejlesztésénél alapprobléma, hogy hogyan fogjunk hozzá a munkához. Ahhoz, hogy előállítsunk egy beszédszintetizátort, első lépésben el kell készíteni egy beszédszintetizátort, ami megszólaltatható. Ez a paradoxon kifejezi, hogy a szövegfelolvasó fejlesztése egy állandó, önmagába visszatérő folyamat, amelynek során a rendszer egyre javul. Ennek a fejlesztési munkának sok pontján az úgynevezett analízis-szintézissel (A-SZ) eljárást kell alkalmazni. Az A-SZ azt fejezi ki, hogy a rendszert önmaga segítségével, a szintézis felhasználásával vizsgáljuk, teszteljük. Gyakorlatilag az történik, hogy megadunk egy hangsort, azt szintézissel előállítjuk, meghallgatjuk, vizuális formában is tanulmányozzuk az adatokat, esetleg (ha kell) adatmódosítást hajtunk végre, majd ismét meghallgatjuk stb. Ilyen munkát kell végezni, amikor a hangelemek akusztikai szerkezetét teszteljük, a felépített hangsor hangzását meghallgatjuk, az elemek akusztikai tartalmát csiszoljuk (paraméterváltoztatás). A-SZ eljárással lehet továbbá ellenőrizni a szövegfelolvasóba beépített több száz szabály működését (az történik-e, amit elterveztünk), valamint elvégezni a szabályok esetleges módosítását, "hangolását" (paraméterváltoztatás). Összefoglalva azt mondhatjuk, hogy a szövegfelolvasók megvalósításához speciális, a fejlesztést támogató úgynevezett fejlesztői keretrendszert kell kifejleszteni, amelybe be kell ágyazni a szövegfelolvasót. A fejlesztői környezet több programból áll. Ennek a fejlesztői környezetnek az a feladata, hogy biztosítsa a hozzáférést a szövegfelolvasó bármely moduljának adataihoz, szabályaihoz, és lehetővé tegye ezen adatok, szabályok módosítását és azonnali beépítését a rendszerbe.
Fejlesztői környezet formánsszintetizátorokhoz
A MULTIVOX rendszerhez elkészített fejlesztői környezetben a fejlesztő a következő adatokkal dolgozik: 5 formáns, 5 formánssávszélesség (Hz), hangerő (14 fokú skála), gerjesztés (zöngés, zörejes), keretszélesség (8, 10, 12, 16 ms), Fo (Hz).
A fejlesztői rendszer az adatok vizuális megjelenítését és az ezzel párhuzamos hanggenerálást biztosítja.
A szolgáltatások a következők.
1. A begépelt, vagy fájlban megadott bemenő szöveg hangsorszintű változatának megjelenítése.
- betű-hang átalakítási folyamat ellenőrzése
2. A hangkódok átalakítása szintetizátorvezérlő kódokká (formánsok stb.) keretenként (pl. 8 ms-onként)
- keretek megjelenítése az adatokkal
- adatmódosítás a keretek adataiban és annak azonnali szintetizálása, meghallgatása
- keretidőtartam-változtatás
keret ismétlése beszúrással
keret törlése
- a beszédépítő elemek határának jelzése
- hanghatárok jelzésének változtatása
- Fo változás kiírása Hz-ben és paraméterértékben
a beszédépítő elemek rugalmas cseréje az adatbázisban
3. Statisztikai programok
- adatlekérés a beszédépítő elemek adatbázisából
- hangsorépítő szabályok hatáskörének lekérése
- üres, feltöltetlen részek listázása (a fejlesztési folyamat fokozatos)
Feljesztői környezet hullámforma-szintetizátorokhoz
A Profivox fejlesztői környezetét ismertetjük (PDS - Profivox Development System). A PDS-rendszer tervezését 1995-ben kezdték el, és 1998 óta használják beszédkutatásra, szövegfelolvasók fejlesztésére.
A fejlesztés a BME Távközlési és Telematikai Tanszékén folyik.
A rendszer felépítése
A PDS-szoftver két fő részből áll: hullámforma alapú beszédszintetizátor és az ahhoz kapcsolódó modulkezelő és vizuális megjelenítő. Ezen kívül statisztikai segédprogramok állnak rendelkezésre (főleg a beszédépítés fejlesztésére). Az analízis-szintézissel (A-SZ) mérési formában a beszédjelet a beszédszintetizátorral állítjuk elő. Ennek során a modulkezelővel befolyásolhatjuk, hogy mely beszédépítő részegységek vegyenek részt a beszéd előállításában (csak a szegmentális rész, a szupraszegmentális rész bizonyos részei stb.), a vizuális megjelenítővel a beszédépítési folyamat eredménye számok és görbék formájában tehető láthatóvá. A program emberi bemondású mondatokat, szövegeket is képes fogadni. A megjelenítő egységgel a beszéd oszcillogramját, dallamgörbéjét, intenzitásgörbéjét, valamint a hangsorral párhuzamosan tárolt segédinformációkat tehetjük láthatóvá.
A prozódiai mátrix
Az interaktivitás egyik fő biztosítója a prozódiai adatmátrix. Ebben a mátrixban a beszéd fő paraméterei számok formájában jelennek meg. Az A-SZ működési formában, a prozódiai mátrixban lévő adatokat megváltoztathatjuk, és a változtatás utáni beszédet azonnal hallhatóvá tehetjük. Ez ad módot arra, hogy például dallamépítő szabályok, ritmikai módosítások vizsgálatához, kialakításához hatásosan tudjuk használni.
Paramétermódosítások
A hangmagasság ('start pitch'). Ez képviseli a referenciapontot a dallamgenerálásnál. A hangmagasság állítása szükséges, ha különböző hangú adatbázisok közül választunk. Például férfiéhez alacsonyabb, nőihez magasabb értéket kell beállítani. Mind a női, mind a férfi hangot megszólaltathatjuk a saját alapfrekvencia-értéküktől lényegesen eltérő hangmagassággal is. Ezt dallamformák transzponálási kísérleteiben lehet használni, vagy különleges hangeffektusok készítéséhez.
Beszédsebesség.
A beszédhangok végleges időtartamát lassíthatjuk, illetve gyorsíthatjuk az egész hangsorra vonatkozóan. Ezzel lassítani, gyorsítani lehet a beszédet, vagyis meg lehet valósítani a ritmikus változásokat.
Intenzitás.
A végleges hangintenzitás beállítható a halktól a nagyon erős hangig.
A PDS-szoftverrel a hangsorokba beírandó belső jelzéseket (hang-, periódus-, szóhatár) félautomatikus módszerrel lehet meghatározni, a belső jelzések helyét meg is lehet változtatni (például a hanghatárét). A belső jelzéseket a vizsgálatok során fel lehet használni statisztikai jellegű adatgyűjtéshez (például a hang- szótag, szó- és mondatidőtartamok automatikus mérése és rendszerezése, a hangok intenzitásának vizsgálata).
A statisztikai modulok segítségével a beszédszintézishez felhasznált szövegek statisztikai feldolgozása támogatható. Így olyan szövegkorpuszok állíthatók össze, amelyekben meghatározott eloszlás szerinti hangkapcsolatok vannak. Mérhető a szövegekben előforduló hangok, hangkapcsolatok (kettős, hármas, meghatározott szerkezetű) száma és fajtája. Lekérdezhető továbbá a hangadatbázis állapota (mely részek nincsenek feltöltve).
A hangsorépítési elembázis csiszolása
A PDS-szoftverrel hatékonyan lehet a feltöltött adatbázis elemeit vizsgálni, esetlegesen az akusztikai szerkezetüket módosítani. A módosított elemet egy utasítással vissza lehet helyezni az adatbázisba, és meg lehet hallgatni a módosítás hatását (változott-e a hangzás). Az adatbázis állapotáról különböző statisztikákat lehet kérni (pl. a javított elemek megjelölése). A PDS-szoftver támogatja a hangsorépítő elemek intenzitásbeli kiegyenlítését, ami biztosítja, hogy a szintetizált beszédben a hangintenzitások a hangzóssági skálának megfelelő értékűek lesznek.
Új hangsorépítési elembázis fejlesztése
A PDS-szoftver támogatja a gyors és pontos hangelembázis kialakítását. Erre új hangok fejlesztése esetén van szükség. Segédszoftverek végzik a zöngés-zöngétlen beszédszakaszok határainak kijelölését, a zöngés hangrészekben a hangperiódusok megjelölését. Interaktív vizuális- és hangtámogatást biztosít a hanghatárok kijelölésére.
Minősítés
A szövegfelolvasók minősítésére ma még nincs egységesített, szabványos eljárás. A mai gyakorlatban működő magyar szövegfelolvasók közül egyedül a Hungarovox (1983) és a Profivox (2000) rendszerre végeztek tudományosan megalapozott minősítési vizsgálatot. Ilyen jellegű teszt elvégzésére célszerű beszédkutatással foglalkozó szakembert felkérni, ugyanis igényes minősítést csak megfelelő szakértelemmel lehet elkészíteni.
A következőkben javaslatot teszünk egy általános minősítési eljárásra, amelyben különböző szempontok figyelembe vételével lehet a szövegfelolvasók teljesítményét megadni. A minősítés során a hangzást és a nyelvi megformálás szintjét kell vizsgálni. A minősítéshez szövegeket kell a szintetizátor bemenetére adni, és meghallgatással kell az elhangzottakat - egy megadott skálán belül - leosztályozni. A vizsgálat lépcsőfokai a következők:
I. Alapteszt
Ezt minden szintetizátorra - függetlenül az alkalmazás területétől - célszerű elvégezni.
A beszédhangok akusztikai tartalma - itt azt vizsgáljuk, hogy a szintetizátor által előállított beszédhangok, hangkapcsolatok megfelelnek-e a nyelv hangjai, hangkapcsolatai kiejtésének.
A beszédhangok hangzóssági szintjei - itt azt vizsgáljuk, hogy a szintetizátor által előállított beszédhangok intenzitása megfelel-e a nyelv hangjaira vonatkozó specifikus szinteknek (kiegyenlített-e a beszéd, nincsenek-e benne túl erősen, túl gyengén hangzó hangok, hangkapcsolatok).
A beszédhangok időtartamai - itt azt vizsgáljuk, hogy a szintetizátor által előállított beszédhangok időtartamai kiegyenlítettek-e, megfelelnek-e a nyelv hangjaira vonatkozó specifikus időtartam-arányoknak (nincsenek-e a beszédben kirívóan hosszan "ejtett", illetve túl rövid hangok, amikor a rendszer folyamatosan beszél).
Ennek a tesztnek az elvégzéséhez össze kell állítani egy olyan szöveget, amelyik tartalmazza a magyar beszédhangok és hangkapcsolatok nagy részét (célszerű a gyakoriságot figyelembe venni). Ezt akusztikus, fonetikus szakembernek meg kell hallgatni, és értékelni kell az elhangzottakat (általános vélemény, hibalista, javaslat a hibák kijavítására). Naiv hallgatósággal is el lehet végezni a tesztet, ekkor csak egy általános véleményt kapunk a rendszer akusztikai minőségéről.
II. Nyelvi teszt
Ezt csak igényes, változatos nyelvi alkalmazásra szánt szövegfelolvasóknál kell elvégezni. A teszt célja, hogy megállapítsuk a szintetizátor kifejezési képességét (a tervezők milyen mélységig építettek be nyelvi szabályokat a rendszerbe). Itt a nyelv prozódiai sajátosságainak megvalósítását vizsgáljuk. A vizsgálati területek a következők: mondatfajták (kijelentés, kérdés, felszólítás, óhajtás, figyelmeztetés), mondathossz (a mondatfajták és a mondathossz összefüggése meg van-e oldva), dallamszerkezet szövegszinten (pl. regényrészletek, elbeszélések felolvasásához).
Ennek a tesztnek az elvégzéséhez össze kell állítani egy olyan szöveget, amelyik tartalmazza a magyar prozódiára vonatkozó legfontosabb mintákat. Ezt célszerű fonetikus szakemberrel meghallgattatni, aki értékelni tudja az egyes minták megvalósításának színvonalát (általános vélemény, hibalista, javaslat a hibák kijavítására). Naiv hallgatósággal is el lehet végezni a tesztet, ekkor csak egy általános véleményt kapunk a rendszer akusztikai minőségéről.
Példaképpen megadunk egy ilyen tesztre összeállított szöveganyagot.
---------------------------------------------------------------------------------
A kiválasztott számok a következők: 3, 1, 7, 4, 2, 9.
Azt hittem, hogy Péter levelezik a barátnőjével, aki már négy hónapja külföldön tartózkodik, és nem válaszol sem az általam írt levelekre, sem az anyja által írtakra.
Legjobb kívánságomat küldöm leendő anyósomnak, aki azt tartja, hogy ma nem kell esküvő.
A hármas befutó a legjobb befutó, mondja a zsokéklub sztár párja, Zsozsó és Mákos.
Az öt szó ez lesz: lány, kard, sarc, várj, dobj.
A függvénygörbe nem tartja meg a várt tendenciát, ezért bármely hármas párt le lehet vonni az eredményből.
Tessék már nekem megmondani, hogy melyikkel menjek?
Sem én, sem a testvérem nem ismeri ezt a várost.
A lány gyöngyöt vett fel a folyó partján megtartandó kerti bálra, hogy leessen az emberek álla.
A boltos most volt ott! Hol volt? Hát ott!
A piacfelügyelő megszólított. - Eladni akar vagy venni?
Eladni is lehet itt, nem csak venni?
Tulajdonképpen mikorra jön fel Ön?
Ön angol? Nem.
Az ing is kinn van, nem baj?
Melyikkel akarsz gyakorolni, és végül mit fogsz bemutatni?
Bárcsak el tudnám dönteni, hogy a hármas vagy az egyes sorba üljek.
Volt ott sok marha, a gyakorlat harc része azonban mégis sikerült.
Vigyázzanak! A pajta fala ma alaposan át lesz vizsgálva.
Elindult a lány is? Igen.
És én?
Bármely jelmez felvehető, azt mondja a pasi.
A községházán a helyi vonószenekar fog játszani, fagottosokkal.
Leesett a gyöngy, légy szíves szedd fel.
Melyik barátoddal mész el a Kongresszusi Iroda alagsorában tartandó próbára, és utána mikorra jössz ide?
Ugye ma is lesz hó?
Szeretném a legjobb barna alkalmi inget, kérem segítsen. Most nem. Miért? Nincs ing.
A sávzáró szűrő nem alkalmazható integrált áramkörben.
Sok gyöngytyúkot kell venni, hogy elég legyen az esküvői vacsorára.
Azt tartják, hogy a menyasszonyt a folyó partján kell megfürdetni, hogy hű legyen.
Az SMS 163 karaktert tartalmaz.
Az átutalt összeg: 1643984 Ft.
A kért telefonszám: 06-1-876-12-24.
----------------------------------------------------------------------
Párbeszédes mondatok.
Ő. Ki? -Hát Ő.
Mi voltunk. -Mi? -Igen, ti.
Kell? -Kell.
Hol? -Itt.
Most? -Igen.
Engem? -Téged.
Pétert? -Nem.
Őt? -Nem.
A hajót? -A hajót.
És a lány? -Nem jön.
Elindultak már? -Talán.
Eljön? El.
-----------------------------------------------------------------------
Szavak, nevek.
Lány. Sár. Sál. Drog. Prés. Stressz. Skalp. Frakk. Rak. Sáv. Hám. Mert. Klip. Meggy. Begy. Egy. Strucc. Tudsz. Bál. Sajt. Várj. Fejt. Lak. Rak. Frém. Krém.
Ambrus Mór. Strumpfeld Ákos. Kirchkesztner Ágota. Kocsoló Mór. Braics Kelemen. Zainkó Dzsenifer. Xantusz Xavér. Hó Vajk. Kakukk Márton. Brunnerné Németh Janka. Szulai Gyula. Meixner Zsolt.
--------------------------------------------------------------------------------
III: Funkcionális teszt
Ennek a tesztnek a célja az, hogy az alkalmazandó felhasználási területhez kapcsolódó speciális működéseket vizsgálja.
Speciális feldolgozásra van szükség például elektronikus levelek felolvasásánál, ahol a bejövő karaktersorozatot erősen át kell alakítani, mielőtt a szintetizátor bemenetére küldjük. Ki kell szűrni a nem szöveges karaktereket (csillagok, kötőjelsorozatok, per jelek stb.), szét kell választani a szövegrészeket (cím, dátum, az üzenet szövege stb.), meg kell állapítani a szöveg nyelvét (az egész szöveg magyar-e, egyes szavak nem magyarok stb.)
Hasonló feldolgozásra van szükség az SMS-felolvasók tesztelésénél is, ahol például a felhasználók által használt (az SMS kommunikációban kialakult) betűsorozatokat kell kimondásra alkalmas szöveggé konvertálni.
Hangoskönyv-szolgáltatásnál például azt kell vizsgálni, hogy a hosszú mondatokon belül a mondat tagolását milyen sikerrel végzi el a rendszer, továbbá, hogy a mondatok között milyen szüneteket tart. A szövegben elhelyezett XML jelzések feldolgozását is ellenőrizni kell (lehet, hogy a szintetizátor nincs felkészítve ilyen értelmezésre)
Képernyőolvasóknál (vakok és gyengén látók számára kialakított rendszerekben) azt kell vizsgálni, hogy például a betűzési funkcióban a szintetizátor hogyan mondja ki a betűket, továbbá, hogy a beszéd gyorsítása megoldott-e stb.