[[PageNavi(NavigationList)]]
= MID2Motion (MIDI to MMD Motion) =
[http://www.geocities.jp/higuchuu4/index.htm MikuMikuDance] のモーションを
MIDI 信号によって、テンプレートを元に生成する Java アプリケーションです。
[[PageOutline(start=2)]]
== 何これ ==
Standard MIDI から、 MMD モーションを作るものです。
Standard MIDI は、 General MIDI でもある程度対応しますが、基本的には
MAGIX Music Maker および Samplitude 用の MIDI を想定します。
デモ演奏兼紹介動画 [http://www.nicovideo.jp/watch/sm26220872 ニコニコ動画「鼓リズムのドラム講座DR]
([prweb:/#video ニコニコ動画アカウントが無い人用])
== 特徴 ==
[[Thumb(midi2motion.png, size=large, float=right, caption=動画製作フロー)]]
このアプリケーションは、
1. Standard MIDI File (Format 0,1 共に可)を直接読んで、
2. 前もって定義されたテンプレートを MIDI メッセージに基づき加工し
3. MIDI の発音タイミングにモーションを同期させます。
4. 基本的には演奏モーションなので、 Drum, Keyboard, Bass, Guitar など
楽器ごとに特徴のある !MotionBuilder が用意されています。
5. 楽器と関係ない動きも記述できる sampler も用意されてます。
6. (開発者向けで) !MotionBuilder クラスを extend させることによって、新たな
モーションビルダを作ることもできます。
== 必要なもの ==
1. Java Runtime Library SE 1.6 以降 (Sun でも, Oracle でも, OpenJDK でも可)
2. [http://www.geocities.jp/higuchuu4/index.htm MikuMikuDance] (以後 MMD とよばれる.)
3. MMD用のモデル(PMX, PMD, PMX Editor が作る CSV 形式)
== ダウンロード ==
[http://osdn.jp/projects/mmdmotion-java/releases/p14597 MID2Motion] リリースリスト: 最新
[http://osdn.jp/projects/mmdmotion-java/releases/63677 Version 1.2].
* アプリケーション(jar)だけ(利用者向け): [http://osdn.jp/projects/mmdmotion-java/downloads/63677/MID2Motion-1.2.zip/ MID2Motion-1.2.zip]
* ソースコードつき(開発者向け): [http://osdn.jp/projects/mmdmotion-java/downloads/63677/MID2Motion-1.2-src.zip/ MID2Motion-1.2-src.zip]
* Java API Doc: prweb:/mid2motion/apidocs
* svn(せっかちな開発者向け): http://svn.osdn.jp/svnroot/mmdmotion-java/MID2Motion/trunk/
== インストール ==
1. Java Runtime Environment (JRE) があるなら、*.jar がコーヒーカップの
アイコンで表示されてます。なければ、
[http://www.oracle.com/technetwork/java/javase/downloads/index.html JRE]
か JDK をインストールしてください。Version 1.6 以降ならなんでも動くと思います。
(IBM製では、swing を別にインストールする必要があります。)
2. 基本はそれだけです。*.jar はどこにおいてあってもかまいませんが、
全部同じ場所において置いてください.
3. [MID2Motion/plugin plugin]について: 現在モーションを作るプログラム(なんとか!MotionBuilder.java と名づけられたクラスで、
日本語で生成機と呼んでいるもの)はプラグイン化されていて、別々にアップデートされます。配布パケージには、
使い勝手がいい drum, keyboard, sample がはじめからつけてありますが、すでに古くなってるかも知れません。
アップデートや他のプラグインを確認するには [MID2Motion/plugin] のページ列挙されているので、
そこから個別のページに行って確認してください。ダウンロードした zip ファイルを plugin
ディレクトリー(フォルダー)にいれます。
4. template について: モーションビルタープラグインのほとんどはモーションテンプレートが必要です。
幾つかのテンプレートは、plugin-*.zip ファイルに付属されていますが、これも古くなってるかもしれませんので、個別のページに行って確認してください。
== 利用法 ==
[[Thumb(mid2motion-main.png, float=right, size=default, caption=MIDI to Motion (Main Frame))]]
1. 普通は MID2Motion-1.2.jar をダブルクリックするなどして実行してください。
なんらかの理由で動かない場合は、mid2motion.bat をダブルクリックして実行してください。
コマンドラインでは、
{{{
java -jar MID2Motion-1.2.jar
}}}
2. まずは MIDI ファイルを読み込みますが、まだ細かくて一連になってない場合は、
[MID2Motion/concatenate ツール(T)/Midi concatenate(C)] で読み込み、つなげます。
3. ファイル(F)/MIDIを開く(O) でつなげたMIDIファイルを読み込みます。(MIDI ファイル名が出るテキストボックスにドロップしてもいいです)
4. MMD の標準は30 FPS で、テンプレートのほとんどがこれを想定してますが、ここで変えることができます。(現状 30 より大きく離れると動作を保障できません。25-40 を目安にしてください。)
表示されているFrame/beat が簡単な分数になるほうが、見栄えがよくなるかもしれません。
5. 作りたいモーションの種類をタブから選んでください。
* [MID2Motion/drums drum]: ドラムモーションです。2種テンプレートと1種換算表を選んだら変換できます。
10 チャンネルがあるとそれをドラムパターンとしますが、無いと一番番号の低い
チャンネルをドラムパートとします。
* [MID2Motion/keyboard keyboard]: キーボードモーションです。これは、テンプレートじゃなくて
位置合わせのためのモーションとモデルを入れます。モデルとモーションが
入ってないと !Midi2Vmd やvoronoi 式の自動演奏鍵盤モーションと同じモーションしか
作りません。
* [MID2Motion/sampler sampler]: サンプラーモーションです。ドラムモーションの簡易版みたい
なものです。足踏みや往復運動など入れます。
=== モーションビルダープラグイン & テンプレート ===
モーションビルダーは個別にアップロードや追加がされます。全リストは[MID2Motion/plugin]へ。
== 著作権・ライセンス(使用許諾) ==
[[Include(Include/MITLicense)]]
ちなみにこの著作権とライセンスは、プログラムの著作権の話であって、
これで作った映像作品の著作権には影響しません。
また、付属するモーションテンプレートには、
足踏みや楽器のかなり一般的な弾き方など、
著作性がないので、著作権はありません。
=== togagem-3.n3.jar
[[Include(Include/TogaGem)]]
=== MMDMotion-1.5.jar
Copyright (c) 2015 nazo
http://mmdmotion-java.osdn.jp/wiki/MMDMotion
MMD のモーションを計算で生成するために作った Java ライブラリです。(これです。)
著作者は、[id:naz_o nazo] (ときどき Naz.) です。
MIT License で転載・改変が認められております。
=== '''MID2Motion'''-1.2.jar
Copyright (c) 2015 nazo
http://mmdmotion-java.osdn.jp/wiki/MID2Motion
MMD のモーションを MIDI から生成するために作った Java アプリケーションです。(これ)
著作者は、[id:naz_o nazo (ときどき Naz.)] です。
MIT License で転載・改変が認められております。
== 注意事項 ==
* MMD開発者の樋口M氏とは、これらは無関係です。樋口M氏に問い合わせても
迷惑なだけなので、やめましょう。
* AHS のキャラクター jamバンドのメンバーの名前が付いているファイルが
ありますが、これもAHS とは無関係なので、 AHS に問い合わせないでください。
このパッケージには、AHS の著作物は一切入ってません。
== MID2Motion 変更履歴
* 1.2 (2015-08-10)
* MIDIResolver
* Relatoin により Note ON と Note OFF を繋げて処理可能。
* plugin 化: モーションビルダーはplugin として独立させる。
* 1.1 (2015-06-20)
* (MMDMotion の更新に伴うもの)
* PMX モデルの読み込み / PMD モデルの正しいローカル座標設定
* GUI のドラック&ドロップ対応
* MIDIResolver
* package の変更
* tics 以外に note# も比較対象にした。(Power Guitar の前準備)
* 空っぽのSMFも正しく扱えるようになった。
* MIDI Concatnate
* GUI 更新。使いやすくなった?
* !KeyBoardMotionBuilder
* 汚すぎたソースが読みやすくなった!
* ダンパーペダル対応
* voronoi式自動鍵盤対応
* 付属モーションテンプレート
* guiterPlayer.temp.vmd が「きの式弦巻マキ 2015.04版」になった。
* 1.0 (2015-04-05)
* drum, Bass, keyboard, sampler モーションビルダーでリリース
* MIDI Concatnate 内蔵 (将来的には分離するかも)
== 謝辞 ==
MMD開発者の樋口M 氏: http://www.geocities.jp/higuchuu4/index.htm
言うまでもないですが、これがないとそもそもこんなライブラリー作る
意味がないです。楽しいプログラムです。
jam player の chaba 氏: http://chaba.sakura.ne.jp/vl/jam/index.html
Starndard MIDI から演奏動画をつくる試みです。結構いいところまで
できてるんですが、「せめて途中の解析データー(TAB譜とか指譜とか)があれば、
後をつなぐことができるものを」と惜しく思う作品です。オープンソース
を望むのは反則かな?
!Midi2Vmd の mqdl さん: http://mqdl.jpn.org/sb.cgi?cid=4
単純ですが、Starndard MIDI からキーボードのキーを動かす
モーションをつくるプログラムです。 MID2Motion のキーボード
モーションビルダーはこれの拡張みたいなものです。
MMDピアノ無人演奏キットの voronoi さん: http://www.nicovideo.jp/watch/sm6342510
!Midi2Vmd とならんで使われるキーボード自動演奏プログラムです。Excel マクロ
(!Mid2Frame)と、VMDConverter を組み合わせて使います。こっちの方が
演奏者がいる動画が多いので有名らしく、多く対応キーボードがあります。
!Midi2Vmd 同時対応もできるくらい構造は似てます。
kanabass の kadotanimitsuru さん: http://www.nicovideo.jp/watch/sm25031190
モーションテンプレートのアイディアの元です。コピー&ペーストでモーションを作る概念は、
前からありましたが、右手と左手を分けるとか、拍の偶奇で動作が違うなど、
地味に重要な技術が盛り込まれてます。!BassMotionBuilder はこれの拡張
(開放弦モードの追加と note off でのミュート)で、!DrumMotionBuilder も似た様なものです。
!VmdSynthesizer のellerykh さん: http://www.geocities.jp/ellerykh/index.html
モーションサンプラーのextend (引き伸ばし) は、周期的ダンスモーションに、
これと同じことがしたかったから実装したものです。
[[PageNavi(NavigationList)]]