vrExpress char-id addressee-id utterance-id xml-messsage
Description
Sent from an agent or , Dialogue Manager or NPCEditor to the NonVerbal Behavior Generator. Usually containing the line the character will say and for which nonverbal behavior needs to be generated. Can contain , or more high level instructions on what type of behavior to generate.:
- speech
- posture change
- status / request
- gaze
- emotion
Parameters
- character-id, ID of the virtual human (i.e. 'ChrBrad')
- addressee-id, ID of the addressee (i.e. 'user')
- utterance-id, unique ID within a session
- xml-message, the text to be turned into audio, in XML format (see below for examples). This is a mix between Functional Markup Language (FML) and Behavior Markup Language (BML).
Examples
Speech
The speech messages are characterized by the speech tag within them. They are interpreted and the corresponding output bml is generated with the speech time marks, animations, head-nods, facial-movements etc. These animations are generated based on the content of the speech tag and the fml tag in the input message.
Code Block |
---|
RemoteSpeechCmdvrExpress speakharmony ChrBrad 1 Festival_voice_cmu_us_jmk_arctic_clunits ../../data/cache/audio/utt_20121109_153323_ChrBrad_1.aiffranger harmony221 <?xml version="1.0" encoding="utf-16"?><speechUTF-8" standalone="no" ?><act> <participant id="sp1harmony" refrole="Anybody-1" type="application/ssml+xml"><markactor"/> <fml> <intention> <object name="A316"> <attribute name="T0addressee" >ranger</>Hiattribute> <attribute name="speech-act"> <object name="A317"> <attribute name="content"> <object name="V28"> <attribute name="modality"> <object name="V29"> <attribute name="conditional">should</attribute> </object> </attribute> <attribute name="polarity">negative</attribute> <attribute name="attribute">jobAttribute</attribute> <attribute name="value">bartender-job</attribute> <mark<attribute name="T1" /><markobject-id">utah</attribute> <attribute name="type">state</attribute> <attribute name="T2time">present</attribute> />there, <mark name="T3" /><mark name="T4" />how <mark name="T5" /><mark name="T6" />are <mark name="T7" /><mark name="T8" />you. <mark name="T9" /></speech> |
Code Block |
---|
|
Sending Components
Receiving Components
Related messages
...
</object>
</attribute>
<attribute name="motivation">
<object name="V27">
<attribute name="reason">become-sheriff-harmony</attribute>
<attribute name="goal">address-problem</attribute>
</object>
</attribute>
<attribute name="addressee">ranger</attribute>
<attribute name="action">assert</attribute>
<attribute name="actor">harmony</attribute>
</object>
</attribute>
</object>
</intention>
</fml>
<bml>
<speech id="sp1" type="application/ssml+xml">ranger utah cant be bartender if he becomes sheriff</speech>
</bml>
</act> |
Posture Change
These messages are characterized by the <body posture=""> tag which allows NVBG to know that there has been a change in posture.
Code Block |
---|
vrExpress harmony None XX <?xml version="1.0" encoding="UTF-8" standalone="no" ?><act>
<participant id="harmony" role="actor" />
<bml>
<body posture="HandsAtSide" />
</bml>
</act> |
Status / Request
The idle_behavior and all_behavior attributes within the request tag allows NVBG to keep track of whether or not to generate the corresponding behavior.
Code Block |
---|
vrExpress harmony None XX <?xml version="1.0" encoding="UTF-8" standalone="no" ?><act>
<participant id="harmony" role="actor" />
<fml>
<status type="present" />
<request type="idle_behavior" value="off" />
</fml>
</act> |
Gaze
These gaze tags, if present within the input message are transferred unaltered to the output message.
Code Block |
---|
vrExpress harmony ranger constant103 <?xml version="1.0" encoding="UTF-8" standalone="no" ?><act>
<participant id="harmony" role="actor" />
<fml>
<gaze type="weak-focus" target="ranger" track="1" speed="normal" > "listen_to_speaker" </gaze>
</fml>
</act> |
Emotion
The affect tag contains data about the emotional state the character is currently in. This can be used to affect output behavior.
Code Block |
---|
vrExpress harmony None schererharmony17 "<?xml version="1.0" encoding="UTF-8" standalone="no" ?><act>
<participant id="harmony" role="actor" />
<fml>
<affect type="Fear" STANCE="LEAKED" intensity="110.475"></affect>
</fml>
</act> |
Sending Components
Receiving Components
Related messages
- vrSpeak
- vrAgentBML