<gesture> (WG 3 refinement)

Coordinated movement with arms and hands, including simple gestures like beats and more complex parameterized ones.

A gesture can be made to start and end at any internal sync point. The attributes start/end can be assigned any internal sync point of the gesture, e.g.

<gesture id="gesture1" start="this:ready" end="this:stroke-end"/>

which means that the gesture starts with the ready and ends with the stroke-end sync points, i.e. the gesture has neither a preparation nor a retraction phase. This is a general extension to the use of the start/end attributes.

If a gesture has repeated strokes, other behaviors can be synchronized with specific iterations using autogenerated sync points of the form <id>:stroke:<n> e.g.

<other_behavior id="ob1" start="gesture5:stroke:2"/>

which means other_behavior starts with the second iteration of the stroke of gesture5.

Note that defining specific times for stroke iterations is left for future extensions.

Note that you can realize overlaid beats using two synchronized but separate BML behaviors for the same hand(s), one of which would be of type “beat”.

Core

AttributeTypeUseDescription
typenamerequiredThe category of gesture movement [POINT, BEAT, CONDUIT, LEXICALIZED, …]
handnameoptionalWhat hand/arm is being used [LEFT, RIGHT, BOTH]
repetitionintegeroptionalThe number of times the stroke should be repeated for this gesture (between stroke-start and stroke-end)
targetIDoptionalThe gesture is directed towards this target
lexemelexicalizedrequired with LEXICALIZED, otherwise optionalRefers to an animation or a controller to realize this particular gesture
Target is a separate sub-element shared my many behaviors. This element needs to include the dynamic flag. If the target is specified as a vector, the coordinate system must include another parameter noting the reference frame. Core reference frames include WORLD and CHARACTER. This <target> sub-element should also be used by gaze and pointing gestures.

Locomotion also defines target proximity. What is the equivalent here?

Beyond core:

AttributeTypeUseDescription
handshapelexicalizedoptionalThe shape of the hand [INDEXFINGER, THUMB, OPENHAND, FIST, FINGER-RING, CUP, PURSE]
extendedfingerdirectiondirectionoptionalRefers to the orientation of the wrist by specifying where the (extended) index finger is pointing, it's relative to the character.
palmdirectiondirectionoptionalThe palm comes from this direction relative to the target, if one is specified. Otherwise, it's relative to the character
trajectorylexicalizedoptionalThe characteristic shape of the gesture movement through space [straight, curved, circular, rectangular, triangular, wave-like, zigzag,…]
twohandedlexicalizedoptionalHow the two hands/arms of a two-handed gesture should be coordinated [mirror, alternate, parallel,…]
location_verticallocation_verticaloptionalThe vertical location (height) of the hand at stroke-start [LOW, CENTER, HIGH]
location_horizontallocation_horizontaloptionalThe horizontal location of the hand at stroke¬start [CENTER, LEFT, RIGHT, INWARD, OUTWARD]. OUTWARD means to the body side of the hand being used (analogous for INWARD) which means left hand and right for right hand. The reason to include INWARD/OUTWARD is you are not required to specify the handedness and can specify outwardness. INCLUDE GRAPHICS
location_distancelocation_distanceoptionalThe distance of the hand from the body at stroke¬start [CONTACT, NEAR, MEDIUM, FAR]
movementdirectiondirectionoptionalThe general direction of the overall gesture movement relative to the character
amplitudesizeoptionalRefers to the spatial extent of the gesture [SMALL, MEDIUM, LARGE, EXTRA-LARGE]
powerpoweroptionalRefers to how powerfully the gesture is executed [WEAK, NORMAL, FORCEFUL]
scopelexicalizedoptionalRefers to scope [FINGERx, WRIST, HAND, FOREARM, ARM]

The following three figures give a visual indication of the three location attributes:

Figure: location_vertical

Figure: location_horizontal

Figure: location_distance

NOTE: WG3 actually proposed to have each gesture type be a separate sub-element under <gesture>, but see the forum thread for discussion.

NOTE: An interesting question raised by Herwin: What If I want to point/beat using whatever bodypart available (head, hands, feet)? This would probably not fall under gesture as it is defined here, but where would be put it?


<speech> (WG 2 refinement)

Words to be spoken by a character. Generates both speech audio (or text) and speech movement (for example using a speech synthesizer and viseme morphing).

Unlike many of the other behavior elements, the <speech> element requires a sub-element. This sub-element is a <text> element that contains the text to be spoken, with optionally embedded synchronization elements for alignment with other behaviors. No other elements or attributes are specified for this core level.

This is an example of a complete speech behavior, synchronized to a beat gesture (striking on “speech”):

<speech id="s1">
   <text>This is a complete core level BML <sync id="tm1"/> speech description.</text>
</speech>
<gesture id="g1" stroke="s1:tm1" type="BEAT">

Speech and Description Extensions

Description Extensions are to be used to provide a more detailed description of the to be realized speech, typically in an existing XML representation language (SSML, ToBi, MaryTTS, etc.). Since not all BML realizers can execute the description extension, it is required that the description extension provides exactly the same synchronization points as its accompanying core BML speech text. It is allowed to place the synchronization points in the description level at slightly different positions than those in the core BML speech text. This allows description levels to provide synchronization at a finer grained level (e.g. at the start of a syllable rather than a word).

Some Speech and Description Extension Examples

Audio Files
<speech id="s1">
   <text>This is the proposed BML <sync id="tm1"/> extended speech specification.</text>
   <description priority="3" type="audio/x-wav">
      <sound xmlns="http://www.ouraudiodesc.com/">
        <file ref="bml.wav"/>
        <sync id="tm1" time="2.3" />  <!-- This binds the word break with a particular playback time -->
      </sound>
   </description>
</speech>
SSML Markup
<speech>
   <text>This is the proposed BML <sync id="tm1"/> extended speech specification.</text>
   <description priority="1" type="application/ssml+xml">
      <speak xmlns="http://www.w3.org/2001/10/synthesis">
      This is the <emphasis>proposed</emphasis>  BML  <mark name=”tm1”/> extended speech specification.
      </speak>
   </description>
</speech>

 
projects/bml/draft1.0/wg3.txt · Last modified: 2010/07/25 11:16 by herwin
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki