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


20131220evy1

evocaloid_smf.ino を Android に移植したものです。
SMF ( Standard MIDI File ) シングルトラックを演奏します。
Android 端末の USB-HOST 機能を使っています。

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

ソースコードの簡単な解説
(1) MidiFile.java
assets にある MIDI ファイルを読み込みます。
evocaloid_smf.ino ではハードコーデングされています。
JAVA で記述したら、64KBの壁でぶつかりました。
テキストファイルにして、外出ししました。

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

(3) MidiMessage.java
1つのMIDIメッセージを格納するコンテナです。

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

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

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

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

20131220evy1sample2

参考
eVY1シールド – スイッチサイエンス
スタンダードMIDIファイルで歌うサンプルスケッチ evocaloid_smf.ino
USB-MIDI-Driver
SMF ( Standard MIDI File ) – wikipedia


コメントを残す

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