前回の投稿で、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で、初音ミクのモデルも試してみた。
メイちゃんよりもこっちのほうが頭がいいみたい。