Android から eVY1 シールドを制御する (SMFマルチトラック編)


20131220android_evy1

SMF ( Standard MIDI File ) マルチトラック形式のファイルを解析して、演奏します。
Android 端末の USB-HOST 機能を使っています。

ソースコードは Google Code に置いています。

ソースコードの簡単な解説
(1) FileBinary.java
assets にあるMIDIファイルを読み込みます。

(2) MidiParser.java
MIDIファイルを解析して、トラック毎のMIDIメッセージに分割します。

(3) MultiToSingle.java
マルチトラックをシングルトラックに変換します。

(4) ParseMessage.java
(5) ParseList.java
(6) MidiMessage.java
(7) MidiList
MIDIメッセージを格納するコンテナです。

(8) ParserAsyncTask.java
MIDIファイルの解析に時間がかかるので、非同期タスクで実行します。

(9) MidiPlayer.java
MIDIメッセージを順番に実行します。

(10) MainActivity.java
メインのクラスです。

ビルドするには USB-MIDI-Driver が必要です。

実行する
MIDIメッセージを表示します。

20131220evy1sample3

参考
eVY1シールド – スイッチサイエンス
USB-MIDI-Driver
故郷(ふるさと)(スタンダードMIDIファイル)
We wish you a Merry Christmas (スタンダードMIDIファイル)
SMF ( Standard MIDI File ) – wikipedia


コメントを残す

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