Raspberry Piを楽器、キーボード、PCとMIDIでつなぐ方法を場合分けしてまとめてみました。
Raspberry Pi ZeroをOTGモードを使って、PCからMIDIデバイスとして認識できるように設定します。
Raspberry Pi のUARTとMIDIシールドのUARTを接続して、5pin DINのMIDIを送受信します。
Raspberry PiをrtpMIDIでPCにつなぎます。具体的には、Raspberry PiにつながっているMIDI機器のMIDIを、 Raspberry PiとPCをrtpMIDIで転送します。
Raspbedrry PiのオーディオとMIDIをいじっていて、ハマってしまったことがいくつかありましたので記載しておきます。
LinuxでMIDIを扱うALSAのインターフェースは2種類あります。rawmidiとMIDIシーケンサーです。 これらのインターフェースを使ってMIDIの送信、受信するプログラムを作ってみます。 Raspberry Pi でも使えます。
Raspberry Pi に OSをRaspberry Pi Imager を使ってインストールします。
Raspberry Pi 2/3/4 に Ubuntu Server 20.4をインストールして、 MIDIのプログラムを書くまでの初期設定を記載します。
信号発生器AD9833をRaspberry Piに接続して鳴らします。 WiringPiライブラリのSPI通信で制御します。 AD9833はAmazonで購入できる信号発生器です。
Adafruit MCP9808は高精度な温度計です。インターフェースはI2Cです。 このモジュールをRaspberry Pi Zeroに接続し、WiringPiライブラリを使って動作させます。
Adafruit 8x8 Bi-Color LED MatrixをRaspberry Pi Zeroに接続し、 WiringPiライブラリを使って動作させます。 Bi-Colorは、2色(赤と緑)を意味しています。 HT16K33 はLEDのドライバのチップの名前です。