« KAMUIサンプルアプリケーション | トップ

mbed版 MIDI USBホスト

LPC1768版のmbedにはUSBホストコントローラが内蔵されており、当然MIDI USBホストとしての応用が考えられます。そこでmbed.orgのクックブックで公開されているBlueUSBに若干の手を加えることで、簡単にmbed版のMIDI USBホスト機能が実装できましたのでご紹介します。

MIDI USBホストの実験プログラムはmbed.orgで公開しています。

  • MIDI_BlueUSB
    オリジナルのBlueUSBはUSBデバイスが接続されるとデバイスorインタフェースディスクリプタ等を読み込みますが、MIDIデバイスについては接続時の処理ルーチンが無いためそのままでは機能しません。
    そこで、AutoEvents.cppにインターフェースディスクリプタがAUDIOクラスかつサブクラスがMIDIストリームの場合「MIDIデバイスが接続された」と判断する処理を追加し、MidiUSB.cppでMIDIストリーム用のエンドポイントを確認後、バルク転送によってMIDIストリームを取得するようにしました。

    実験ハードウェアはmbedにUSBホスト用コネクタとシリアル出力(p9)にMIDIコネクタを接続するだけですが、mbed用評価ベースボードのStarBoard Orengeを利用するともっと簡単に実験できます。

  • mbed_MIDI_USB_HOST.pdf

    手持ちの関係でAKAI LPK-25とKORG nanoKEYでしか動作確認ができてませんが、BlueUSBの機能によりUSBハブ経由での接続についても確認できました。

    さらに、このMIDI USBホストを応用してKAMUI用の実験アプリも作成してみました。これはUSB MIDIキーボードの演奏データをそのままCV/GATE信号に変換するものです。

  • KAMUI_USBHOST_MIDI-CV_Example

    実験動画 - KAMUI DEMO1

    最後の3:25以降がnanoKEYによるUSBホストMIDI-CVの実験です。

  • « KAMUIサンプルアプリケーション | トップ