ここまでは順調だったのですが Serial MIDI でつまづき
Serial MIDI は、レガシー MIDI の規格と違うのですね。不勉強でした。レガシー MIDI にしないとつなぐ機器がありません。
解決法を思案しています。今のところ思いついているのは2つ:
- USB MIDI -> レガシー MIDI 変換をするデバイスを作る
- Serial MIDI -> レガシー MIDI 変換をするデバイスを作る
もあさんの PepperMIDI をベースにできるならば 1. の方法のほうが良さそうです。
PepperMIDI の作りは、以前 SX-150 の MIDI/CV に使ったときにはあまり詳細を見なかったのですが、気になるのは
- クロックはどうなっているか?MIDI 信号を出すならクロックはそれなりに精度が必要
- Pepper MIDI がマイコンの UART 機能を使っていると、実装が面倒になる
の二点です。早速ソースコードをざっとチェック
クロックは RC クロックを USB 信号を基準にして 8.25MHz に校正するようです。よくできています。USB 信号の精度が MIDI クロックに使うのに十分なら、ここは問題ないはずです。
UART は、PepperMIDI で使われている ATTiny45 にそもそも用意されていないので、問題ないようです。
ということで、PepperMIDI の MIDI 受けの部分を ATTiny2313 に移植すれば USB MIDI -> レガシー MIDI 変換はやれそうと今のところ考えています。さてさてどうなることやら。あっ 2313 のプログラム領域に全部入りきるかも気にしないといけませんね。ATTiny45 を使うなら問題なさそうですが、シリアル通信プロトコルを実装するのがちょっと面倒かもしれません。あと、手持ちがない :-)
今度こそデバッグ機能が必要になるかな。AVR dragon の使い方を覚えなくては。近頃覚える必要のあることが多くてちょっと泣きそうです。
それにしても、PepperMIDI のコード、かっこいいです。とてもきれいに書かれています。
「aconnect」のログに ‘MPU-401 UART MIDI’ が現れていますから、すでにレガシー MIDI (31.5 kbps) のポートはあるはずです。
使っている PC に D-SUB 15 ピンのジョイスティック・ポート (黄色のコネクタ) がついていますよね? そこに、いわゆる「サウンドブラスター MIDI ケーブル」を接続して MIDI 機器につなぎます。
そのケーブルの写真は私の Web サイト「JO-MIDI-FM」に SB と GUS の2種類掲載しています。 現行品は YAMAHA と M-AUDIO から出ているようですが、3000 円程度と高いので、フォトカプラなどを使って自作することをお勧めします。
具体的には、D-SUB 15 ピンコネクタで
15 番ピンが RxD (MIDI デバイス -> PC 方向)
12 番ピンが TxD (PC -> MIDI デバイス 方向)
1 番ピンが +5V
4 番ピンが GND
になっています。
もっと詳しい情報はググれば見つけられるはずです。
あっ試してみますね。アドバイスありがとうございます
でも、今動かしているのは、テスト機で、本番機ではないのです。
本番機でどうかも確認してみます。