#MMDAgentについて
MMDAgent( http://www.mmdagent.jp/ )は、名古屋工業大学国際音声技術研究所の"MMDAgent Projectチーム"が開発したオープンソースの音声対話端末です。
音声認識システム"Julius"、音声合成システム"OpenJTalk"、3DCGムービーフォーマットMikuMikuDance"を利用しているそうです。
#ソースコード等ダウンロード
MMDAgent公式サイト( http://www.mmdagent.jp/ )からソースコードをダウンロード。
本記事では"MMDAgent version1.4(Dec 25, 2013)"をAndroidへインストールする手順を解説します。
###MMDAgent本体をダウンロード
公式サイトで配布されているコードそのままだとビルドがうまくいきません
GitHubでAndroid用にカスタマイズされているコードがあったので、それを利用しました。
感謝
(https://github.com/kaitoh/MMDAgent)
###サンプルスクリプトをインストール
本体は3Dモデルや音声スクリプトなどが同梱されていないので、本体とは別でサンプルデータを公式サイトからダウンロードしてください。
MMDAgent "Sample Script"→Binary Packageからサンプルをダウンロード
#Android開発環境をインストール
Android開発環境としてEclipseおよびAndroidSDK、AndroidNDKをインストールします。また、今回は実機デバック用にNexus7端末を利用しました。
アプリとは別で利用データを端末へ送る必要があります→AndroidFileTransferが便利
・Eclipse with AndroidSDK ( http://developer.android.com/sdk/index.html )
・AndroidNDK ( https://developer.android.com/tools/sdk/ndk/index.html )
・AndroidFileTransfer ( https://www.android.com/filetransfer/ )
参考サイト
・AndroidNDKを使った開発環境の構築( http://note.chiebukuro.yahoo.co.jp/detail/n136598 )
・実機デバッグについて ( http://androidguide.nomaki.jp/html/dbg/dbg2.html )
・AndroidFileTransferの認識がうまくいかない場合 ( http://nihaoshijie.hatenadiary.jp/entry/2014/04/23/211649 )
#モデル・音声データ等をAndroid端末へ配置
MMDAgentをインストール前に各データをAndroid端末へ転送しておきます。
MMDAgent本体のディレクトリ内にある Release ディレクトリがデータディレクトリになります。
ただし、モデル等は入っていないので、あらかじめダウンロードしていたサンプルデータを以下の様に名前変更したうえで、Releaseディレクトリに上書きします。
MMDAgent_Example.mdf → MMDAgent.mdf
MMDAgent_Example.fst → MMDAgent.fst
MMDAgent_Example.ojt → MMDAgent.ojt
MMDAgent_Example.dic → MMDAgent.dic
以下のようなディレクトリ構成になると思います。
このディレクトリをAndroidFileTransferを利用して、端末の任意の場所へ配置します。
例:/storage/emulated/0/Release/
#MMDAgentをAndroid端末へインストール
##インポート
MMDAgent本体のコード等をEclipseへインポートします!
##編集
さきほど転送したデータの位置に合わせてソースを一部編集します。
ディレクトリ jni → Library_MMDAgent → Android.mk を編集
Android.mkの
・DMMDAGENT_OVERWRITEEXEFILE
・DMMDAGENT_OVERWRITECONFIGFILE
・DMMDAGENT_OVERWRITESYSDATADIR
が3Dモデル、音声スクリプトなどへのパスを指定する部分になっているので、先ほど転送したデータの位置に合わせて書き換えます。
例:
-DMMDAGENT_OVERWRITEEXEFILE=""/storage/emulated/0/Release/MMDAgent.exe""
-DMMDAGENT_OVERWRITECONFIGFILE=""/storage/emulated/0/Release/MMDAgent.mdf""
-DMMDAGENT_OVERWRITESYSDATADIR=""/storage/emulated/0/Release/AppData"" \
これで準備完了です。EclipseのRun/DebugでAndroid端末へインストールしてください。
(自分の環境の場合Run/Debugの前にビルドすると失敗します。NDKの問題か?、Run/Debugを押して自動ビルドそのまま実行にするとうまくいく)
#テスト
アプリを実行して、「こんにちは」というと、返事します。
表示が縦画面だとうまく表示されません。