初版作成日2004年2月21日
最終更新日2008年08月13日

  Top Studio Labo. Music Blog Link  

 

AMDEK(Roland DG) CMU-800のMIDI化改造■

このページの情報については、内容が相当古くなっています。新たに実験される方は、AVRマイコン(ATmega168)を使用した改良バージョンのCMU-800MIDI改造ドキュメント | RJBlogをなるべく参照するようお願いします。

また、このページの情報については、個人利用のみとし、商用利用を禁じます。

きっかけ

 CV-GATEインターフェースのアナログシンセをMIDIで制御するために、MIDI-CVコンバーターなるものを探していましたが、KENTON製などは結構高価で購入を迷っているところでした。そんな矢先、某オークションサイトでCMU-800が格安で出品されていて、「懐かしいな〜。でもこんなもの使う人なんていないだろうな。」なんて思いつつ眺めていましたが、「これをMIDI改造したら?」ということで、MIDI化に挑戦してみることにしました。


CMU-800について

 AMDEK(現Roland DG)から1982年に発売され、当時のPC-8001やMZ-80などの8bitパソコンでシンセサイザーや内蔵音源を制御する、今で言うDTM端末の原型みたいな製品で、当時としては画期的な製品でした。CMU-800の主なスペックは、次のとおりです。

  • CV, GATE出力 1〜8ch(8chはポルタメント付き)
  • 内蔵音源 メロディー、ベース、コード(4音)、リズム(7種類)

2台のCMU-800
奥側がAMDEKブランド、手前がRoland DGブランド
スペックに違いはない

左下の黒いのは、MZ-80K用のインターフェース

CMU-800のリアパネル
8chのCV、GATE出力と内蔵音源出力端子がある。
音源出力は、メロディ、ベース、コード、リズムの独立出力と、すべてをMIXしたものが出力可能である。
この写真は、すでにMIDI化したもの。もともとは、MIDI端子を取り付けたところからは、コンピュータに接続するためのフラットケーブルが出ていた。

MIDI化KITスペック

 MIDI化改造に当たっては、コンセプト及びスペックを次のようにしました。

  • ローコストでかつシンプル。
  • MIDI化KITは、本体に完全に内蔵させ、できる限り、本体の改造は少なくする。
  • MIDIの1〜8chをCV、GATEの1〜8chに対応させる。
  • MIDIの1〜6chを内蔵音源のメロディ、ベース、コード(4音)に対応させる。
  • リズム音源はMIDI10ch、GMマップを使用する。
  • CMU-800のTEMPOコントールは使用しない。
  • MC-4やTR-808等を制御できるように、DIN SYNC出力をつける。(MIDIタイミングクロックに同期)

MIDI化KIT

 本体への内蔵を考慮して、PIC(16F876)を使った、できる限りシンプルな構成にしました。MIDI信号はフォトカプラで受けたあと、PICのUSART機能によって受信します。PICのPORTAはDIN SYNC出力とLEDインジケータ、PORTBはCMU-800のデータバス、PORTCはアドレスバス制御に使用することにしました。
[2004-04-17] SYNCOUT回路を修正しました。

MDI化KIT回路図(PDF)


MIDI化KIT基板 部品面

MIDI化KIT基板 パターン面

CMU-800に実装

 こんな感じで、実装してみました。

MIDI化KIT基板は、CMU-800内部基板の外部インターフェース用フラットケーブルを取り外し、そこに直接実装しました。

MIDI化KIT基板とインターフェースコネクタとの配線状況
MIDI入力(右)とDIN SYNC出力(左)端子
緑のLEDはNOTE ON/OFFを受信すると点灯
赤のLEDはUSARTのエラー等で点灯  

PICプログラム

 PICのプログラムは初心者レベルですが、なんとか動いているようです。開発は、フリーで使えるMPASMを使いました。MIDIの受信部分は、USARTの機能をそのまま使用し、メインループの中でポーリングしています。一応、ランニングステータスなんかも大丈夫と思いますが、2つ以上のキーが同時に押されいる状態を的確に処理する部分がまだ未完です。
 CMU-800のメロディやベース音等は、8253の矩形波レートジェネレータ(モード3)により発生させています。このとき、各ノート番号に応じて8253の分周比を2バイトで設定する必要があるのですが、少ないPICの命令でこの2バイトの分周比を計算させる技は私にはなかったので、あらかじめ分周比テーブルを作成し、PICのEEPROM領域に保存することにしました。リズム音は、NOTE ONメッセージしか使ってませんので、PICのタイマ割り込みを使って、リズム音発生回路に一定の幅のパルスを与えることにしました。
[2004-04-17] SYNCOUT回路の修正に伴いプログラムの一部修正をしました。

まだアルファ版です。(だれかバグ取りして〜)

CMU-800 MIDI Kit プログラム 16F876.ASM

CMU-800 MIDI Kit プログラム 16F876.HEX


MIDI化CMU-800デモ

 MIDI化したCMU-800を使った簡単なデモです。CMU-800の内蔵音源だけを使用しています。何ともチープな音です。
リズム隊をYMO調にしてみました・・・。

CMU-800 Demo (mp3)

 


Laboratoryに戻る

トップに戻る


©2004 RJB. All rights reserved