前回の投稿で、Juliusとの連携はできたので、次はMMDAgentと組み合わせてみた。

以下のサイトのエントリを参考。

MMDAgentにミクさんを表示させるまで ~補足編その1~

サンプルのMMDAgent.fstに追加したい動作を記述。

実行コマンドは、Juliusで使っていたteratermマクロを指定。

\# 0121-0130 AirControlOn

1 121 RECOG\_EVENT\_STOP|エアコン,つけて EXECUTE|C:\Users\xxx\Dropbox\src\MMDAgent\Macro\AirControlOn.ttl
  
121 122 SYNTH\_START|mei|mei\_voice_normal|エアコンつけます。
  
122 2 SYNTH\_EVENT\_STOP|mei

\# 0131-0140 AirControlOff

1 131 RECOG\_EVENT\_STOP|エアコン,消して EXECUTE|C:\Users\xxx\Dropbox\src\MMDAgent\Macro\AirControlOff.ttl
  
131 132 SYNTH\_START|mei|mei\_voice_normal|エアコン消します。
  
132 2 SYNTH\_EVENT\_STOP|mei

ただ、サンプルのままだと100発1中の認識率の悪さ・・・・。

なので、ここでもJuliusでつかっていた記述文法を流用。

MMDAgent\AppData\Julius配下にjconf.txtというファイルがあるので、

文末に以下の定義を追加した。

-nogram
  
-gram "C:\Users\xxx\Dropbox\src\HAL1000\grammar\please"
  
-gram "C:\Users\xxx\Dropbox\src\HAL1000\grammar\call"
  
-gram "C:\Users\xxxDropbox\src\HAL1000\grammar\mode"

-nogramで、すでに登録されている単語をすべて忘れて、

次の行で、今回自分が用意した単語と文法を教えてあげる。

(詳しくはココ)JuliusBook 第7章 言語モデル

そうすると、

メイちゃんは今までの記憶をすべてわすれ、

再帰的に、ひたすらエアコンをつけようとする。(それしか単語を知らない)

きっと地球が滅びるその日まで、ひたすら彼女はエアコンをつけ続けるだろう。

MMDAgentで、初音ミクのモデルも試してみた。

メイちゃんよりもこっちのほうが頭がいいみたい。