RPi Pico でMIDIキーボード

最終更新日

いつかは欲しい MIDI キーボード。

でも、どうせ弾けない(挫折済み)なので、プログラミングで解決する。

実際には、RPi Pico をMIDIキーボード(USB)にしてみる。

Pico の配線

GPIO2, GPIO3, GPIO4 にそれぞれスイッチを接続。
スイッチの反対側は、GNDに接続する。

これで、ソフトウェアPULL UPすれば、GPIOは、

  • スイッチ押下でFalse
  • スイッチフリーでTrue

となる。

MIDI Driver

CircuitPython のMIDIドライバを利用する。

ドキュメント

github

github から Code をzip download し、 adafruit_midi を Pico 上にコピーする。

サンプルプログラム1

GP2, GP3, GP4 を押すと、それぞれ C, D, E の音声が再生される。

サンプルの実行は、ampyで。

ampy -p /dev/tty.usbmodem1XXXXX run midi_01.py

MIDI 再生装置

あっさり、Macを使う。
ソフトウェアは、GarageBand。

GrageBand を起動して、楽器を選択していれば自動的にMIDIキーボードを検出して、反応してくれる。

再生動画

和音の再生

サンプルプログラム2

せっかくなので、和音を再生してみる。

ampy -p /dev/tty.usbmodem1XXXXX run midi_02.py

各キーに、C, G, Em を割り当てる。

GarageBand で打ち込むと、こんな感じ。

1番目のトラックは、各和音の再生開始時間が同じ。
2番目のトラックは、各和音の再生開始時間を0.11秒ずらしているので、ちょっとギターっぽい。

もちろん、キーの同時押し再生も可能。

このままアルペジオとかできそう。

シェアする