Voicestain
Transkript
Voicestain Ji í Pokorný 1. Zadání Zadáním bylo vytvo it jednoduchou hru ovládanou hlasem. Hrá se m že pohybovat po scén , oslovovat jednotlivé postavy, které mu zadávají úkoly. Implementace za použití frameworku vving. D raz by m l být kladen na univerzálnost ešení pro další rozši ování. ástí zadání je také zhodnotit použitelnost frameworku v reálné aplikaci. 2. Scéná hry Úvod do d je Hrá se formou úvodního slova dozví, že zabloudil v lese, a protože už se stmívá rozhodl se zaklepat na chaloupku, na kterou náhodou narazil. Profesor Uvnit je st l, jakási pyramida, která ústí do malé krabice a profesor. Na stole leží papír s n jakými ísly. Hrá i nezbude než za ít konverzovat s profesorem. Profesor ztratil brýle a je bez nich tém slepý, dokud tedy nezíská brýle zp t, z lesa nás rozhodn nevyvede. Toto se stane hlavním úkolem. Dále se hrá dozví, že stroj ve tvaru pyramidy slouží ke zmenšování v cí a krabice na konci je terárium, do kterého chodí zmenšený profesor zkoumat hmyz. Bohužel ho tam n co vyd silo (nechce íct co) a p i út ku pry ztratil brýle. Hrá se tedy bude muset vydat do terária. Nejd íve ale musí nadiktovat profesorovi ísla na papí e na stole, aby stroj mohl být spušt n. Beruška Terárium obsahuje kaktus, houbu a v rohu je umíst n kámen (skála). Uvnit terária jsou t i aktivní postavy. První z nich je beruška. P i snaze létat v krabici narazila do stropu, bouchla se do hlavy a spadla na záda. Te si nem že vzpomenout jak se obrátit zp t. Postr ení nepomáhá, hrá tedy musí berušce hlasovými pokyny íkat, jak má naklán t nohy, aby se rozhoupala a p evrátila. Po tom, co se oto í, má hrá možnost si s ní promluvit a zjistí, že profesora vyd silo n jaké monstrum, které žije v jeskyni ve skále v rohu. Monstrum se živí zelenými stonky rostlin. Pokud s monstrem chce hrá mluvit, má si stoupnout p ed jeskyni a zavolat na n j. Mravenec Mravenec se shání po mšici, evidentn mu na ní záleží, ale n kam se ztratila. Hrá zatím neví, kam ho poslat. Monstrum/mšice Hrá p ijde p ed jeskyni, zavolá a za ne dialog s monstrem. D sivým hlasem mu monstrum poví, že brýle má, ale nikomu je nedá. P i odchodu monstrum vyhrožuje, že hrá e sežere, pokud mu nep inese jídlo. Jídlo leží opodál (nevy erpatelná zásoba), hrá jej m že sebrat a položit p ed jeskyni. Pokud hrá odejde pry a vrátí se, jídlo bude pry a monstrum bude chtít další. Pokud se ale hrá schová do blízkého k oví, z jeskyn vyleze malá mšice. Pokud se k ní iblíží nebo na ní zavolá, mšice je prozrazena a tenkým hláskem vysv tlí, jak se schovala ed beruškou dovnit a jak se tam skv le bavila – jeskyn jí úpln zm nila hlas a všichni si mysleli, že je monstrum. Hrá m že získat brýle, pokud p ivede mravence. Mravenec Mravence hrá m že poslat do jeskyn . M že a nemusí mu prozradit, že monstrum je ve skute nosti beruška. Po návratu k jeskyni je hrá sv dkem rozhovoru mšice a mravence uvnit jeskyn . Mšice pak vyjde ven a dá hrá i brýle. Po návratu k profesorovi hra kon í. pozn. detailní scéná v etn dialog v p íloze 3. Analýza V podstat se jedná o hru typu „adventure“, která je známa již velice dlouho. Hrá pomocí dialogových strom konverzuje s postavami, tím se dozvídá nové skute nosti a dostává úkoly, jejichž pln ním postupuje ve h e dále. Nezbytnou sou ástí bývá inventorá , do kterého hrá sbírá nalezené a získané p edm ty. Následn tyto p edm ty používá k pln ní úkol . Z hlediska uživatelského ovládání jsou tyto hry už dlouho prakticky beze zm ny. Uživatel myší vybírá dialogové možnosti, kliknutí na p edm t asto funguje v n kolika režimech podle žádané akce. Vzhledem k tomu, že ovládání hlasem je vhodné v situacích, kde má uživatel na výb r z více možností, je hra typu adventure ideální možností, kde ho nasadit. V situaci, kdy uživatel vidí dialogové možnosti, m že žádanou možnost prost p íst. V prost edí se pohybuje pomocí myši. P edm ty ozna uje také myší, ale akci, která se má s p edm tem provést m že vyslovit. 3.1 Analýza uživatele Projekt byl od po átku zamýšlen jako hlasem ovládaná hra pro d ti. Vzhledem k tomu, že použitý software na rozpoznání i pracuje s anglickým jazykem, je pravd podobn spodní ková hranice uživatele rozdílná zde a v anglicky mluvících zemích. Horní v ková hranice bezesporu neexistuje. 3.2 Volba metody a za ízení pro interakce Metoda interakce obecn vyplynula ze zadání – práce v podstat slouží jako demonstrace frameworku Vving. Framework je psán v Jav a z Javy se také používá. Slouží k propojení a synchronizaci dvou modalit – VRML prohlíže e (interaktivní 3D grafika) a VoiceXML browseru (tvorba dialog , rozpoznání i, TTS). Ze zadání dále plyne, že uživatel by m l procházet 3D sv tem a tam potkávat r zné postavy, hovo it s nimi, plnit úkoly apod. Tedy cosi jako herní žánr „adventure“, oproti b žnému rozhraní t chto her zde ale máme navíc hlasové rozhraní. Jelikož hlasové ovládání je vhodné pro výb r z n kolika možností, nejp irozen jší ástí rozhraní pro nasazení hlasového ovládaní je ovládání dialogu. Uživatel se p iblíží k postav , pozdraví nebo na ni zavolá. Tím za ne dialog a oba akté i rozhovoru se nyní st ídají. Herní postava p ehrává nadabované zvukové vzorky a uživateli se na obrazovce objevují texty postavy a nabídky v t, které má možnost vyslovit. Po vyslovení v ty se celý proces opakuje až do konce dialogu. Uživatel má vždy možnost se uprost ed rozhovoru s postavou rozlou it a ukon it tak dialog. Možnost ozna ovat v ty z nabídky myší byla plánována, ale implementována ješt nebyla. Další ástí hry je práce s p edm ty. Hrá má možnost se hlasovým povelem dostat na speciální obrazovku, kde vidí schematické ikonky p edm , které má u sebe. Ozna it je m že myší, akci, která se má s p edm tem provést vysloví. (ne zcela doimplementovaná ást) 3.3 Úvaha o volb architektury modulu uživatelského rozhraní Jelikož modul uživatelského rozhraní je multimodální, vypadá pon kud neobvykle. Uživatel oboustrann interaguje s hlasovým vstupem/výstupem a sou asn pracuje s obrazem a používá myš k pohybu po scén . Jistým spojovacím lánkem (i když ne úpln celistvým) je Vving, který zast ešuje, zjednodušuje a zobec uje komunikaci. Nic to ovšem nem ní na tom, že prezentace uživatelského rozhraní jsou dv . Vzhledem ke konstrukci celého frameworku se navíc tvo í ob prezentace na odd lených místech a pomocí programu v jav se pak specifikují akce, které se provedou k synchronizaci obou modalit. Program v podob , jak je napsán vypadá p ibližn dle následujícího obrázku: UŽIVATEL hlasová prezentace ovládání dialogu aplikace grafická prezentace VoiceXML je na popis hlasových dialog p ímo ur ené, naproti tomu VRML nemá tém žádné kvalitn jší prost edky pro tvorbu UI, než písmo, geometrické tvary (+materiály) a senzory, které nás informují o akcích uživatele (p ejel myší p es n jaké místo, vstoupil do vyzna ené oblasti). GUI je pak reprezentováno svébytnými celky psanými ve VRML, následn obalenými objekty v Jav (vving) a zobrazeno a používáno aplikací. Blíží se tak modelu MVC. 3.4 Formální popis ízení dialogu NPC subdialog move into NPC’s proximity sensor say “hello”, “talk” or “hey” main menu say “pick up” while pointing at object add item to inventory say “inventory” Inventory subdialog 3.5 Task model get the glasses (win the game) SEQ turn ladybird upside down bring food to monster SEQ push her tell her left/right send ant to cave SEQ ask her for glasses pick up stems drop stems in front of cave ALT tell him who is monster do not tell him who is monster return to cave 3.6 Testování Kvalita uživatelského rozhraní by se dala zhodnotit následujícím experimentem. Malý vzorek lidí postavíme p ed úkol dohrát hru a budeme b hem hry sledovat jejich emocionální reakce na jednotlivé postavy, situace apod. Jejich názor zjistíme po skon ení testu dotazováním. Zajímavé se rozhodn jeví situace, kdy lov k p esn neví, co má d lat – je postaven p ed ur itou situaci, kterou musí ešit ur itým zp sobem. Najít ešení je v podstat úkolem hrá e, není možné, aby hrá ovi uživatelské rozhraní p ehnan napovídalo. Na tyto okamžiky bych se soust edil p i dotazování p edevším, aby se úkoly p ípadn zjednodušily nebo naopak zkomplikovaly. D ležité je, jestli ve chvíli ešení úkolu m li uživatelé dostatek vodítek ke správnému ešení situace, správn pochopili d j a obsah dialog . Vyváženost je v tomto ípad klí ová – p ílišná obtížnost vede k frustraci uživatele, v p ípad p ehnané jednoduchosti zase hrá ztrácí pocit výzvy a projde p íb hem bez v tších problém . Z pozorování b hem testu lze zjistit cesty k ešení problému, které lidi asto napadnou a ípadn je lze do hry zakomponovat (situace lze ešit více zp soby). Nejvíce nebezpe né jsou okamžiky, kdy uživatel m d j nebo ešení úkolu p ijde nelogické. Hra je pom rn krátká, rozhraní je jednoduché, délku testu bych stanovil maximáln na p l hodiny. Za d ležité bych pokládal, jestli ú astníci testu mají již p edchozí zkušenosti s hraním jakých (nebo dokonce podobných) her, zda n kdy n co ovládali hlasem, jejich úrove anglického jazyka apod. 4. Implementace Vving Vving je framework, který byl vyvinut v minulém semestru za ú elem propojení dvou modalit – VRML a VoiceXML. VRML je standard pro textový popis interaktivních 3d sv . Popisuje vzhled scény, animace v ní a obstarává interakci s uživatelem pomocí myši. VRML je schopné i relativn složitého chování – podporuje javascript a javu, doprogramovat tedy lze tém cokoli. VoiceXML je formát ur ený pro tvorbu dialogových strom (nap . telefonní aplikace). Zahrnuje možnosti p ehrávaní soubor , nahrávání uživatelských vstup , text-to-speech atd. Pomocí gramatik lze specifikovat i pravidla pro rozpoznávaní ového vstupu. Strukturou je VoiceXML trochu podobné HTML – obsahuje formulá e, které uživatel vypl uje (hlasem,dtmf apod), menu. V kombinaci s podporou javascriptu je to nástroj i na tvorbu komplikovaných dialogu. Vving samotný vznikl jako pokus o kombinaci hlasového ovládání s 3d grafikou. Použili jsme VRML prohlíže Xj3D, VoiceXML browser od IBM a „slepili“ je pomocí programu v jav . Vving byl od za átku zamýšlen jako „p eposíla událostí“, tzn. událost v jedné modalit se uživatelem definovaným zp sobem pošle do druhé modality. Tím je uživateli umožn no synchronizovat 3d prost edí s hlasovým ovládáním. Tím, že je psán v jav , a ne pomocí markup jazyka (jak jsme p vodn zamýšleli), lze ho použít i trochu jiným zp sobem. Projekt se tak rozpadl do t ech souvisejících, ale odd lených ástí. Modelování Modely jsem tvo il ve voln dostupném subdivision modelá i Wings3D, který obsahuje bezchybný export do VRML. Výhodou tohoto modelá e je, že je p edevším ur en na tvorbu nízkopolygonových model , což je z hlediska rychlosti i velikosti soubor pro VRML ideální. Po exportu je vhodné použít n jaký nástroj na optimalizaci, která velikost souboru zmenší až desetkrát (nap . voln dostupný Chisel). Hotové modely jsem potom spojil do jednoho celku ru ve VRMLPadu a naprogramoval nezbytnou logiku chování objekt . Sou ástí logiky jsou i „p ípojné ásti“ generující (nebo ijímající) události ur ené pro odchycení až ve vvingu. Hlasová ást Hlasová ást byla v postat p ímou implementací dialog ve scéná i hry. Pro p ehlednost a snadnou pozd jší manipulaci, je každá atomická ást (p ehrávání jednoho souboru/v ty nebo rozpoznání p íkazu od hrá e) uložena ve vlastním formulá i s unikátním názvem. Hlasová ást je kompletn nadabována. Vving ást Každé aktivní místo je vyzna eno proximity nebo touch senzorem. Událost vstoupení hrá e do oblasti je odchycena programem v Jav používajícím Vving a je spušt n p íslušný dialog. Stejn tak pr chod hrá e dialogem je monitorován, dosažení jisté v tve dialogu nebo odpov hrá e m že vyvolat poslání události do VRML. Celý systém je jeden velký stavový automat obsahující n kolik stavových prom nných, podle kterých se p i r zných íležitostech rozhoduje. Pokud se stane n jaká d ležitá událost, zm ní se stavová prom nná a tím se ovlivní další pr h. Jelikož d ležitou sou ástí hlasov ovládaných aplikací je vizuální zp tná vazba, texty se objevují na obrazovce. Synchronizovat tuto vizualizaci s reálným pr hem konverzace nebylo lehké, protože VoiceXML browser s dodaným rozhraním (J+V) nedodává dostate né informace o konci p ehrávání apod. 5. Záv r Poda ilo se zatím implementovat pouze ást scéná e, nicmén zadání spl uje. Vedení dialogu hlasem se ukázalo jako velice p irozená záležitost. Vving framework se osv il zejména v práci s VRML. U strany VoiceXML by mnoho v cí mohlo být lepších, nicmén to je známý problém a je to dáno použitým rozhraním. P i plné implementaci rozhraní (XvB) by se naprostá v tšina problému vy ešila. Jako sporný bych ozna il systém „lokací“, který jsme do Vvingu implementovali, ale p i ešení této úlohy jsem ho v bec nepot eboval. Nicmén je jisté, že p i ur itých specifických požadavcích na synchronizaci mezi scénou a hlasem, je podobný koncept pot eba. Pod kování Radek Mašek Petra Antovová – dabing všech dialog – skicy brouk íloha 1 – scéná VoiceStain FOREST ======== Few trees, not too much light, glowing cottage - mushroom. All ways out happen to lead to the same place :) "Taking a walk in a forest you suddenly realize, you are lost... After some time you approach a small cottage... As it is almost dark, you should try to knock." *"Open the door","Knock the door"... (nebo klik) There stands a man, on walls there are hanged big pictures of insects. In the corner, there is a strange large pyramid leading to a glass terarium: "Oh, god! I thought nobody would come here... I need your help... Will you help me please?" "I have lost my glasses and I am completely blind without them. I will need you to find them a bring them back to me. But at first I have to unlock this pyramid machine." * "Who are you?" SUB "Just a mad professor." * "How can I get out of this forest?" SUB "I will lead you out as soon as I will have my glasses back." * "Where have you lost your glasses?" SUB1 "Well, it's a bit complicated. I am doing some kind of research on insects I keep in this terarium. Using this machine I came into terarium, but something went wrong and I had to run away very quickly. I stumbled and lost my glasses. They broke for sure." ** "What went wrong?" SUB1.1 "Nothing you have to worry about... it will not happen to you." * "What is this pyramid?" SUB "I use this machine to enter the terarium. If you go through, it will shrink you to the size of insect." * "Why it is locked?" SUB "Because I don't want to let anybody use it. Especially the insects inside." * "Let's unlock it" SUB "OK. I have to enter the code that is written on paper somewhere on the table. Will you please read it to me?" Player goes to table and reads numbers. * "115645687" Some strange sound, pyramid now glows. "Thank you. Now, your quest is simple. Go through and try to find my glasses. You can keep the paper, you will need it to leave terarium." TERARIUM ========= LADYBIRD ======== Player comes to a bug lying on its back, helplessly waving with legs... "Poor me... It has never happened to me before, I can't turn myself legs down!! I'm so wretched. Can you help me... pleeease...?" * No "Ok, then leave me alone and don't disturb me. I am trying hard to make myself mobile again." * Yes "Try to push me, maybe it will help..." Player clicks on bug, it does not work :) "You are not strong enough... That IS a bad luck! I will certainly lie here on my back forever. I remember myself turning around very often but as I hit the ceiling I have forgotten how. I can make myself sway by moving legs. Look..." Demostrates... "That is my only hope, unfortunately I don't know the correct moment to change my leg position. Can you help me with that or am I doomed to lie here for eternity?" * Left * Right Bug turns his legs to directions and when said in correct moment, bug will sway more and more, until it completely turns around. "Thank you very much. Your bravely rescue of a poor bug will not be forgotten. Can I help you somehow in return?" * "Have you seen glasses?" "Sorry I never heard about it." * "Have you seen someone running along?" "I remember someone running this way. It looks like he was scared by the monster in the cave." SUB * "A monster?" "At least I think so, no one has ever seen it. It does not leave its cave, but it thunders with a voice so terrible everyone trembles just at the thought of it. Sometimes it threatens us to make us bring some fresh stems." * "Where is the cave?" "It's in the opposite corner. There is a large rock... But beware, it is very dangerous to go there. I know you don't, but if you incidentaly DO want to talk to it, step in front of the cave a call it." When leaving.... "I almost forgot... As I hit the ceiling I have lost all seven dots from my wing-case. If you will incidentaly find them bring them to me. I feel so ugly without them... I would be very grateful." PLANT-LOUSE ============ Lives in a cave-like hole in the rock located in corner of the terarium. Cave looks like a deep dark hole, player is prevented to go in there by a terrible voice. * "Hey / Monster!" "Who dares to bother ME? What do you want?" * "I am searching for glasses." "Oh, you are another human, who is not afraid enough... I have the glasses, professor has lost them running out of cave. I told him not to come in... hahaha. Now they are mine." * "Who are you?" "I am the most dangerous thing you ever met." * "Come out I want to see you..." "AAArrrgggghhh... No." * "Bye..." "Oh, and by the way I AM HUNGRY, you should better bring me some food or I will eat YOU." Player drops stems he find nearby in front of the cave. "Well done, servant. Now leave..." "LEAVE!!" Player hides behind a small bush. SMALL plant-louse comes out and starts eating. Player leaves the bush and approaches plant-louse. Tiny voice: "Oh, you have me. I am just a plant-louse, I hide in the cave being afraid of the ladybird wandering around. And man... what the cave did with my voice. It was the most funny thing that ever happened to me, I could scare ladybird to death! Pleeease hold your tongue. If you want to help me bring the ant, he is my friend and I feel safe with him. I will give you the glasses then. Now I am going back to cave as I do not want to be eaten." THE ANT ======== "Hi, I am ant. Haven't you seen a plant-louse? She is my friend, but she has lost." * "No, I haven't..." "Hmm... too bad. I hope she is ok, I have seen ladybirds around... Tommorow we are leaving from this place. I would be really happy if I could find her, before we leave. If you meet her, tell her I am waiting here. Thanks." * "Yes, I have seen her in the cave..." "You mean that cave with a monster? Damn, hope she will be OK..." SUB * "Actually, SHE is the monster." 1 "What? Is this one of her jokes? When she'll grow up... OK, I am going to pick her up... Thank you." * "Yes, exactly that cave." 2 "I must hurry, she may be in danger... Thank you." When player comes to cave. He hears following dialog. 1) A: "Monster?" P: "Yes?" A: "Now everyone knows that you are a plant-louse not a monster. And I, a LADYBIRD, am hungry..." P: "God damn, this LOOKS like I am in a pickle..." A: "You are..." P: runs out of the cave "There is a ladybird in there, save me!!!" * "It's your ant." "Oh, great, I thought this is my end... so he is playing tricks on me, I thought the voice was familiar. Heh. OK, here are your glasses, they are a bit broken. Sorry about that. Thank you." Player gains glasses. * "Give me the glasses" "Traitor! Take your glasses and get lost, I don't want to see you again..." Player gains glasses. 2) A: "Outlast darling, I am coming for you..." P: "Calm down, I am safe..." A: "Oh God, the monster..." P: "It's me..." A: "You are the monster? You scared me to death, what happened to your voice?" P: "It's the cave, it changes my voice... Wait a moment, I have to handle something outside..." Plant-louse comes out. "Here you are, the glasses are a bit broken... Sorry about that. Thank you." Player gains glasses.
Podobné dokumenty
Licenční fórum GDS 2012
MEDIA Desk Česká republika a sdružení České hry rozhodli usnadnit filmovým a herním tvůrcům navázání
komunikace formou licenčního fóra, kde zástupci obou stran dostávají příležitost navzájem se poz...
Sborník příspěvků
jeden nedostatek. Bez nějaké ruční práce nebo přídavné znalosti není možné spojovat původně nesouvisející informace různých druhů z různých zdrojů. Tento
nedostatek překonává tzv. sémantický web. T...
Indefinite article
Množné číslo tvoříme u pravidelných podstatných jmen přidáním –s na konci slova.
a dog (pes) – two dogs
1 Informace přes telefon - Hlasové aplikace na ZČU
lidí uvědomuje a proto lze v dnešní době přistupovat k informacím (Internet, intranet, CRM
systémy, systém pro správu objednávek atd.) nejen přes monitor počítače, ale i přes různé
přenosné noteboo...
ZDE - SICURIT
síového pipojení atd.
Videoanalyzaní algoritmus automaticky monitoruje pozici kamery a detekuje
narušení nebo náhodné zmny úhlu a pozice zábru.
Veškeré informace o zatížení serveru v daný aso...
Extension of room visualization Karel POCHOP ([email protected])
v grafickém editoru uloží do samostatných souborů resp. do jednoho souboru , ve kterém jsou sekvence
odděleny. A ve výsledném programu je nutné načist postupně a nebo na jednou všechny sekvence tét...