USB MIDI インタフェース (温度補償対応)

はじめに

SX-150 への MIDI インタフェース追加は、すでに作例が多く出ています。
その中で、もあさんPepper MIDI を利用した作例を紹介します。

Pepper MIDI は汎用の 8pin AVR (ATTiny45とか) マイコン基板を利用した USB MIDI インタフェース(で、あってますよね??)で、下のような理由で使わせていただきました

この作例では、Pepper MIDI に少々改造を加えて、前項の温度補償改造版の SX-150 ににフィッティングさせました。

ハードウェア

実装方法については、もあさんのPepper MIDI 解説に従っています。

アナログ部は、両面ユニバーサル基板を小さく切って実装。 小型化のためにLED を外したり、手持ちのピンヘッダのピン数が足りなくなって Vcc をアナログ部に入れなかったりと、少しアレンジしていますが、解説のとおり実装しても問題ありません。 さらに小さくするために、抵抗にはチップ部品を使いました。 下の写真は、左がマイコン部で、右がアナログ部です。 ちなみに、アナログ部は、裏面にも配線があるので、こちら面だけを写真からコピーしても動きません。 難しい回路ではないので、写真を参考にして独自実装してみてください。

ケースの加工は、今回は行いませんでした。この改造機は、このあと、友人にバトンタッチしてさらなる改造がかかる予定で、筐体加工のバランスはそちらにお任せ、ということにしました。

ソフトウェア

前項で書いたのですが、SX-150 に追加した温度補償回路の影響なのか、VCO の特性なのか、 温度補償改造版の SX-150 は、高域でピッチが下がり気味になってしまいます。 このため、Pepper MIDI のオリジナルのソフトウェアをそのまま使うと、高域で音痴になってしまいます。 これを補正するために、Pepper MIDI ソフトウェアに改造を加えました。

具体的には、CV の電圧計算部で、ノート番号と CV の対応が、高域のみ二時曲線になっています。通常は一次曲線で計算します。

変更は、MIDI デコード部のプログラム main.c のみです。 ライセンスは LGPL のようなので、コピーして公開させていただきました。

main.c プログラム
フルパッケージ (ファームウェアを含む)

まだちょっと音痴かもしれませんが、まあ、それも楽器の味、ということでご容赦 :-)

使ってみよう

正しく組みあがっていれば、PCに Pepper MIDI を USB 接続するだけで、MIDIオーディオデバイスとして認識されます。 デバイスドライバも汎用のものでOKです。 非常に簡単に動き始めました。

すばらしい設計を、ありがとうございます > もあさん