11
8

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 5 years have passed since last update.

MMDAgent を Android で動かす

Last updated at Posted at 2014-09-05

#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

 以下のようなディレクトリ構成になると思います。

6e570a64-9034-50f8-0834-4476d63efb3f.png

 このディレクトリを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を押して自動ビルドそのまま実行にするとうまくいく)

#テスト
アプリを実行して、「こんにちは」というと、返事します。
表示が縦画面だとうまく表示されません。

11
8
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
11
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?