9 Galatea Dialog Manager 拡張要素

9.1 <emotion> : 音声出力と同時に基本表情を行わせる

emotion要素は,音声出力と同時に基本表情を行わせる.

現在の実装では,顔表情の変化だけを行ない,音声は変化させない.emotion要素はFSMのFaceExpコマンドとして実装されており,使用例のコマンドは下記と等価である.

<native>to @FSM set FaceExp = HAPPY 1 50 0</native> <prompt>ありがとう。</prompt> <native>to @FSM set FaceExp = NEUTRAL</native>

リスト 9.1 emotion要素の使用例
<emotion type="HAPPY" pattern="1" value="50">ありがとう。</emotion>
type属性
  • 実装:対応済
  • 用途:表情IDを指定する。
  • 省略時:指定必須
  • 備考:使用できる値は,NEUTRAL, HAPPY, DISGUSTED, SAD, ANGRY, SURPRISED, FEARED, USERDEF.なお,</emotion>がある場所で顔表情はNEUTRALに再設定される.
pattern属性
  • 実装:対応済
  • 用途:表情のパターンIDを整数値で指定する.
  • 省略時:1
  • 備考:
value属性
  • 実装:対応済
  • 用途:表情の変形量(%)を0-100の整数値で指定する.
  • 省略時:100
  • 備考:SURPRISEDの場合のみ,表情の不自然さを回避するために(value/2)をFSMに送っている.
duration属性
  • 実装:対応済
  • 用途:表情の継続長を指定する.
  • 省略時:0
  • 備考:ミリ秒単位の整数で指定する.0のときは,次の表情変形命令を受けるまで,指定の表情を継続する.

9.2 <native> : プラットフォーム依存の出力を実行する

native要素は,プラットフォーム依存の出力を実行する.

native要素はlog要素を参考に設計された.native要素は実行可能内容であり、prompt要素中には記述できない.出力は音声合成などと同期して行なわれる.

value要素を併用したり,expr属性を用いることで,変数の値や演算結果をnative出力に含めることができる.

リスト 9.2 native要素の使用例
<block>
<native>to @FSM set Autonomous = MOVE 0</native>
<native>to @FSM set HeadRotAbs.1 = 0 0 0</native>
<native>to @PAR set Init = 1</native>
<native>to @PAR set Cmd = sleep 1.0</native>
<native>to @PAR set Cmd = to @FSM set FaceExp = HAPPY 1 100 1000</native>
<native>to @PAR set Cmd = sleep 1.4</native>
<native>to @PAR set Cmd = to @FSM set FaceExp = SAD 1 100 1000</native>
<native>to @PAR set Cmd = sleep 2.0</native>
<native>to @PAR set Cmd = to @FSM set FaceMot = NOD 1</native>
<prompt>私には、うれしいことも、悲しいことも、いろいろあります。</prompt>
</block>
native要素に格納される要素
  • value
expr属性
  • 実装:対応済
  • 用途:ECMAScript値をlog要素の内容と見なして実行する.
  • 省略時:値なし
  • 備考:log要素が空でない場合には,expr属性の内容をまず出力し,続いてlog要素の内容を出力する.
expr属性
  • 実装:対応済
  • 用途:ECMAScript値をlog要素の内容と見なして実行する.
  • 省略時:値なし
  • 備考:log要素が空でない場合には,expr属性の内容をまず出力し,続いてlog要素の内容を出力する.

9.3 <all-of> : 顔表情変化と音声出力を並行して行う

all-of要素は,顔表情変化と音声出力を並行して行う.

all-of/mediaはPARサブモジュールを使用するための簡易表記である.この仕様は将来変更する可能性がある.

リスト 9.3 all-of要素の使用例
<prompt>
<all-of>
<media type="face">
<native>sleep 0.1</native>
<native>to @FS-MCL set Emotion = FEARED 30</native>
<native>sleep 0.5</native>
<native>to @FS-MCL set Rot = -2 -1 0</native>
</media>
<media type="voice">
はい、そのように呼ばれております。
</media>
</all-of>
</prompt>
all-of要素に格納される要素
  • media

9.4 <media> : 並行して出力される個々の要素を示す

media要素は,並行して出力される個々の要素を示す.

all-of/mediaはPARサブモジュールを使用するための簡易表記である.faceの中でnative要素を使う場合のみsleep (秒数)という記述が有効であるが,この仕様はPARの仕様に依存している.この仕様は将来変更する可能性がある.

media要素に格納される要素
  • native
type属性
  • 実装:対応済
  • 用途:faceとvoiceのみ指定可能である.
  • 省略時:
  • 備考: