LITZHAUS[○TOP][○シンセサイザ技術][○CMU-800関連][○DCB関連][○電子楽器・電子工作等]
[○さるべーじ][○ばいく][●リンクなど][戻る]
2005/5/29

DCBメモ

JUNO60を入手したので、MIDI->DCBコンバーターでも作ろうかと思ったのですが、探しても情報が見つからなかったので調べてみました。
図が本体側のDCB周りの大まかな構成です。8251の同期モードで動いているようです。クロックは、内部で1/64にしているようで、31.25bpsのと、MIDIと同じタイミングです。
同期モードが使えるシリアルコントローラ付のマイコンで比較的簡単にコントロール出来そうです。実験では、手元にあったH8Tinyに、74LS00で作ったインバータを付けて動かせました。
DCB
データ仕様

HeaderVoice1Voice2Voice3Voice4Voice5Voice6
0xFExxxxxxxxxxxx
ノートONは、データは0xFEに続けて各ボイスのノート番号+0x80を送ります。ノートoffは、0x7F以下の値を入れます。ノート番号はMIDIと同じで、C0->0x00から始まります。
たとえば、C4、E4、G4を鳴らして、次にG4を離して、最後に全部離す場合は、
0xFE-0xB0-0xB4-0xB7-0x00-0x00-0x00
0xFE-0xB0-0xB4-0x00-0x00-0x00-0x00
0xFE-0x00-0x00-0x00-0x00-0x00-0x00
という具合に送ります。実際はノートoffはbit7を落とせば良いので0x00で無くても良いです。本体の出力では、直前のノート番号のbit7を0にしたものが出力されています。
データの並びとボイス番号が1対1で対応しているので、ボイスアサインはコントロールする側で面倒みる必要があります。
JUNO60では6ボイス分送受信していますが、Jupiter8では違うのではないかと思います。実機が無いのでよく分かりませんが、8ボイス分送受信しているのでしょうか?
以上のように非常にシンプルなデータなので、比較的簡単にMIDI->DCBコンバータを作ることが出来そうです。
今回もH8を使う予定ですが、PICなんかで十分っぽいです。

次回は、MIDI->DCBコンバータの試作機が出来る予定です。

2005/06/02 補足
なんか違うかもしれない。上の形式でも動くけど、8ボイス分送っても後ろの音が出るし、データ列とボイス番号が1対1で対応しているわけでは無いような感じ。ただ、JUNOが上のようなデータしか吐いてくれないから良く分からないです。現状、面倒くさいから、RX Readyを見ないでデータ送ってるから変なのかな?
謎は深まるばかり…DCBのデータ形式知ってる人いたら教えてもらえるととても嬉しいです。
とりあえず、MIDI->DCBの変換を試作してみます。
Juno

このサイトは特に断りのあるコンテンツを除きリンク・転載フリーです。うるさい事は言いません。

しょんぼりかうんたー
(c)1995-2017 LITZHAUS