V-USB-MIDIでPSG
V-USB-MIDIでPSG
V-USB-MIDIで制御するPSG(Program Sound Generator)
1.はじめに
秋月で売っているYMZ-294(PSG)をV-USBスタックを使って制御するMIDI音源です。USBまわりはGingerと同じなので、ginger-psgと呼ぶことにしました。【ginger-psg】(2009年1月)
Genieさんの設計によるArduino用のPSG Shield+Monaka-Shield基板に移植しました。【PSG Shield版】(2010年8月15日)
どちらも、V-USB-MIDIを使っています。V-USBはソフトウエアのみでUSBスタックを実装した、素晴らしいソフトウエアですが、更にV-USB上にMIDIを実装することで、ホスト側からはStandard MIDI デバイスとして認識され、OS標準のドライバを使うことでドライバの新規インストールは不要です。
2.特徴
2.1 ginger-psg: オリジナルのPSG2音源版
•V-USB-MIDIのソフトウエアスタックを使い、AVRのみでUSBを実現しています。
•PSGを2本使って、6音同時発声可能です。発声は後着優先です。
•V-USB-MIDIのおかげでパソコン側はドライバ要らずに認識されます。
•現在のバージョンではNOTE ON/OFFのみ実装しています。
2.2 PSG Shield版
•PSG Shield + Monaka-Shield基板と組み合わせてUSB-MIDIデバイス化します。
•Monaka-Sheidl基板はV-USBのための回路を流用しています。
•PSGは一本で、3音同時発声可能です。
※その他の特徴はginger-psgと同じです。
【PSG Shield版の注意点】
•本ソフトはArduinoに搭載されているFTDI社のシリアル-USBブリッジを使うものではありません。
•FTDI社のブリッジを使う場合、パソコン側でMIDIとのソフトウエア・ブリッジが必要になります。
•Monaka-Sheild基板を流用していますが、Monakaのソフトウエアとは別のものです。
•Arduinoのブートローダとも互換性がありませんので、じかにブートする設定をして下さい。
3.回路
【ginger-psg: オリジナルのPSG2音源版】
PSGの割り当ては次のようになっています。
・DATA : PC0-PC3, PD4-PD7
・AD: PD3
・/CS, /WR (PSG0):PC4
・/CS, /WR (PSG1):PC5
・モニタ用LED:PB5
詳しくは、回路図を参照下さい。
【PSG Shield版】
•一カ所だけPSG Shieldにハードウエアのパッチが必要です。
PSGのデータ線をD2->D1に変更して下さい。
•誤操作を防ぐためリセットスイッチは実装しないことをお勧めします。
リセットすると、ホストとのUSB接続が切断されます。
※ 回路図はhttp://shield.io/psgから引用させて頂きました。
4.制限と今後の発展
•ピッチベンド、エンベローブ、ノイズ発生などの機能を実装をする予定です。
•仕様検討中。
5.写真
【PSG Shield版】
6.謝辞
ginger-psg作成にあたりアルゴ算法堂さんにアドバイス頂きました。
PSG Shield基板Rev.Aおよびパーツの一部をGenieさんから提供して頂きました。
ありがとうございます。
7.ダウンロード
2010年8月15日 ベータ版 ( ginger-psg-100815.tgz )