6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HVML事始め的なもの1(ロボホンに色々喋らせてみる)

Last updated at Posted at 2020-01-07

HVMLとは

HVML(Hyper Void Markup Language)とはXML1.0をベースとしたマークアップ言語である。
ロボホンとの対話(ロボホンの発話、音声認識の操作)を実現する為に必要となる。

ロボホンに発話させるには

発話内容は<speech>タグに記載する。
サンプルコードの場合は「お話ししてく、ありがとう!・・・」の発話をする。

<action index="1">
  <speech>お話してくれて、ありがとう!これから、僕にいろんなことを教えてね!!</speech>
  <behavior id="assign" type="normal" />
</action>

<speech>タグ

項目 説明
書式 <speech>~</speech>
親要素 <action>
子要素 <emotion>,<wait>
属性 なし

注意点

  • 体感的には1拍、は2拍ほどの間が空く
  • 現実的に発音不可の言葉は問題箇所の発話がおかしくなる。(例:「んん」)
    • 「んん」の場合は音が途切れるような感じになります
  • 一つのspeechタグの上限は明確に決まっていないが、60秒を目安にしゃべれるように文章を区切る
  • speechタグ内の改行はエラーになる
    • ドキュメントによると問題ないとの記載があるのですが、検証環境ではエラーになったので…

連続した発話の設定

同じtopic id内の会話は<action>タグのindexで管理する。
サンプルコードの場合は、「今日の晩ご飯は・・・」の次に「楽しみだね」を発話する。
indexは整数で欠番なしに設定していく。

<action index="1">
  <speech>今日の晩ご飯は、カレーみたいだよ。</speech>
  <behavior id="assign" type="normal" />
</action>
<action index="2">
  <speech>楽しみだね。</speech>
  <behavior id="assign" type="normal" />
</action>

<action>タグ

項目 説明
書式 <action index="・・・">~</action>
親要素 <topic>,<case>
子要素 <speech>,<behavior>,<control>,<memory>
属性 index(必須)

感情の変更

ロボホンの感情の調整は<emotion>タグで行う。

typeで設定する感情は以下の3つ。

  • happiness
  • sadness
  • anger
    • ロボホンデフォルトの感情はhappiness,level 1

levelは1~4で設定する。(デフォルトは1

<action index="1">
  <speech><emotion type="happiness" level="2">今日の晩ご飯はカレーみたいだよ。</emotion></speech>
  <behavior id="assign" type="normal" />
</action>

<emotion>タグ

項目 説明
書式 <emotion type="・・・">~</emotion>
親要素 <speech>
子要素 なし
属性 type(必須),level

モーションの追加

発話中のモーションを明示的に指定する場合は、<behavior>タグのidを設定する。

<action index="1">
  <speech><emotion type="happiness" level="2">全ての人たちに、</emotion></speech>
  <behavior id="0x060027" type="normal" />
</action>
<action index="2">
  <speech>愛される可愛さ、ロボホンです。</speech>
  <behavior id="assign" type="normal" />
</action>

<behavior>タグ

項目 説明
書式 <behavior type="・・・" id="・・・"/>
親要素 <action>
子要素 なし
属性 type(必須),id(必須)

注意点

  • 設定のコツとして、speechタグを短く設定すると調整がしやすくなる
    長い文書と短いモーションが組み合わさると、少し動いた後にspeechタグが終わるまで動作がないため、不自然になる
  • デフォルトidのassignは首を動かす仕草や特定の単語で動作をするようになる
    (例:「サッカー」でボールを蹴る仕草)
    明示的に指定した場合、このような動作を一切しなくなる

参考資料

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?