ArduinoでMIDIコントローラ


電子工作でLEDをチカらせた次は音を出したくなりませんか?

特に楽器なんてアコガレますよね

ということで!今回はタイトルにもあるようにMIDIコントローラを作ってみたいと思います!!


ArduinoといえばまずはUNOを扱う方が多いと思いますが、
“Arduino UNO MIDI”なんて検索すると何やら難しいことばかり…^^;;

みんなファームウェアとやらを書き換えたがる;;


でも実は他にも方法がありましたので暇人の備忘録^^
今回は macOSでの環境に依存してしまうのですが…


使ったもの

Arduino UNO と pro micro で確認済みです。

Hairless MIDI http://projectgus.github.io/hairless-midiserial/
※古いソフトですがバージョン10.13.6 High Sierraで動作確認済み
Windowsでは未検証ですがこれとは別に「仮想MIDIパススルードライバー 」が必要になると書かれています。


ソースコード

const int bouRate = 9600; //ボーレートの設定
const int note = 144;     //ノート・オン

void setup() {
  Serial.begin(bouRate);
}

void loop() {
  noteOn(note, 60, 100);
  delay(1000);
  noteOn(note, 60, 0); //velocity '0'でノート・オフ
  delay(1000);
}

//ノート・オン
void noteOn(byte cmd, byte pitch, byte velocity) {
  Serial.write(cmd);
  Serial.write(pitch);
  Serial.write(velocity);
}


仮想MIDIポート

Audio MIDI設定から MIDIスタジオを表示させIACを選択し、ポートが何もなければ追加する。


Hairless MIDI

ArduinoをPCに接続してから起動します。

Preferencesからボーレート(今回は 9600)に設定します。

Serial portにArduinoをMIDI OutにGarageBandなどを選択すると
今回の場合 ドー、ドー…のようになるはずです。


でわ、bye^^ @hasshie53