ピアノ演奏自動化

ピアノの演奏アニメーションについてです。楽譜見ながら手打ちでちまちまキーフレーム打ち込んでいましたが、こんなのに時間かかるのは勿体ない!というコトで自動化作戦決行。MIDIファイルから演奏データを解析して自動的にMaxのキーフレームに変換してくれるものを目指しました。

まずはMIDIデータの解析部分。コレはJavaScriptで作成。

PutOnNote
JavaScriptでMIDIファイルを解析してみる シリーズ
音のデータとAfter Effects その2
AE: Hello again, & MIDI

このへんを参考にさせてもらいました。MIDIから必要なデータだけを取り出し補正をかけてキーフレーム情報に変換します。一度、コレをcsv形式にして吐き出します。 ホントはMIDI解析からMax側でやりたかったンですけど。時間かかりそうなので、一度中間ファイルを咬む形で解析と配置のツールを分けました。 ベロシティに合わせた強弱の弾き分けや、同音連打のタイミング補正、キーフレーム補間などはココで処理してしまいます。 というか、今回作ったのはココの処理ぐらいで、あとはPutOnNote丸々コピペです^^まつらいさんに感謝♪

で、吐き出したcsvをMax側で読み取ります。キーフレーム配置部分はMaxScriptで作成。 MaxScript初心者なので、ただ指示通りにキーを打つ命令だけでもまぁまぁ時間かかりました><

160613で、鍵盤のアニメーションが自動的に完了します。 何か「鍵盤を押したトコロが光るゲーム」的な転換になっていますが、あとは鍵盤に合わせてBipedを動かすだけです。 さすがにココは自動化できない(ってかしたくない)ンで手作業でぺちぺちと。ココもベースだけなら自動化できなくはないンでしょうケド。 MMDでそういうアプローチしてるのありますけど、やっぱり自動化の弊害的なアニメーションになっちゃってるし。自動化してもやっぱり調整は必要になってきますし、そもそも大前提として自分で作ったピアノ譜面というコトもあって手癖でパターンが偏ってるンですよね。決してほめられたコトではないですけど。比較的コピペで乗り切れるのでココは割り切って今後も手付けでいく予定です。

というコネタでお茶濁ししたトコロで、ちょっと別件のプロジェクトが発足したので6月~7月は作成休止します。あまりこっちを中断してもアレなので7月末までの期間限定としています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です