Voicestain

Komentáře

Transkript

Voicestain
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

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...

Více

Sborník příspěvků

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...

Více

Indefinite article

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

Více

1 Informace přes telefon - Hlasové aplikace na ZČU

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...

Více

ZDE - SICURIT

ZDE - SICURIT síového pipojení atd. Videoanalyzaní algoritmus automaticky monitoruje pozici kamery a detekuje narušení nebo náhodné zmny úhlu a pozice zábru. Veškeré informace o zatížení serveru v daný aso...

Více

Lorňon

Lorňon seník iště Je v o c a r p

Více

Extension of room visualization Karel POCHOP ([email protected])

Extension of room visualization Karel POCHOP (pochok1@fel.cvut.cz) 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...

Více