信頼できる発行元

百均とジャンクコーナーと時々中華通販

Raspberry Pi PicoでUSB MIDIホスト変換をつくる

大変便利で気に入ってるMIDIコントローラーがある。接続はUSBのみで、昔ながらの5ピンDIN端子のMIDIには対応しておらず、直接シンセや音源モジュールに接続できない。

そういった場合にはPC経由で接続するか、お高い変換器を使うしかない。

マイコンボードなどを少しかじっている筆者としては、「こんな高いもの買えない!千円くらいで作れるんじゃないの?!」と思ったので調べてみた。

大変ありがたいプロジェクトを発見。Raspberry Pi PicoやRP2040搭載ボードをUSB MIDIホスト変換に使うというもの。

github.com

今回はこちらをビルドして書き込んでみた。

開発環境の構築

Raspberry Pi Picoの開発はいくつかの方法があるが、今回は一番プレーンでスタンダードなC/C++ SDKを使用する。

少し前まではWindowsでの開発環境の構築は面倒だったらしいが、今ではインストーラーで簡単に入れられるらしいのでこちらを使っていく。ここでは詳細な手順は省くので、不安な方は他でインストール方法を参照してほしい。

Raspberry Pi Pico Windows Installer - Raspberry Pi

やっていく

midi2usbhostの取得

midi2usbhostはGitHubで公開されているが、zipでダウンロードするとサブモジュールが取得されないので、gitコマンドを使う。「Pico - Developer PowerShell」ではgitコマンドが使える。今回はDocuments\Pico-v1.5.1\midi2usbhostに展開した。

git clone --recursive https://github.com/rppicomidi/midi2usbhost.git
ライブラリの更新

midi2usbhostのREADMEにある通り、TinyUSBライブラリを更新する必要がある。gitコマンドを使う方法が紹介されているが、zipで落として展開しよう。

github.com

SDKのインストール先

C:\Program Files\Raspberry Pi\Pico SDK v1.5.1\pico-sdk\lib\tinyusb

にTinyUSBがあるので、zipを展開して上書きする。

ビルドと書き込み

スタートメニューから「Pico - Visual Studio Code」を開く。初回起動時はなにやら色々なダイアログが出るが、たぶん全部はいで大丈夫。

VSCodeの「ファイル」メニューから「フォルダを開く」で先程展開したフォルダを開く。

画面下のステータスバーの「No active kit」をクリックし、「GCC なんちゃら arm-none-eabi」を選択。

画面左サイドバーのCMakeを開き、Build All Projectsをクリック。Outputに「[build] Build finished with exit code 0」と出力されたら完了。

ビルドが完了すると、buildフォルダ内に「midi2usbhost.uf2」が作成されるので、これをマイコンボードに書き込む。

マイコンボードをPCに接続し、BOOTを押しながらRESETを押すと、RPI-RP2と書かれたドライブが出現する。こちらに先程生成された「midi2usbhost.uf2」をドラッグアンドドロップでコピーする。書き込みは一瞬なので、一呼吸おいてから取り外そう。

結線

必要な部品

  • Raspberry Pi Pico(RP2040搭載互換ボードでも可)
  • 33Ω抵抗
  • 5ピンDINコネクタ or 3.5mmTRSコネクタ
  • USB OTGアダプタ

今回、マイコンボードはSeeed Studio XIAO RP2040を使用した。USBコネクタがType-Cで使いやすい(百均のOTGアダプタがそのまま使える)。

アリエクで300円の互換ボードはピンヘッダから入れた電源がUSBジャックから出なかったのでうまくいかなかった。おそらくちょっとした工作が必要だろう。

DINコネクタまたは3.5mmTRSコネクタを次の通り結線。

  • 9番ピン -[33Ω]- Sink(5またはTip)
  • GND - Shield(2またはSleeve)
  • Vcc(3.3V) -[33Ω]- Source(4またはRing)

さいごに

材料費2千円未満でUSB MIDIコントローラーをMIDIにする変換器ができた。お気に入りのnanoKEY2を接続して使用してみた。遅延はほとんど感じられない。

小さくて取り回しの良いnanoKEY2とガジェット系シンセの組み合わせの相性は抜群だ。