mbed版 MIDI USBホスト
LPC1768版のmbedにはUSBホストコントローラが内蔵されており、当然MIDI USBホストとしての応用が考えられます。そこでmbed.orgのクックブックで公開されているBlueUSBに若干の手を加えることで、簡単にmbed版のMIDI USBホスト機能が実装できましたのでご紹介します。
LPC1768版のmbedにはUSBホストコントローラが内蔵されており、当然MIDI USBホストとしての応用が考えられます。そこでmbed.orgのクックブックで公開されているBlueUSBに若干の手を加えることで、簡単にmbed版のMIDI USBホスト機能が実装できましたのでご紹介します。
試作中のKAMUIの回路図等がようやく整理できたのでとりあえず公開します。
これで、なんとなくKAMUIのイメージを掴んで頂けるかな…と思います。
さすがにmbedのI/Oだけでは足りないので、ATmega328Pを簡易なSPI制御のI/Oエクスパンダとして使っています。
基板のガーバーデータも公開しますが、なにぶん素人のアートワークなのであしからず。
肝心のmbedのサンプルアプリケーションはまだまだですが、ある程度形になりましたらmbed.orgの方でも整理の上、公開したいと考えています。
※ 回路図の一部修正と部品表をアップしました(2012/4/22)
試作中のmbedベースボード「KAMUI」のサンプルアプリケーションとして、OSC(Open Sound Control)-CV/GATE(OSCサーバー)の実験をしてみました。
なお、OSCメッセージの生成には、Puredata(Pd-extended )を使用しています。
今回はとりあえずCVとGATEメッセージを受け付けるようにしてみました。
/kamui/cv[n] 1.2345 (n:1〜8)
/kamui/gate[m] 1 (m:1〜4)
CVは直接、-10.667〜+10.667Vの電圧値(float)を指定します。
GATEは1でON、0でOFFとなります。
OSCメッセージはmbedのプログラム次第で好きなようにインプリメントできるため、たとえばMIDIノート番号を受け付けたり、CVチャンネル毎にモジュレーション量や周波数などのパラメータを与えるなどの応用も可能と思います。(/kamui/cv1/freqencyとか)
# デジカメを持ちながら操作しているので映像がブレブレ(^_^;
昨年末ぐらいからtwitter上ではブツブツと呟いてましたが、mbedをベースにした主にアナログシンセ用のインターフェース実験基板を試作してみました。
様々な機器への接続や実験ができるようにCV、GATE、DIN SYNCなどのインターフェースを搭載しましたが、何に使うかはmbedのプログラム次第です。
主なスペックはこんな感じです。
mbedはLPC1768だけではなく、LAN等が使えませんがCortex-M0を搭載したLPC11U24も使用可能です。
手書きの汚い図面ですが、ブロック図はこんな感じです。
KAMUI Block Diagram (pdf)
<アプリケーション例>
CV分解能が1.3mV程度なので、Oct/VだけでなくHz/Vのシンセでも5〜6オクターブぐらいは実用になるではと思います。さらに同じタイプの16bitDACを取り付ければ分解能は上がりますが、DACの精度やノイズレベル等を考えればあまり意味が無いかなと思われます。
写真を見ておわかりと思いますが、今回製作した基板にはアートワークに大きなミスがあって、UEW線で補修してたりします。他にも幾つかミスが…(^_^;
# 現時点では、試作段階ですので基板の頒布等はしておりません
Interface誌2009年5月号のLPC2388付録基板を使って、 USB MIDIからシリアル(レガシー?)MIDIへの変換ブリッジの実験をしてみました。(以前、アナログシンセ掲示板で議論されていたアイデアです)
とりあえず、AKAI LPK25とKORG nanoKEYにて動作が確認できました。(無保証ですが…)
