ラズパイでUSBのMIDIキーボードの入力データをMIDI端子から出力させる

明けましておめでとうございます。 例年は、昨年の振り返り・今年の抱負からブログを始めていたんですが、昨年はブログが停滞してしまったりすっきりしない1年になってしまったので、今年は変えていこう・ペースを戻そうと思い、書けることを先に書いてみようと思います。

今日は冬休みの自由研究ということで、USBのMIDIキーボードからのMIDI入力をラズパイで変換して、MIDIインターフェースのMIDI OUTから出力させる仕組みを作ってみました。

f:id:toguo:20220102210211j:plain

手順は簡単で、恐らくどのRaspberry Piでも用意できると思います。今回は最初は場所も取らないのでRaspberry Pi ZEROで作ろうと思いましたが、USBポートが少なくて変換端子を買う必要があるので余っていたRaspberry Pi2を使いました。

OSのインストール

GUIは特に使わないので、Raspberry Pi OS Liteをインストールしました。インストールが出来たらソフトウェアを最新に。

sudo apt update
sudo apt update

MIDI機器の認識・設定

参考にしたのはこちらの記事

www.dm9records.com qiita.com

今回使ったMIDIキーボードはKORGのnanoKEY2とAmazonで買ったMIDIインターフェースです。

参考記事に書いてあるコマンドを実行してみると、

  • KORG nanoKEY2→nanoKEY2
  • MIDIインターフェース→CH345

という品番で認識されていたので、以下のコマンドを実行すると標準で用意されているドライバーでMIDIの配線が設定されます。

aconnect nanoKEY2 CH345

クライアント名で登録することによって、どのUSB端子に繋いでも問題なく認識されるようになりました。 ただこの方法だと毎回ラズパイを起動したら、ログインしてコマンドを実行する必要があるので、もう少し準備をしてみました。

自動ログイン・自動MIDI設定

下の記事のように、ラズパイの自動ログイン機能を有効にします。

manumaruscript.com

後は、piユーザーのホームフォルダにある.bashrcに

aconnect nanoKEY2 CH345

を書き加えて保存。

これで起動すれば自動的に使えるようになりました。 シャットダウンはまあOSが壊れないでしょうということで、終了時はラズパイの電源をぶっこ抜くという荒っぽい運用で行こうと思います。

これで昔のシンセサイザーを鳴らすために、わざわざ昔のMIDI端子時代の入力キーボードを使う必要もなくなり、nanoKEY2のコンパクトな環境を実現することが出来ました。

可能であれば、3DプリンターでnanoKEY2の下にラズパイやバッテリーを入れるケースを作るのが次の目標かなと思います。