wiki:MURML

Version 12 (modified by welberge, 7 years ago) (diff)

--

MURML

The MURML extension provides MURML descriptions for facial animation and gesture in BML. The namespace for MURML is  http://www.techfak.uni-bielefeld.de/ags/soa/murml.

MURML hand gesture

<bml xmlns="http://www.bml-initiative.org/bml/bml-1.0"  id="bml1" > 
<murmlgesture id="gesture1" start="2" xmlns="http://www.techfak.uni-bielefeld.de/ags/soa/murml"> 
  <murml-description>    
    <parallel>
      <dynamic slot="HandLocation" scope="left_arm">
	<dynamicElement type="linear" scope="left_arm">
          <value type="start" name="LocLowerChest LocCCenter LocNorm"/>
          <value type="end" name="LocStomach LocPeripheryLeft LocFFar"/>
	</dynamicElement>
      </dynamic>
      <dynamic slot="HandShape" scope="left_arm">
        <dynamicElement>
            <value type="start" name="BSneutral"/>
            <value type="end" name="BSflat"/>
	</dynamicElement>
      </dynamic>
      <dynamic slot="ExtFingerOrientation" scope="left_arm">
	<dynamicElement>
            <value type="start" name="DirRA"/>
            <value type="end" name="DirALAA"/>
	</dynamicElement>
      </dynamic>
      <dynamic slot="PalmOrientation" scope="left_arm">
	<dynamicElement>
            <value type="start" name="PalmRU"/>
            <value type="end" name="PalmU"/>
	</dynamicElement>
      </dynamic>
    </parallel> 
  </murml-description>
</murmlgesture> 
</bml> 

MURML face gesture

<bml xmlns="http://www.bml-initiative.org/bml/bml-1.0"  id="bml1" > 
<murmlface xmlns="http://www.techfak.uni-bielefeld.de/ags/soa/murml" id="face1" start="2"> 
<murml-description>
<dynamic> 
	<keyframing easescale="5" easeturningpoint="0.7"> 
		<phase> 
		<frame ftime="0.5"> 
		<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 100)</posture> 
		</frame> 
		<frame ftime="1"> 
		<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 0)</posture> 
		</frame> 
		<frame ftime="1.5"> 
		<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 100)</posture> 
		</frame> 
		<frame ftime="2"> 
		<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 0)</posture> 
		</frame> 
		</phase> 
	</keyframing> 
</dynamic> 
</murmlface> 
</murml-description>
</bml> 

Using MURML as a <faceLexeme> or <gesture> description extension

<faceLexeme id="face1" start="2" lexeme="smile"> 
	<description priority="1" type="murmlface"> 
	<murml-description xmlns="http://www.techfak.uni-bielefeld.de/ags/soa/murml">	 
	<constraints>	 
	<dynamic> 
		<keyframing>			 
			<phase>			 
			<frame ftime="0.5"> 
			<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 100)</posture> 
			</frame> 
			<frame ftime="1"> 
			<posture>Humanoid (Body_NG-mesh-morpher-yeux_NG01-1 1 0)</posture> 
			</frame>			 
			</phase> 
		</keyframing> 
	</dynamic> 
	</murml-description> 
	</description> 
</faceLexeme> 
<gesture id="g1" mode="LEFT_HAND" lexeme="BEAT" start="0.5"> 
  <description priority="1" type="murmlgesture"> 
    <murml-description xmlns="http://www.techfak.uni-bielefeld.de/ags/soa/murml"> 
    ...
    </murml-description> 
  </description> 
</gesture> 

From MURML to BML+"BML MURML", an example

MURML

<definition>
  <utterance>
    <specification>
    And now take <time id=“t1”/> this <time id=”t2”/> bar <time id=“t3”' chunkborder=“true”/>
    and make it <time id=“t4”/> this big. <time id=“t5”/>
    </specification>
    <focus onset=”t1” end=”t2” accent=”H*”/>
    <behaviorspec id=”gesture_1”>
      <gesture id=”pointing_to”>
        <affiliate onset=”t1” end=”t3”/>
        <param name=”refloc” value=”$Loc-Bar_1”/>
      </gesture>
    </behaviorspec>
    <behaviorspec id=”gesture_2”>
      <gesture>
        <affiliate onset=”t4” end=“t5”/>
        <constraints>
          <symmetrical dominant=”right_arm” symmetry=”SymMS”>
          <parallel>
            <static slot="HandShape" value="BSflat (FBround all o) (ThCpart o)"/>
            <static slot="PalmOrientation" value="DirL"/>
            <static slot="ExtFingerOrientation" value="DirA"/>
            <dynamic slot="HandLocation">
              <dynamicElement type="linear">
                <value type="start" name="LocShoulder LocCenterRight LocNorm"/>
                <value type="direction" name="DirR''/>
                <value type="distance" name="125.0''/>
              </dynamicElement>
            </dynamic>
          </parallel>
          </symmetrical>
        </constraints>
      </gesture>
    </behaviorspec>
  </utterance>
</definition>