なんかすぐに音、出た。
前回
MacでArduinoをUSBMIDIデバイスにするまで
いよいよMIDI信号の制御に挑戦…
このちっちゃーなマイコンチップにプログラムを書き込んで
MIDI信号を送信、それをMacで受け取って発音。
今日はそこまでやってみようそうしよう。
「MIDI信号を送る」と簡単に書いたものの、
普通それをするためには常人には理解不能な
MIDI信号の中身について理解して、
正しいタイミングで正しい信号を送る、という
プログラムをかけなければならない…。
が、すばらしきかなオープンソースの世界。
MIDI信号を扱うためのライブラリが公開されている。
Arduino MIDI Library
こいつをArduinoのソフトのライブラリに読み込ませて、
スケッチ(Arduinoではプログラムのことをそう言うらしい)
上で読み込めば簡単にMIDI信号の制御ができるそうな。
ありがとう先人、ありがとうArduino。
というわけでやってみよう。
#includeMIDI_CREATE_DEFAULT_INSTANCE(); void setup() { MIDI.begin(); } void loop() { // play notes from F#-0 (0x1E) to F#-5 (0x5A): MIDI.sendNoteOn(36,100,1); //Note No 36をオンベロシティ100,1chで送信 delay(1000); //1秒待つ MIDI.sendNoteOn(40,100,1); //Note No 40をオンベロシティ100,1chで送信 delay(1000); //1秒待つ }
すっげえシンプルなコード…
ノートナンバー36を送信して1秒待って、
ノートナンバー40を送信して1秒待つ。
その繰り返し。
2行目の
MIDI_CREATE_DEFAULT_INSTANCE();
は、古いスケッチだと記述がないんだけど、
現行のArduinoだとこれがないとエラーに
なるので要注意。なぜかは知らん。
MacでDAWを立ち上げて、適当なドラム音源を立ち上げて
受信状態にすると…
※デフォルトでは音を消しているので音が出せる人は
右下をクリックして音を出してください。
いとも簡単に音が出てしまった!
こんなに簡単でいいのかという位。
マイコンからの命令でMIDI送信ができたので、
次はいよいよスイッチを使ってのMIDI制御に挑戦、予定。
挑戦した→Arduino de MIDI楽器 2 圧電ブザーでMIDI送信
〈Arduino関連〉Arduino UNO |
コメントを残す