Arduino de MIDI楽器 1 まずは音を出せるようになろう

なんかすぐに音、出た。

前回
MacでArduinoをUSBMIDIデバイスにするまで

いよいよMIDI信号の制御に挑戦…

2015-05-21_19-58-35
このちっちゃーなマイコンチップにプログラムを書き込んで
MIDI信号を送信、それをMacで受け取って発音。
今日はそこまでやってみようそうしよう。

「MIDI信号を送る」と簡単に書いたものの、
普通それをするためには常人には理解不能な
MIDI信号の中身について理解して、
正しいタイミングで正しい信号を送る、という
プログラムをかけなければならない…。

が、すばらしきかなオープンソースの世界。
MIDI信号を扱うためのライブラリが公開されている。
Arduino MIDI Library

こいつをArduinoのソフトのライブラリに読み込ませて、
スケッチ(Arduinoではプログラムのことをそう言うらしい)
上で読み込めば簡単にMIDI信号の制御ができるそうな。
ありがとう先人、ありがとうArduino。

というわけでやってみよう。

#include 
MIDI_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

〈Arduino関連〉Arduino UNO
価格:3,326円(税込、送料別)

作成者: necobit(ねこびっと)

音楽と電子工作でMIDI寄りものづくりをするユニット。MIDI制御基板の開発・販売、製品作例として自動演奏化楽器の展示・音とメカのパフォーマンスを行なっています。

3件のコメント

MacでArduinoをUSBMIDIデバイスにするまで | へ返信する コメントをキャンセル

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください