Arduino で MIDI 制御
Arduino による MIDI 機器の制御は恐ろしく簡単に実現できる。例えばこんな感じで……
ケーブルの加工
不要な MIDI ケーブルを切断してピンヘッダをハンダ付けする。 MIDI では 5 ピン DIN コネクターのうち 2, 4, 5 番のピンしか使用しない(下図参照)。テスターを使って各ピンと繋がる線を特定する。
プログラム
以下のプログラムではオクターブ1から6の間の「ド」を順に鳴らしてリピートする。
void setup() { Serial.begin(31250); sendMidi(0xb0, 0x78, 0); // all sound off } void loop() { for (int i = 1; i < 7; ++i) { int note = 12 * i; sendMidi(0x90, note, 100); // note on delay(300); sendMidi(0x80, note, 100); // note off } } void sendMidi(char stat, char data1, char data2) { Serial.print(stat, BYTE); Serial.print(data1, BYTE); Serial.print(data2, BYTE); }
動かしてみる
下の写真は Arduino Pro Mini を使って組んでみたテスト回路。スイッチサイエンスの単三電池2本で5V出力する電池ボックスを使って電池駆動させている。これだけ小さな仕掛けで MIDI 制御ができると,それだけでちょっと面白くなってくる。
せっかくなので,もう少し複雑なことをやってみようと思う。