Beszédkeltés mobil eszközökben Speech synthesis in mobile devices



Hasonló dokumentumok
Bevezetés a Symbian operációs rendszerbe

OZEKI Phone System. A jövő vállalati telefon rendszerének 4 alappillére. A jövő üzleti telefon rendszere SMS. Mobil mellékek. Összhang az IT-vel

OZEKI Phone System. 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára. A jövő üzleti telefon rendszere SMS

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Bevezetés, platformok. Léczfalvy Ádám

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Intelligens biztonsági megoldások. Távfelügyelet

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet Szedjük szét a számítógépet 2.

Beszédtechnológia az információs esélyegyenlőség szolgálatában

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Infokommunikációs alkalmazásfejlesztő. Informatikai alkalmazásfejlesztő


Mobil operációs rendszerek. Készítette: Kisantal Tibor

Megnevezés Leírás Megjegyzés Irodai PC

Microsoft SQL Server telepítése

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

MOBILTELEFONON keresztüli internet telefonálás

MOBIL PLATFORMHÁBORÚ. Török Gábor

Flex: csak rugalmasan!

TÉRINFORMATIKA AZ INTERNETEN

T-Mobile Communication Center Készülékek telepítése a TMCC segítségével

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

Dell Inspiron 3567 i3 notebook

SAMSUNG SSM-8000 szoftvercsomag

Érvényes: október 15.-től visszavonásig

VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER

Mobil Peer-to-peer rendszerek

Point of View Android 2.3 Tablet Kézikönyv ProTab 2XL

Pocket Office (Word, Excel, PowerPoint, OneNote, PDF viewer)

BMD Rendszerkövetelmények

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.

Touch me - az Iphone világsikerének titkai

ANDROID EMULÁTOR. Avagy nincsen pénz drága telóra.

Kommunikáció az EuroProt-IED multifunkcionális készülékekkel

Nyomtatható verzió. Samsung Galaxy Tab. Platform. Oldal nyomtatása. Nyitóoldal Mobiltelefonok Táblagép. GT-P1000 Rating

iphone és Android két jó barát...

mlearning Mobil tanulás a gyakorlatban

Mértékegységek a számítástechnikában

Hálózati betekint ő program telepítése mobil telefonra. Symbian. alarm shop. Windows mobile Android IPhone Blackberry

Haladó ismeretek: Laptopok és más hordozható eszközök

ELEKTRONIKUS MUNKABÉRJEGYZÉK MODUL

Android alapok. Android játékfejlesztés

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Budapesti Műszaki és Gazdaságtudományi Egyetem Távközlési és Médiainformatikai Tanszék. TDK dolgozat

E-Freight beállítási segédlet

VisualBaker Telepítési útmutató

Symbian Nokia. A Symbian gyártója és a Nokia szabad forráskódúvá tette a Symbiant, így szabadon fejleszthetőek az applikációk a szoftverre.

Mire nem jó egy telefon!

Nokia N9 - MeeGo Harmattan bemutatkozik

Tartalomjegyzék. Előszó... 10

Közösség, projektek, IDE

Városi tömegközlekedés és utastájékoztatás szoftver támogatása

3G185 router Li-ion akkumulátor Usb kábel Telepítési útmutató.

Médiatár. Rövid felhasználói kézikönyv

Az OpenScape Business rendszerek egységes architektúrára épülnek: Rugalmas, skálázható és megbízható

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek

EgroupWare: A csoportmunka megoldás

Mérési útmutató a Mobil infokommunikáció laboratórium 1. méréseihez

Opensuse automatikus telepítése

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Mobil készülékek programozása

2. modul - Operációs rendszerek

SUSE Linux Enterprise Server 12 Hargitai Zsolt

Vodafone-os beállítások Android operációs rendszer esetében

Végfelhasználói Applet kézikönyv

ETR Kliens installálás

Tarantella Secure Global Desktop Enterprise Edition

Blackberry 9000 (Bold) HTC Diamond 2. HTC 6262 Hero

Mobil Partner telepítési és használati útmutató

A Java EE 5 plattform

Samsung Universal Print Driver Felhasználói útmutató

Zimbra levelező rendszer

FITNESS SYSTEM Telepítési útmutató

Digitális aláíró program telepítése az ERA rendszeren

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Digitális fényképezőgép Szoftver útmutató

Intel Pentium G2120 Intel HD Graphics kártyával (3,1 GHz, 3 MB gyorsítótár, 2 mag)

Netis vezeték nélküli, N típusú USB adapter

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Operációs rendszerek. Az X Window rendszer

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

VBA makrók aláírása Office 2007 esetén

Kameleon Light Bootloader használati útmutató

Új kompakt X20 vezérlő integrált I/O pontokkal

TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

Építsünk IP telefont!

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

WiFi kezelési útmutató FISHER COMFORT PLUS sorozathoz

*#Discount~ Kaspersky Internet Security - multidevice 2015 best software to buy for mac ]

Valós idejű gépi fordítás kiegészítő szolgáltatásként

Adásvételi szerződés keretében okos mobiltelefon készülékek beszerzése

HÁLÓZATOK I. Segédlet a gyakorlati órákhoz. Készítette: Göcs László mérnöktanár KF-GAMF Informatika Tanszék tanév 1.

Nokia X Felhasználói kézikönyv. 1. kiadás

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Windows történet Windows 1.0. DOS kiegészítő Grafikus felület

A CCL program használatbavétele

Átírás:

Budapesti Műszaki és Gazdaságtudományi Egyetem Távközlési és Médiainformatikai Tanszék Beszédkeltés mobil eszközökben Speech synthesis in mobile devices Diplomaterv 2005 Készítette: Tóth Bálint Pál villamosmérnök jelölt Tanszéki konzulens: Dr. Németh Géza BME, Távközlési és Médiainformatikai Tanszék Ipari konzulensek: Kiss Géza, BME, Távközlési és Médiainformatikai Tanszék J. Prof. Andreas Rausch, TU Kaiserslautern

TARTALOMJEGYZÉK Összefoglaló... 4 Abstract... 5 1. Bevezető... 6 2. Problémafelvetés... 7 3. A mesterséges beszédkeltés áttekintése a mobil eszközök szempontjából... 9 3.1. Kötött szótáras szöveg-beszéd átalakító... 10 3.2. Formánsszintetizátorok... 10 3.3. Diádos és triádos beszédszintetizátor... 11 3.4. Korpusz alapú szintetizátor... 12 4. Mobil eszközök áttekintése... 12 5. A Windows Mobile és a Symbian alapú mobil eszközök áttekintése... 15 5.1. Windows Mobile (Windows CE) alapú rendszerek... 16 5.2. Symbian OS alapú rendszerek... 19 6. A Windows Mobile és a Symbian alapú mobil eszközök által felvetett problémák... 21 6.1. Felmerülő problémák a beszédszintézis szempontjából... 23 6.2. Felmerülő problémák ember-gép kapcsolat szempontjából... 24 7. Beszédalkalmazás mobil eszközökre... 26 7.1. Lehetséges felhasználói rétegek... 26 7.2. Lehetséges alkalmazások... 28 8. Megvalósított rendszerek... 30 8.1. Rendszer beszédsérültek részére (első verzió, PDA)... 31 8.1.1. A rendszer célja... 31 8.1.2. Problémafelvetés... 32 8.1.3. A rendszer felépítése... 39 8.1.4. A rendszer működése... 44 8.1.5. A rendszer által felvetett problémák... 51 8.1.6. Jövőbeli tervek... 54 8.2. Rendszer beszédsérültek részére (második verzió, PDA és Smartphone)... 54 8.2.1. A rendszer célja... 54 8.2.2. Problémafelvetés... 55 8.2.3. A rendszer felépítése... 55 8.2.4. A rendszer működése... 57 2

8.2.5. A rendszer által felvetett problémák... 59 8.2.6. Jövőbeli tervek... 60 8.3. Rendszer beszéd- és/vagy hallássérültek részére (Laptop, Tablet PC, asztali PC).. 60 8.3.1. A rendszer célja... 61 8.3.2. Problémafelvetés... 61 8.3.3. A rendszer felépítése... 62 8.3.4. A rendszer működése... 63 8.3.5. A rendszer által felvetett problémák... 65 8.3.6. Jövőbeli tervek... 66 8.4. Pulzus érték kijelző grafikai és beszéd kimenetekkel (Windows Mobile, Symbian OS)... 66 8.4.1. A rendszer célja... 68 8.4.2. Problémafelvetés... 68 8.4.3. A rendszer felépítése... 69 8.4.4. A rendszer működése... 72 8.4.5. A rendszer által felvetett problémák... 75 8.4.6. Jövőbeli tervek... 78 8.5. Kísérlet... 78 8.5.1. A kísérlet célja... 79 8.5.2. A kísérlet részei... 79 8.5.3. A mérési környezet... 82 8.5.4. A mérő alkalmazás... 83 9. Eredmények... 85 10. Jövőbeli tervek... 86 11. Összefoglalás... 86 12. Köszönetnyilvánítás... 87 Irodalomjegyzék... 88 3

Összefoglaló Napjainkban egyre nagyobb a mobil eszközök, a mobiltelefonok népszerűsége. A telefonáláson túl a mai okostelefonokkal internetezhetünk, fényképezhetünk, zenét hallgathatunk, játszhatunk; a lehetőségek száma szinte végtelen. A telefonokon kívül léteznek más mobil készülékek is (pl. PDA), melyek egyszerűbbé próbálják tenni mindennapi életünket. A legtöbb feladat már nem speciális eszközökkel, hanem általános célú hardverre készült szoftverekkel oldható meg. Azonban a nem megfelelően megtervezett és kidolgozott rendszerek a mobil eszközök korlátozott teljesítménye, szövegbeviteli módja, képernyőmérete és multimédiás szolgáltatásai miatt használhatatlanok lesznek. Diplomamunkám célja, hogy bemutassa a legújabb okos mobil eszközöket, megvizsgálja előnyeiket és hibáikat mesterséges beszédkeltés és embergép kapcsolat szempontjából, továbbá lehetséges megoldásokat kínáljon a problémákra kutatásaim és fejlesztéseim mintáin át. Dolgozatomban két nagyobb rendszert ismertetek. Az első beszédsérült emberek számára kínál kommunikációs segítséget szemtől szembeni és telefonos beszélgetésekhez okostelefon, személyi digitális asszisztens (Personal Digital Assistant, PDA) és asztali számítógép platformokon. Így a beszédsérült ember kiválaszthatja a számára legalkalmasabb változatot egy-egy feladat megoldásához (pl. bevásárlás, banki ügyintézés, telefonos beszélgetés a barátokkal, stb.). Megvizsgálom a korábbi, hasonló célú eszközöket, és az új rendszer szükséges szolgáltatásait a korábbi eszközök tulajdonságai és a célplatform sajátosságai alapján tervezem meg. A beszédképesség hiánya mellett sokszor egyéb problémákkal is küzdenek a célfelhasználók (pl. koordinációs zavarok, rossz látás, stb.), így a rendszert számukra is használhatóvá kellett tennem. A diplomamunkámban bemutatásra kerülő második rendszer a német-magyar BelAmi együttműködés keretein belül készült. A BelAmi kutatásainak és fejlesztéseinek a részét képző, professzionális biciklisták felügyelt edzését megvalósító kutatási és fejlesztési munkán belül a beszédkimenet interfész mobil eszközökön való megvalósítása volt a feladatom. Dolgozatomban bemutatom a rendszert, ezen belül ismertetem a beszédkimenet fontosságát és a felmerülő problémákat. A kutatás részeként egy kísérletet is előkészítettem, melyre az elkövetkező hónapban kerül sor. A korábbi és a saját rendszerek, a felmerülő problémák és a lehetséges megoldások ismertetésén túl dolgozatomban jövőbeli terveimre is kitérek. 4

Abstract Recently mobile devices are more and more popular. Cellular phones comprise the largest market share of mobile devices and have overgrown their standard role. We use our smartphones beyond telephony for surfing on the net, making pictures, listening to music, playing, etc. Apart from cell phones other mobile devices also help our everyday life, e.g. personal digital assistants (PDA). Nowadays most of the mobile solutions are software developments for general hardware, and not application specific devices. But inappropriate design and development (not taking into account the display size, the input method, the performance and the multimedia services of the mobile device) can result in useless systems. The goal of my master's thesis is to introduce the latest smart mobile devices, investigate their advantages and disadvantages in the aspect of speech synthesis and human-machine interaction, and to give possible solutions through presenting examples of my research and development work. In the thesis I introduce mainly two systems. The first one is a communicational aid platform for speech impaired people for face-to-face and telephone conversations. The system exists on smartphones, PDAs and desktop computers. Consequently speech impaired people can choose the best solution for their actual purpose (e.g. shopping, business, talking with friends on the phone, etc.). I investigate previous systems, and according to their attributes and the properties of the actual computer platform I design the necessary and additional services of the new system. In many cases speech impaired people have other difficulties also (e.g. co-ordination problems, impaired vision), thus the system must be able to adapt to their needs as well. The other system, which is introduced in my diploma thesis, is a part of a project, which is designed and supervised by the BelAmi German-Hungarian research cooperation. The project aims the assisted training of professional bicyclists; my part was to develop speech output interfaces on mobile clients. In the current paper I introduce the system, the necessity of speech output, and the related problems. As a part of the research I have prepared with the German colleagues an experiment based on the idea of Dr. Géza Németh. The purpose of the experiment is to investigate the perception of text-to-speech systems under physical load. Apart from the investigation of the systems, the problems and the solutions, I also introduce my future plans in my master's thesis. 5

1. Bevezető Közel egy évtizeddel ezelőtt még különleges dolognak számított, ha valaki az autójából telefonált, vagy ha egy zsebszótár méretű készüléken szöveget tudott szerkeszteni. Ma már ezek a technológiák elavultak, tíz év alatt megváltozott a hordozható eszközök világa, és az általuk kínált lehetőségek. Már nem meglepő, ha mobil eszközünkkel lekérdezzük az aktuális pozíciónkat, a beépített böngésző programmal az interneten keresztül megkeressük a hozzánk legközelebb eső szállodát, amit rögtön fel is hívunk. Természetesen még rengeteg példával lehetne illusztrálni, hogy milyen sok területen jelenthetnek könnyebbséget, segíthetnek a zsebben hordozható mobil készülékek. Azonban számos kérdést is felvetnek a mobil eszközök. Sokszor kerülünk olyan szituációba, amikor nem tudjuk figyelemmel követni a készülék képernyőjén megjelenő jelzéseket, riasztásokat (pl. vezetés, kerékpározás, autószerelés közben). Gondolnunk kell a fogyatékkal élő emberekre is. Számukra a jelen és jövő telekommunikációs technológiái új lehetőségeket jelenthetnek életük minőségének javításában, abban az esetben viszont, ha kényszerűen kimaradnak a fejlődésből, igen hátrányos helyzetbe kerülhetnek. Fontosnak tartom, hogy a fogyatékos emberek életszínvonalát javítsák a rendelkezésre álló mobil eszközök, továbbá hogy a fogyatékok nélkül élő embereknek könnyebb és kényelmesebben legyen a már sokak életének részét képző mobil készülékek használata. A mobil világ számos területe még nincs megfelelően kidolgozva, a legtöbb még sok kutatói és fejlesztői munkát kíván. Diplomamunkámban az ember-gép kapcsolat és a mesterséges beszédkeltés szempontjából vizsgálom meg korunk mobil eszközeit. A bevezető után a második fejezetben elemzem a mobil készülékekkel kapcsolatosan felmerülő problémákat, majd a harmadik fejezetben a legfontosabb mesterséges beszédkeltési (Text-To-Speech, TTS) technológiákat ismertetem vázlatosan, és megvizsgálom azokat a mobil eszközök szempontjából. A negyedik fejezetben röviden bemutatom a mobil eszközök történelmét, majd a következő fejezetben rátérek korunk okostelefonjainak Európában legelterjedtebb két operációs rendszerére, a Symbian OS-re és a Windows Mobile-ra. Bemutatom mindkét rendszert és ismertetem alapvető felépítésüket. A hatodik fejezetben megvizsgálom a két platform hátrányait, hiányosságait, melyeket kutatási és fejlesztési munkám során le kellett küzdenem, továbbá kiemelem az ember-gép kapcsolat és a mesterséges beszédkeltés által felvetett problémákat. A hetedik 6

fejezetben megvizsgálom a lehetséges felhasználói rétegeket, és példával illusztrálom, hogy az egyes felhasználói csoportok számára milyen alkalmazások lehetnek előnyösek. A nyolcadik fejezetben ismertetem kutatási és fejlesztési munkáim, a velük kapcsolatos problémákat és a lehetséges megoldásokat. Az elmúlt években két fő részre osztható munkám: az egyik terület a beszédsérült emberek számára készült kommunikációs segédeszközökkel, a másik pedig professzionális biciklisták edzését segítő rendszerben a beszédkimenet integrációjával foglalkozik. Az első témával a nyolcadik fejezet első három alfejezetében, a másodikkal az utolsó kettőben foglalkozom. Dolgozatom végén röviden összefoglalom az elért eredményeket és kitérek jövőbeli terveimre. 2. Problémafelvetés A számítástechnika és a távközlés világában korábban soha nem látott sebességgel fejlődnek, jelennek meg az új technológiák és szolgáltatások, megváltoztatva ezzel az emberek mindennapi életét. Az új technológiák olyan tudományoknak is utat nyitottak, melyek elméletének megvalósítása korábban nem, vagy csak hatalmas költségek árán volt lehetséges. A speciális hardvereket részben felváltották a számítógépen és egyéb eszközökön futó szoftvermegoldások, melyeknek köszönhetően jelentősen csökkentek a költségek. A fejlődés a távközlést is elérte. Egyrészt az Internet meghódította a világot, másrészt pedig megjelentek a mobiltelefonok. Kezdetben magas áruk és nagy méretük miatt még nem volt megjósolható, hogy néhány éven belül túl fogják szárnyalni a vezetékes telefonok elterjedtségét. A mobil eszközök is jelentősen átalakultak a kezdetek óta: korábban fekete-fehér kijelzőjük volt és csupán telefonálni lehetett velük. Később megjelent a szöveges üzenetküldés lehetősége (Short Message Service, SMS), melyet számos új technológia követett (felhasználói profilok, határidőnapló, diktafon, stb.). Ma már nem meglepő, ha mobil eszközünkkel internetezünk, fényképezünk, játszunk vele, vagy előre eltárolt zenét, illetve valamelyik rádióadó műsorát hallgatjuk rajta. Vizsgáljuk meg röviden a legújabb, harmadik generációs mobiltelefonok alapvető tulajdonságait. Az új készülékek minimum 80-90 órányi készenléti, és 6-8 órányi beszélgetési idővel rendelkeznek, emellett 400 Mhz-en átlagosan 200-300 MIPS-re 7

(Million Instructions Per Second, millió művelet másodpercenként) képesek. 1 Képernyő méretük igen változó, az átlagos legkisebb képernyők 2 27.3 mm x 27.3 mm, az átlagos legnagyobb képernyők 3 pedig 57 mm x 76 mm nagyságúak és általában 16 bites színmélységet támogatnak, azaz 65536 színt tudnak megjeleníteni. A mobil eszközök sebességének köszönhetően olyan bonyolult számítási műveletek is implementálhatóak, melyekre korábban csak a személyi számítógépen volt lehetőség (pl. szöveg-beszéd átalakítás), továbbá a nagy kijelzőnek és a különböző adatbeviteli módoknak (gombok, érintőképernyő, hang) köszönhetően megfelelő tervezéssel intuitíven használható embergép kapcsolat (Human Computer Interaction, HCI) hozható létre. Fontos odafigyelni a mobil eszközök sajátosságaiból adódó megkötésekre is, melyek a korábban említett méret- és teljesítménybeli tulajdonságaikból fakadnak. Új alkalmazások tervezésénél szem előtt kell tartani a mérsékelt számítási kapacitás miatti késleltetéseket, a lassú működést, a képernyő méretéből adódó határokat és a személyi számítógép adatbeviteli eszközeihez viszonyítva lassú adatbevitelt is. Lényeges figyelembe venni, hogy a számítógépen működő alkalmazásokat nem lehet egy az egyben a mobil eszközre implementálni, hiszen így sokszor kezelhetetlenné válik az eredetileg könnyen használható alkalmazás. Nem létezik pontos útmutatás, szabvány arra vonatkozóan, hogyan lehet jól és intuitív módon használható programot készíteni mobil eszközökre nem is létezhet, hiszen minden programnak más a célja, más a felhasználói célcsoportja, így a megvalósításnak is különbözni kell. Egyes gyártók megadnak a felhasználói felületre vonatkozó ajánlásokat, azonban mivel ezek a mobil piac csupán egy kis részére érvényesek, ezért nem jelentenek általános megoldást. Általános megoldás nem is létezik, azonban néhány szabályt érdemes mindig betartani: 1. Használjunk minél kevesebb grafikai elemet, és ezeket induláskor töltsük be, hogy ne futási időben lassítsa a rendszer működését. 2. Amennyire lehet, kerüljük a számításigényes algoritmusokat (pl. lebegőpontos számítások, iteratív eljárások, stb.) 3. Legyen egyszerű a felhasználó felület, minimalizáljuk a menük és a menüpontok számát. 1 DSPs for next-generation cell phones balance performance and power, forrás: http://www.edn.com/article/ca54568.html 2 Nokia 6230 készülék 3 ipaq h5550 készülék 8

4. A rendszer használatához minél kevesebbet kelljen a felhasználónak adatbeviteli módszereket alkalmaznia, illetve egyazon esemény (pl. jobbra gomb lenyomása) többszöri bekövetkezésének esetén érdemes más és más funkciókat biztosítani. 3. A mesterséges beszédkeltés áttekintése a mobil eszközök szempontjából A mesterséges beszédkeltés kezdete Kempelen Farkas nevéhez fűződik, aki elméletét és elméletének igazolására szolgáló mechanikus beszélőgép (1. ábra) elkészítésének részleteit 1791-ben megjelent könyvében ismerteti [1]. Az első elektronikus beszélőgépet Homer Dudley 1939-ben, a Bell Laboratóriumban készítette. A következő nagy előrelépést az integrált áramkörök megjelenése jelentette, ettől kezdve sokkal kisebb méretben tudtak beszédkeltőket előállítani és egyben jobb minőséget nyújtani. 1. ábra - Kempelen Farkas beszélőgépe A számítógépek megjelenésével lehetőség nyílt arra, hogy a drága, speciális eszközök helyett a mesterséges beszédkeltési algoritmusokat a számítógépen implementálják. A mobil eszközök fejlődésének köszönhetően ma már nem jelent különösebb problémát a készülékeken szintetizált beszéd megszólaltatása sem, azonban az aktuális rendszer szempontjából a legmegfelelőbbet kell több szöveg-beszéd átalakítási technológia közül a tervezés folyamán kiválasztanunk. Dolgozatomban a jelenleg legjelentősebb négy technológiát vizsgálom meg. 9

3.1. Kötött szótáras szöveg-beszéd átalakító A kötött szótáras szöveg-beszéd átalakító előre meghatározott szöveget képes felolvasni. Ilyen rendszer lehet például a számfelolvasó, a banki rendszerek vagy például a vasúti pályaudvaron a bemondó. A kötött szótáras szövegfelolvasó előre eltárolt egységekből (gyakran szavakból vagy nagyobb egységekből) rakja összes a kívánt mondatot. Azonban egy ilyen rendszer elkészítése nem egyszerű feladat. A legtöbb nehézséget a szavakat, mondatrészeket, mondatokat tartalmazó adatbázis elkészítése jelenti. Az adatbázis építése során számos problémát kell leküzdenünk, vizsgáljuk meg a legjelentősebbeket: 1. Fontos tartani a megfelelő prozódiát. Amennyiben például egy szó mondatkezdő helyen található, a szónak prozódia szempontjából is meg kell felelnie a mondatban elfoglalt kezdőhelyével. 2. Fontos, hogy az adatbázisban tárolt hanganyag hangereje azonos legyen. 3. A hanganyag felvétele során professzionális bemondók esetén is számolnunk kell azzal, hogy néhány óra folyamatos beszéd után a beszélőnek megváltozik a hangszíne. E hangszínbeli változás jelentősen csökkentheti a kötött szótáras szöveg-beszéd átalakító minőségét. Mobil eszközök szempontjából nem kell számolnunk jelentős teljesítménybeli problémákkal, azonban a tárkapacitásra fontos odafigyelnünk, hiszen egy több száz elemből álló adatbázis mérete több tíz megabájt is lehet, mely jelenleg a legtöbb mobil eszköz esetén kritikus korlát. A rendszer számára szükséges hely csökkentése érdekében érdemes a hanganyagot tömörített formában tárolni. Tömörítés esetén azonban szem előtt kell tartani, hogy minél bonyolultabb algoritmust használunk, annál több időt fog a lejátszás során a kitömörítés igénybe venni. Érdemes továbbá figyelembe venni a mobil eszköz hardver specifikációit, hogy milyen minőségben képes hangot megszólaltatni; ennél a minőségnél jobbat nem érdemes a hangadatbázisban tárolni. 3.2. Formánsszintetizátorok A formánsszintetizátorok a beszédet fizikailag modellezik formánsai alapján. Formánsnak nevezzük a beszéd spektrum burkolójának maximumait [2a]. A 10

formánsszintetizátorok nagy előnye, hogy hangminták nélkül működnek, így helyigényük minimális, mely meghatározó a mobil eszközök szempontjából. További előnyük, hogy a beszédhang sebességét bármekkorára növelhetjük, ameddig az ember fel tudja dolgozni a hallottakat, a beszéd érthető marad. Ezen tulajdonság igen fontos például a látássérült emberek számára készült programok esetén, hiszen ezeknek az embereknek fontos, hogy minél gyorsabban hallhassák az információt, amit a látó emberek elolvasnak. Esetenként a látássérültek háromszor, négyszer gyorsabb beszédet is megértenek, mint amihez a látók füle hozzászokott, így a formánsszintetizátorok jó megoldást jelenthetnek számukra. Előnyt jelent a formánsszintetizátorok esetén, hogy a hangot meg lehet változtatni, így az egyéni preferenciáknak megfelelőre lehet szabni. Ezeknek a rendszereknek a hátránya, hogy nem természetes, robotszerű hangjuk van. 3.3. Diádos és triádos beszédszintetizátor A diádos és triádos beszédszintetizátorok adatbázisban tárolt, az adott nyelvhez tartozó két vagy három hang kapcsolódását tartalmazó, ún. diádokból / triádokból [2b] készítik el a felolvasandó szöveghez tartozó hullámformát. Az adatbázis tartalmazza az adott nyelvhez tartozó összes diádot / triádot, melyeket futásidőben illeszt egymáshoz, és valamilyen digitális jelfeldolgozási technikával előre meghatározott szabályok alapján helyezi rá a prozódiát. A diádos és triádos beszédszintetizátorok hangja a formánszintetizátoroknál sokkal természetesebb, azonban a hozzá tartozó adatbázis nyelvétől, a megkülönböztetett hangok számától és a hangminták minőségétől függően több tíz megabájtot is elfoglalhat. 4 További problémát jelent, hogy a beszédet csak gondos tervezés mellett lehet egy bizonyos fokig gyorsítani, és minden beszédhanghoz külön adatbázist kell készítenünk. A Profivox magyar szöveg-beszéd átalakító esetén a 11 khz-es, 8 bites diádos adatbázis 3.4 megabájtot foglal el, A-law kódolással tárolva az emberi fül számára szinte egyforma jó minőséget kapunk 1.7 megabájton. A mai modern mobil eszközök bőven rendelkeznek ekkora tárkapacitással, azonban a többnyelvűség csak bizonyos fokig megoldható a mobil eszközön a helyigény miatt. Alternatív megoldásként a beszédszintézist elvégezhetjük egy Internetre kapcsolódó szerveren, és onnan valamelyik rendelkezésre álló adatkapcsolaton (GPRS, EDGE, WiFi, stb.) keresztül a szintetizált szöveget lekérve, bufferelve játszhatjuk le a mobil kliensen (lásd 8.2. fejezet). Előnyt 4 A spanyol nyelv kb. 800, a magyar kb. 1400, a német pedig kb. 2500 diádot tartalmaz. 11

jelent, hogy a mobil eszközök hangkimenete rontja a telefonos beszéd minőségét, így a diádos és triádos beszédszintetizátorok hangja mobilkészülékeken sokszor megközelíti a természetes beszédhang minőségét. 3.4. Korpusz alapú szintetizátor A korpusz alapú szöveg-beszéd átalakító rendszerek [3] hatalmas adatbázist használnak. A tervezés során akár több tíz órányi hanganyagot is felvesznek, melyet a legkisebb egységtől a legnagyobbig (fonéma, szótag, morféma, szó, mondatrész, mondat) indexelt adatbázisba rendeznek. Futásidőben az adatbázis elemeihez tartozó címkék alapján bonyolult algoritmus dönti el, hogy mely elemekből építse fel a mondatokat. Fontos, hogy ezen technológia próbálja a digitális jelfeldolgozást minimalizálni annak érdekében, hogy a természetességet minél jobban megőrizze. Jelenleg a korpusz alapú rendszerek minősége közelíti meg legjobban a természetes beszédet. A korpusz alapú rendszerek hangkarakterisztikáját és beszédsebességét nem lehet változtatni, továbbá adatbázisuk akár több gigabájtos is lehet, így mobil eszközökön való helyi futtatásuk egyelőre lehetetlen. 5 Alternatív megoldásként alkalmazható az előző pontban felvázolt szöveg-beszéd átalakítás szerverre való áthelyezése. 4. Mobil eszközök áttekintése A mobil eszközök az elmúlt évtizedekben jelentős fejlődésen mentek keresztül, mely elsősorban a nagy iramban növekedő mobiltelefon piacnak köszönhető. A mobil eszközök történelmének kezdete a 70-es évekre tehető; a szövegszerkesztő (word processor) számítógépek voltak az első hordozható készülékek. Természetesen ezek esetében nem a mai értelemben vett hordozhatóságról volt szó; 6-8 inches CRT monitorral ellátott táska, néha bőrönd méretű eszközök voltak, azonban korukban forradalminak számítottak. Az első ilyen gépek közé tartozott az IBM gyár Mag-Card Selectric készüléke, melynek egysoros LCD kijelzőjén lehetett a kinyomtatandó szöveget szerkeszteni. A korai 70-es években a Lexitron és Vydec piacra bocsátotta a CRT képernyős szövegszerkesztő rendszerét, de az igazi áttörést a Jef Raskin által tervezett Canon Cat (2. ábra) hozta meg. 6 5 Természetesen már léteznek memóriakártyák, melyek több gigabájt tárkapacitást is képesek biztosítani a mobil eszközökön, azonban egy általános célú alkalmazást nehéz úgy terjeszteni, hogy futásához a programon kívül drága hardver elemeket is vásárolni kell. 6 Information appliance, forrás: http://en.wikipedia.org/wiki/information_appliance 12

A mobil eszközök történelmében a következő lépést a laptop számítógépek megjelenése jelentette. Pontosan nehéz meghatározni, hogy mely eszköz tartozik már a laptop kategóriába, de számos forrás az Epson HX-20 készüléket (2. ábra) jelöli meg az első laptopnak. Azóta a laptop számítógépek hosszú utat jártak be, méretük egyre csökkent, kapacitásuk, teljesítményük egyre nőtt, és készenléti idejük egyre hosszabb lett. Napjainkban már nem számítanak ritkaságnak a 2-3 kilogrammos, érintés-érzékeny, TFT képernyős, akár 6-8 óra hosszan is működő hordozható számítógépek. 2. ábra - Canon Cat (bal), Epson HX-20 (jobb) A mai értelemben vett, párszáz grammos, notesz méretű mobil eszközök kezdete a 80-as évekre tehető. 1980 júliusában jelent meg a Radio Shack Pocket Computer PC-1, melynek egysoros, 24 karakteres LCD kijelzőjén akár BASIC programokat is írhattunk. 7 Igen nagy előrelépés volt az 1989-ben kiadott, MS-DOS kompatibilis Atari Portfolio nevű eszköz. Ebben már 4.92 Mhz-es processzor, 128 kilobájt RAM és 260 x 64 pixel felbontású képernyő volt található. A személyi digitális asszisztensek (Personal Digital Assistant, PDA) kora a 90-es években kezdődött. A PDA-k egyik legjelentősebb zászlóshajójának az 1993-ban megjelent, toll (stylo) alapú Apple Newton eszközöket tartják. A második generációs PDA-k közül a legjelentősebb a Palm Pilot volt, melyben a Newtonhoz képest már sokkal jobban alkalmazható célszoftverek, és már használható kézírás felismerő modul volt beépítve. A Palm-ok fejlődésével párhuzamosan a Psion PDA készülékei is megjelentek a piacon; az első a Series 3a volt, SIBO operációs rendszerrel. A Palm elsősorban az amerikai, a Psion pedig az európai piacot hódította meg. A Psion 1994-ben új operációs rendszer fejlesztésébe kezdett, így jött létre a SIBO utódjaként az immár 32 bites Protea operációs rendszer. 1997-ben megjelent a Psion Series 5, mely már az új operációs rendszerrel működött. Ebben az időben jelent meg a Nokia cég 7 History of Handtops, forrás: http://www.handtops.com/show/news/35/0/history_of_handtops.html 13

9000-es Communicator mobilkészüléke is, melyen a 16 bites GEOS operációs rendszer futott, amit a Geoworks fejlesztett ki. A Psion olyan üzleti partnereket keresett, akik segítségével mobil eszközeik GSM (Global System for Mobile Communications, GSM) kommunikációra alkalmassá válhatnak. Így jött létre 1998. június 24.-én a Symbian, melynek kezdetben a Psion, a Nokia és az Ericsson volt a tagja, majd októberben a Motorola és a Matsushita (ismertebb nevén Panasonic és Technics) is csatlakozott hozzájuk. A Symbian operációs rendszer elsődleges célja, hogy minimalizálja a szükséges erőforrásokat, de emellett a különböző technológiák adta lehetőségeket is kihasználja. A Symbian Series 80 alapú legújabb Nokia 9300-as és 9500-as kommunikátorok (3. ábra) Bluetooth, Infra, GPRS, EDGE mellett már WiFi kapcsolatot is képesek létrehozni. A Symbian jelenleg az okostelefonok legelterjedtebb operációs rendszere. 3. ábra - Nokia 9500, Symbian Series 80 A Microsoft sem maradt ki a mobil eszközök piacáról. A Windows CE 1.0 1996 novemberében jelent meg; ekkor hat cég, a Casio, a Compaq, a HP, az LG Electronics, a NEC, és a Philips döntött úgy, hogy Windows CE alapú mobil eszközöket fog gyártani. Ezután sorra jelentek meg új verziók és javítások a platformhoz, míg 2000 április 19.-én a Microsoft bejelentette az első generációs, Windows CE 3.0 operációs rendszeren alapuló Pocket PC 2000-et (4. ábra). A felhasználók szempontjából a Pocket PC nagy előnye, hogy könnyedén szinkronizálhatóak a Windows alapú számítógépen található levelező klienssel, határidőnaplóval, és egyéb hasznos programokkal. A fejlesztőknek pedig nagy könnyebbséget jelent, hogy a Windows platformon már megismert API-k (Application Programming Interface, API) bizonyos mértékben szűkített változatát a mobil eszközökön is használhatják. 14

4. ábra - Pocket PC 2000 (bal), Pocket PC 2002 (közép), Pocket PC 2003 (jobb) kezdőképernyő A Windows CE mobiltelefonos változata 2002-ben jelent meg Smartphone 2002 néven, melyet nem sokkal a számos újítást és hibajavítást tartalmazó Smartphone 2003 rendszer követett. Jelenleg a Pocket PC 2003 és Smartphone 2003 rendszereket közösen, Windows Mobile 2003-nak hívják. A Microsoft 2005 május 10.-én jelentette be az újgenerációs PDA-k és Smartphone-ok bővített funkciókkal rendelkező új operációs rendszerét, a Windows Mobile 5.0-t (5. ábra). 5. ábra - Windows Mobile 5.0, Smartphone 5. A Windows Mobile és a Symbian alapú mobil eszközök áttekintése Az előző fejezetben ismertettem a mobil eszközök rövid történelmét. Természetesen csak a legfontosabb pontokat emeltem ki. Dolgozatom további részében a Windows Mobile és a Symbian operációs rendszerű mobil eszközöket vizsgálom meg. 15

A Symbian elsősorban az okostelefonok operációs rendszere, robosztus felépítésének köszönhetően verziótól és fordítástól (build-től) függően támogatja a legújabb technológiákat is. A Windows Mobile a Pocket PC alapú PDA-k világában jelent meg először, elsődleges célja nem a telefonálás, hanem a fontos információk hordozhatóságának és kezelésének a megkönnyítése volt. A Windows Mobile telefonos változata is a Pocket PC operációs rendszer egy módosított változata. Mint a következő pontokban látni fogjuk, a Windows Mobile esetén a telefonálás lehetősége az operációs rendszerben más kommunikációs modulokkal egy szinten épül be, melyet egyszerűen ki is lehet hagyni (pl. a telefonálásra nem alkalmas PDA-k), a Symbian esetén pedig külön telefónia modul gondoskodik a különböző technológiák (GSM, CDMA, GPRS, stb.) támogatásáról, és részben erre épül a többi kommunikációs szolgáltatás. 5.1. Windows Mobile (Windows CE) alapú rendszerek A Windows CE alapú rendszerek alatt a Microsoft Windows Mobile készülékeket értjük, ezen belül is a Pocket PC és a Smartphone eszközöket. Számos típusuk létezik különböző gyártóktól és forgalmazóktól. A Pocket PC alapú rendszerek általában kb. 57 mm x 76 mm méretű, érintés-érzékeny képernyővel, a Smartphone alapú rendszerek pedig kb. 46 mm x 36 mm méretű képernyővel rendelkeznek. A Pocket PC-k esetén az adatbevitel tollal (ún. stylo-val) történik, és különböző módokon adhatunk meg szöveget: szoft-billentyűzettel (a képernyő alsó egyharmadában egy virtuális billentyűzet segítségével vihetjük be a szöveget), betűfelismerővel és szövegfelismerővel. Smartphoneok esetén a mobiltelefonok világában már megszokott módon, a tizenkét gombbal vihetünk be szöveget az eszközbe. A PDA-k egy része GSM modullal is el van látva, így lehetséges velük telefonálni. A Smartphone-ok természetesen szintén képesek telefonálásra, de a GSM funkciókat kikapcsolva személyes digitális asszisztensként is használhatjuk ezen készülékeket. A használt szolgáltatásoktól (pl. Bluetooth) és a háttérvilágítás erősségétől függően átlagosan 4 nap készenléti, és 8 óra beszélgetési időt garantálnak a gyártók. A Windows Mobile készülékek támogatják a.net Compact Framework-öt, mely az asztali számítógépeken futó.net Framework [4a] korlátozott erőforrású, elsősorban mobil készülékekre elkészített változata. Segítségével a mobil eszközön felügyelt (managed) kódot futtathatunk, melynek nagy előnye, hogy platform független, így például a Pocket PC-re megírt programok futnak Smartphone készülékeken is. A.NET CF teljes mértékben objektumorientált, támogatja az XML web szolgáltatásokat, az ADO.NET-et, és 16

elsődleges programozási nyelve a C#. Más programozási nyelveken is lehet fejleszteni.net CF-re, azonban a C#-ot a.net-hez dolgozták ki, és nem egy korábbi nyelvet alakítottak.net kompatibilisre (mint például a Visual Basic-et). Annak érdekében, hogy a Windows CE alapú Windows Mobile készülékeket jobban megismerjük, vizsgáljuk meg az operációs rendszer felépítését (lásd 6. ábra). OEM réteg Az OEM rétegben található rendszerindító modul felelős az eszköz inicializálásáért (egyes rendszereknél a rendszerindító modul a memórián túl akár USB-n vagy Ethernet-en keresztül is képes a rendszer indításához szükséges fájlokat letölteni és futtatni). A konfigurációs állományok az operációs rendszer fordításakor játszanak szerepet, esetünkben ez a rész nem lényeges, hiszen a Windows Mobile platform már le van fordítva a készüléken. A driver modul felelős a fizikai és virtuális eszközök kezeléséhez szükséges interfészért, az OAL modul pedig a hardver és a kernel közötti kapcsolatot teremti meg. Az OAL modul felel többek között a megszakításokért, az időzítőkért és az energiagazdálkodásért. Operációs rendszer réteg Az egész rendszer magja az operációs rendszer rétegben található kernel, amely a szálak, a folyamatok és a memória kezeléséért felelős. A kommunikációs szolgáltatások és hálózat (Communication Services and Networking) modul felelős a vezetékes és vezeték nélküli kommunikációért. Az eszközkezelőt (Device Manager) rendszerindulásakor a kernel tölti be, folyamatosan fut a háttérben, feladata a rendelkezésre álló eszközök vezérlése. A felhasználói felület és eseménykezelő modul (Graphic Windowing and Event System, GWES) a felhasználó, az alkalmazás és az operációs rendszer közötti interfész. Windows CE alatt ez a modul egyesíti a Win32 API-t, a felhasználói- (User Interface, UI) és a grafikus felületet (Graphical Device Interface, GDI) kezelő könyvtárakat. A multimédia modul teszi lehetővé mobil eszközünkön a hang, a videó és a grafikai megoldásokat. Az objektum tár (Object Store) foglalja magába a mobil eszközön található összes információt, beleértve a ROM-ban és RAM-ban tárolt programokat, az adatbázisokat és a registry információkat. A ROM-ban tárolt adatok akkor is megmaradnak, ha az eszköz energiaellátás nélkül marad. A Core DLL modul felelős a kernel és egyéb alacsony szintű programok futtatásáért. Az alkalmazás- és szolgáltatásfejlesztés modul (Application and Services Development) biztosítja a 17

fejlesztést; lehetővé teszi a különféle programozási nyelvek és technológiák (pl. ATL, C, COM, DCOM, LDAP, SOAP, SQL Server, MFC,.NET Compact Framework, stb.) használatát. Alkalmazás réteg A felhasználói felület (User Interface) modul az ember-gép kapcsolatért felelős. Többek között ez felel a szoftver alapú szövegbeviteli módszerekért (pl. szoftveres billentyűzet), a toll (stylo) kezeléséért, továbbá az egér szimulálása és a kisegítő lehetőségek (Accessibility) is ennek a modulnak a feladatai. A Windows CE alkalmazás modul tartalmazza az operációs rendszerhez tartozó, ROM-ban tárolt programokat, a saját alkalmazás (Custom Appication) modul pedig a felhasználó által telepített programokat foglalja magába. Az internet-kliens szolgáltatások (Internet Client Services) modul segítségével könnyen készíthetünk böngésző alapú alkalmazásokat. Internet-kliens szolgáltatások modul A Windows CE architektúrája Saját alkalmazás modul Windows CE alkalmazás modul Alkalmazás réteg Felhasználói felület modul Alkalmazás- és szolgáltatásfejlesztés modul Operációs rendszer réteg Core DLL Objektum tár Multimédia modul Felhasználói felület és eseménykezelo modul Eszközkezelo Kommunikációs szolgáltatások és hálózat modul OEM adaptációs réteg (OAL) Rendszerindító modul Kernel Konfigurációs állományok Driver-ek OEM réteg Hardver réteg 6. ábra - A Windows CE 5.0 operációs rendszer általános architektúrája 8 8 Windows CE Architecture, forrás: http://msdn.microsoft.com/library/default.asp?url=/library/enus/wceintro5/html/wce50conintroducingwindowsce.asp 18

5.2. Symbian OS alapú rendszerek A Symbian operációs rendszer jelenleg harminc, hamarosan közel ötven különböző típusú mobilkészüléken működik, és a jövőben ez a szám folyamatosan növekedni fog. A Symbian alapú készülék teljes listája megtalálható a Symbian hivatalos honlapján. 9 A képernyők kijelzőjének a mérete a Symbian készülékek esetén is igen változó, az átlagos méret 4 cm x 6 cm 200 x 320 képpont felbontása mellett. 10 Nagyobb méretű készülékek esetén a képernyő felbontása lehet akár 640 x 200 képpont is. 11 Az adatbevitel módját a hardver határozza meg; készüléktől függően történhet a telefon gombjaival (12-15 gomb), QWERTY billentyűzettel és érintés-érzékeny képernyő segítségével. A Symbian operációs rendszer nagy hangsúlyt fektet az erőforrás takarékosságra; a használt szolgáltatásoktól függően akár 12 nap maximális készenléti és 10 óra maximális beszélgetési időt garantálnak a gyártók egyes készülékek esetén. A Symbian OS felépítése (7. ábra) jelentősen eltér az előző pontban megismert Windows Mobile architektúrájától. Természetesen a Symbian OS egyes verzióinak a felépítése között is lehetnek kisebb-nagyobb eltérések, dolgozatomban a Symbian OS v8.0 architektúráját mutatom be. Az operációs rendszer felépítése és alkotóelemei a 7. ábrán láthatók. A bázis modul az alapja minden Symbian alapú eszköznek. Ennek a használata miatt lehetséges, hogy ugyanaz az operációs rendszer teljesen különböző felépítésű hardvereken is fusson. A bázis modul tartalmazza többek között a kernelt, a drivereket (pl. DTE, DCE soros port, USB, LCD, MMC kártyák, billentyűzet, stb.), a fájl szervert (beépített RAM meghajtó, beépített NOR és NAND flash, MMC és SD kártya támogatás) és az alapkönyvtárakat (C Standard Library, relációs adatbázis-kezelő API, folyam kezelés). A bázis modulra épül az összes többi egység. A telefónia modul lehetőséget nyújt különböző távközlési szabványok használatára (pl. GSM, GPRS, EDGE, CDMA, 3GPP2 cdma2000, 3GPP W-CDMA), így a telefongyártók könnyen módosíthatják a telefonok által támogatott rendszereket. A kommunikációs modul a hálózati kommunikációért felelős (IPv4 & IPv6 dual stack, TCP, UDP, ICMP, PPP, DNS, SSL, Telnet, ethernet, FTP, HTTP, WAP). A PAN (Personal Area Network) egység segítségével Bluetooth, infravörös és USB kapcsolaton keresztül érhetjük el a közeli hálózatokat. 9 Symbian OS phones, forrás: http://www.symbian.com/phones/ 10 Például a Motorola A925 készülék esetén a képernyő 40 x 61 cm, a felbontás pedig 208 x 320 képpont. 11 A Nokia 9500 esetén. 19

A biztonsági egység felelős a titkosított tartalmak kódolásáért, illetve visszafejtéséért, a tanúsítványok kezeléséért, a digitális jogkezelésért (Digital Rights Management, DRM) és az alkalmazások telepítéséért. A multimédia modul audió és videó tartalmak felvételére, lejátszására és adatfolyamként kezelésére (streaming) ad lehetőséget. A modulban található OpenGL ES pedig háromdimenziós grafikák valós idejű számítását teszi elérhetővé. Az alkalmazás keretrendszer modul felelős a programok futtatásáért és a felhasználói felületek (Graphical User Interface, GUI) kezelésért. Az alkalmazás modul az operációs rendszerbe beépített alapvető alkalmazásokat (pl. névjegyzék, naptár, feladatok) és azok adatainak eléréséhez szükséges API-kat tartalmazza. Az üzenetküldő modul segítségével SMS, EMS, MMS, és e-mail üzeneteket küldhetünk, a modul részét képező "Send-As" API segítségével könnyen megtehetjük ezt saját alkalmazásunkból is. A Symbian operációs rendszer architektúrájának a legfelső szintjén kínálja a mobil eszközökön használt Java MIDP keretrendszert. A Symbian v8.0 operációs rendszer támogatja mind a J2ME MIDP 2.0-t, mind pedig a CLDC 1.1-et. A Symbian OS architektúrája Alkalmazás modul Üzenetküldo modul Java MIDP CLDC 1.1 Alkalmazás keretrendszer modul Personal Area Network (PAN) modul Multimédia modul Kommunikációs modul Biztonsági egység Telefónia modul Bázis modul (kernel, fájl szerver, driverek, könyvtárak) 7. ábra - A Symbian OS v8.0 általános architektúrája 12 12 Symbian OS Version 8.0 functional description, forrás: http://www.symbian.com/technology/symbos-v8xdet.html 20

6. A Windows Mobile és a Symbian alapú mobil eszközök által felvetett problémák A mobil eszközök egyre több lehetőséget kínálnak a fejlesztők számára, és így komplex feladatok ellátására is alkalmassá váltak. Alkalmazás- és rendszerfejlesztés szempontjából fontos a kényelmes és intuitív fejlesztői környezet. Windows Mobile készülékekre, hasonlóan az asztali számítógépekhez, Visual Studio fejlesztői környezetben készíthetünk programokat. A Symbian OS-hez nem adtak ki külön grafikus fejlesztői környezetet, azonban a fordító programokat tökéletesen lehet integrálni a már meglévő fejlesztői környezetekbe - így a Visual Studio-ba - is. A fejlesztés első fázisaiban, és olyan programok esetén, ahol a mobil eszköz speciális (pl. kommunikációs: GSM, Bluetooth, IrDA, stb.) moduljaira nincs szükségünk, az emulátort javallott használni. Az emulátor a program futtatása esetén egy új ablakban jelenik meg, első indításakor a hardverhez hasonlóan először boot-ol, inicializálja az operációs rendszert, betölti a meghajtókat, majd megjelenik a kezdőképernyő (Home Screen). Ezek után átmásolhatjuk és telepíthetjük (deploy) az alkalmazásunkat a személyi számítógépről a mobil eszközre, majd futtathatjuk azt. Nem emulálható szolgáltatások (pl. Bluetooth) esetén, illetve a fejlesztés későbbi fázisaiban át kell térnünk a mobil eszközre. Azonos operációs rendszert futtató, de különböző gyártótól származó készülékek esetén is számolnunk kell kompatibilitás problémákkal. Ez egyrészt lehet az operációs rendszer által felhasznált modulok, másrészt pedig a különböző forgalmazók által testreszabott szolgáltatások miatt. Az említett első kompatibilitási problémát okozhatja például az, hogy a Windows Mobile eszközök egy része Bluetooth kommunikációhoz a Windows Bluetooth protokollt, másik része pedig a Widcomm Bluetooth protokollt használja. A Bluetooth kezelését ezért alacsony szinten kell létrehozni, a két külön protokollhoz külön kommunikációt megvalósító osztályra van szükség (magasabb szinten pl. Java,.NET még nincs megfelelően támogatva mobil eszközökön a Bluetooth kommunikáció). Ennek hiányában alkalmazásunk nem lesz futtatható mindkét típusú rendszeren. A felvetett második esetre példa, hogy a telefonálásra képes Pocket PC készülékek esetén különbözőek azon registry bejegyzések, melyek megadják azt a programot, melyet az operációs rendszer automatikusan lefuttat bejövő telefonhívás esetén. Még több problémát vet fel az operációs rendszer különböző verziói közötti átjárás. A különbséget itt is alapvetően két dolog okozhatja: egyfelől a hardver továbbfejlesztése, 21

mely egyes esetekben új funkciók (pl. új kommunikációs csatorna) megjelenését, máskor pedig meglévők megszüntetését (pl. régi, elavult kommunikációs csatorna) okozza. A másik problémát az operációs rendszerek modul vagy magasabb szinten való átszervezése jelentheti. Előfordul, hogy újabb operációs rendszerekben a korábbi rendszerekben megismert függvények másképp működnek, vagy teljesen el is tűnhetnek. Természetesen eltérő verziószámú operációs rendszerek esetén is szembesülnünk kell a különböző készülékek esetén felmerülő problémákkal. A beszédszintézis szempontjából a legnagyobb bajt az okozza, hogy mobil eszközökre egyelőre nem létezik egységesített beszédszintézis interfész, mint például a Windows operációs rendszerű számítógépeken már megszokott és jól bevált SAPI (Speech Application Programming Interface, SAPI) [5]. Ez okból kifolyólag a mobil eszközön működő beszédalkalmazásokat az eredetitől eltérő nyelvekre csak a program forráskódjának módosításával lehetne átírni. De a forráskódot csak a legritkább esetben teszik közzé; nyílt forráskódú mobil eszközön futó beszédalkalmazást kutatásaim során nem találtam. Tehát a beszédalkalmazás csak azon a nyelven tud szöveget felolvasni, amelyik nyelvre megírták, más nyelven (esetünkben általában magyarul) sehogyan sem lehetséges beszédre bírni. A bemutatott problémákra szinte minden fejlesztés esetén figyelnünk kell. Mobil eszközökön futó beszédalkalmazások esetén további kérdések is felmerülnek. Az alkalmazás típusától függően döntésekre, sokszor kompromisszumokra van szükség a beszédszintézis és az ember-gép kapcsolatának a szempontjából. Amikor beszédalkalmazást tervezünk mobil eszközre, a fejlesztés megkezdése előtt el kell döntenünk, hogy az alkalmazás milyen típusú mobil eszközökön fog futni. Amennyiben speciális alkalmazást készítünk, melynél feltételezhető, hogy a felhasználó az alkalmazás miatt fog mobil eszközt vásárolni (pl. alkalmazás beszédsérültek részére), a kiválasztott eszköztől függhet a program sikere. Ez esetben teljes mértékben a kiválasztott mobil eszközre szabhatjuk az alkalmazást, így, bár a kész alkalmazás forráskód módosítás nélkül nem lesz megfelelően skálázható, a felhasználók speciális igényeit jobban ki tudja szolgálni. Ha az alkalmazás általános célú, nagy számú felhasználót céloz meg, számolnunk kell a különböző márkájú és típusú készülékekkel. Ebben az esetben sokkal gondosabb tervezési és fejlesztési munkára van szükség, és sokszor csak kevesebb funkciót lehetséges megvalósítani, azonban az alkalmazás sokkal több eszközön fog megfelelően futni. 22

A következő pontokban részletesebben megvizsgálom a beszédszintézis és az ember-gép kapcsolat által felvetett problémákat, és a lehetséges megoldásokat. 6.1. Felmerülő problémák a beszédszintézis szempontjából A beszédszintézis szempontjából figyelembe kell vennünk egyrészt a hangkimenet típusait, minőségüket, másrészt pedig a processzor sebességét és az eszköz tárkapacitását. A hangkimenet típusa lehet a beépített hangszóró, jack kimenetre csatlakoztatott fejhallgató, illetve hangfal. Telefonhívás esetén a telefonvonal is lehet hangkimenet. A fejlesztés kezdetekor el kell döntenünk, hogy az alkalmazás ezek közül melyeket fogja használni. Minden esetben érdemes tesztelni a beszédszintetizátort, hogy megállapítsuk mi az a minimális mintavételi frekvencia és kvantálási felbontás, ahol még a beépített hangszóró minőségégből adódóan nem hallatszik különbség a jobb és a gyengébb minőség között. A telefonvonal tulajdonságai alapján 8kHz-es adatbázis elég lehet, azonban az alkalmazástól függően a kiválasztott adatbázist a többi hangkimeneten is fontos tesztelni. Problémát okozhat a mesterséges beszéd érthetőségének a szempontjából a nem elég nagy hangerő, a hangszóró torzítása és a nem megfelelő hangszín. Sajnos a mobil eszközök esetén nincs szigorú előírás, a készülékek hangkimeneteinek a minősége jelentősen eltérhet egymástól, ezért a platformválasztás után érdemes rendszerünket a legelterjedtebb készülékeken kipróbálni. További problémát okozhat a mobil eszköz teljesítménye és tárolókapacitása. Egy SD kártyáról, egy szálon futó, egynyelvű formáns, diádos vagy triádos szintetizátor esetén a mai készülékek által nyújtott több mint 200 MIPS elegendő. A diádos és triádos szintetizátorok adatbázisainak a helyigénye sem jelent akadályt a legújabb mobil eszközök esetén. Korpusz alapú beszédszintetizátorok, illetve több szálon futó, több nyelvű rendszerek esetén azonban könnyen elérhetjük a mai mobil eszközök korlátait; ekkor kompromisszumot kell kötni a megvalósított funkciók és a használhatóság között. Alternatív megoldásként áthelyezhetjük a beszédszintézist a szerver oldalra, ahonnan már csak a szintetizált szöveget tölti le alkalmazásunk (lásd 8.2. fejezet). Természetesen még számos sajátossága van a mobil eszközöknek, melyekre fontos odafigyelni. Példa erre a négybájtos igazítás (4 bytes alignment). A mai mobil eszközök jelentős része már ARM processzort használ. Az ARM processzorok esetén a négybájtos igazítás követelmény. A fordítóprogram a legtöbb esetben erről automatikusan gondoskodik, azonban speciális esetekben nekünk kell biztosítani, hogy a struktúrák 23

határai a négybájtos határon belül legyenek. Amennyiben ezt nem vesszük figyelembe, alkalmazásunk hibásan fog működni. A beszédszintetizátorok mobil eszközre való átírásakor is fontos figyelni a négybájtos igazításra. 6.2. Felmerülő problémák ember-gép kapcsolat szempontjából A felhasználók szempontjából egy rendszer hasznosságát és használhatóságát a rendszer kezelhetősége és funkciói határozzák meg. Amennyiben egy program nem valósít meg könnyen használható, intuitív ember-gép kapcsolatot, a felhasználók könnyen motivációjukat vesztik a rendszer használatában. Megfelelő felhasználói felület, funkciók és vezérlés hiányában a legjobb ötletek is könnyen semmibe veszhetnek, ezért különösen fontos minden alkalmazás esetén gondosan megtervezni és implementálni az ember-gép kapcsolatot. A mobil eszközök esetén sincs ez másképp, sőt az eszköz méreteiből adódó hátrányok (képernyő kis mérete, lassú adatbeviteli módok) számos nehézséget okoznak. Mobiltelefonok esetén az átlagos képernyőméret kb. 27 mm x 27 mm 128 x 128 vagy 256 x 256 képpontos felbontás mellett. PDA készüléknél a képernyő 57 mm x 76 mm nagyságú és 240 x 320 képpont felbontású. Természetesen nem lehet a két esetet egyként kezelni, hiszen eltérő felépítést igényel egy kicsi és egy mérsékelt méretű kijelző esetén a felhasználói felület. Azonban, mint az az élet szinte minden területére igaz, itt sincs másként, sokszor a legjobb a legegyszerűbb megoldás. Mindkét esetben érdemes minimalizálnunk a felhasználói vezérlők (user control) és a menüpontok számát, így egyszerűbbé tehetjük az alkalmazás kezelését. A felhasználói felület mobil eszközre való implementálásakor a következő pontok figyelembevételét javasolom: 1. Tervezzünk egy új felhasználói felületet, vagy implementáljunk egy más platformon már meglévőt. 2. Vizsgáljuk meg a felhasználói felület elemeit, és töröljük a feleslegeseket. 3. Vizsgáljuk meg a modális és nem modális dialógusablakokat, távolítsuk el a felugró (pop-up) ablakokat. 4. Vonjuk össze a hasonló tartalmú menüpontokat, almenüket. 5. Távolítsuk el a felesleges menüpontokat, almenüket és eszköztár (toolbar) ikonokat. 24

Az ismertetett pontokat követve a felhasználói felület minimális elemet fog tartalmazni. Azonban ez önmagában még nem elég, a felületnek intuitív módon használhatónak is kell lennie. Az intuitív felhasználói felület megtervezése összetett feladat, a tervezés során a legfontosabb szempontok az eszköz mérete, az adatbeviteli mód (telefongombok, érintőképernyő, szoft-billentyűzet) és az alkalmazás célja. Érdemes néhány pontot itt is betartani, hogy a felhasználói felület könnyen és intuitívan használható legyen: 1. Kövessük a mobil eszköz operációs rendszerén általánosan használt felhasználói vezérlőket, azok elérési helyét és funkcióját. Egyes mobil eszközök esetén léteznek előírások a képernyő elrendezését és az eszköz gombjai által elérhető funkciókat illetően. A legtöbb Symbian alapú készüléken megszokott, hogy a képernyő alján található két menüpont közül a bal oldali a funkciók kiválasztását, a jobb oldali pedig az eggyel való visszalépést jelenti. Windows Mobile készülékek esetén a bal oldali szoft-billentyűt az alkalmazás fő funkciójának, a jobb oldali gombot pedig az alkalmazás főmenüjének az eléréséhez ajánlják. A felhasználók megszokják az adott mobil eszköz kezelését, így amennyiben hasonló a programunk, gyorsabban megtanulják annak használatát is. Ezért érdemes a kiválasztott mobil platform operációs rendszerébe integrált alkalmazásokat megvizsgálni, és saját programunkat hasonló felépítésűre tervezni. 2. Előnyös, ha a fontos funkciókat egyszerűen és gyorsan el lehet érni. Amennyiben a mobil eszköznek vannak gombjai, érdemes a gombokhoz rendelni a legfontosabb funkciókat. Érintőképernyő esetén szoft-gombok elhelyezésével és speciális mozdulatokra ( gesture -ökre) való reakcióval tehetjük könnyebbé programunk használatát. "Gesture"-nek nevezzük a gyors, egyértelmű mozdulatot kifejező rajzolást. Például gesture -nek hívjuk, ha határozott mozdulattal a bal alsó sarokból a jobb felső sarokba húzunk az érintőképernyőre egy képzeletbeli vonalat. Tovább könnyíthetjük az alkalmazás használatát rejtett funkciók bevezetésével. Ezek alatt olyan lehetőségeket értek, melyek nem feltétlen szükségesek a rendszer használatához, azonban jelentősen megkönnyítik azt. 3. Érdemes a felhasználói felületet testreszabhatónak tervezni. Az alapvető megjelenésen (betű méret, betű szín, háttérszín, stb.) túl bizonyos esetekben hasznos a 25