MIDI to Arduino

使い方

MIDIファイルを入力すると、ArduinoのTone関数の出力形式に変換します。
フォーマット0、(Arduinoの仕様上)和音のないトラックのみ対応。テンポの変更、ノートオン、ノートオフを検知。

入力(MIDI形式)

ダンプ表示

出力(Arduino形式)

全体コード(例)

#define SP1 12
int beatLen;
void setup() {
    pinMode(SP1, OUTPUT);
    play();
}

void loop() {}

void myTone(int noteNum) {
    noTone(SP1);
    tone(SP1, 440*pow(2, (noteNum-57)/12.0));
}

void myDelay(float len) {
    delay(len*beatLen);
}