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秒ずらしているので、ちょっとギターっぽい。
もちろん、キーの同時押し再生も可能。
このままアルペジオとかできそう。