シリアル通信でMIDIデータを送信してメガドライブの内蔵音源を鳴らす
前回メガドライブでシリアル通信が利用出来る環境を用意しました。
今回はシリアル通信を使ってメガドライブにMIDIデータを送信し、内蔵音源を鳴らします。
■MIDIの通信速度について
MIDIの通信速度は31250bpsですが、メガドライブのハードウェアで対応しているゲームパッド端子のシリアル通信速度は最大で4800bpsです。
速度が違うのでそのままではMIDIデータの通信が出来ません。
MIDIの通信速度を4800bpsに落とすには、PCソフトのHairless MIDI Serial BridgeやArduino等のマイコンを使う必要があります。
通信速度の違いにより重いMIDIデータを通信すると遅延が大きく発生してしまいますが、リアルタイムでの鍵盤演奏などの軽いデータの利用であれば個人的には遅延は殆ど感じませんでした。
■必要なもの
・ゲームパッド端子のMIDI通信に対応したメガドライブのソフトウェア
・MIDIキーボードなどのMIDIコントローラ、あるいはMIDIを送信するPCのソフトウェア
・MIDIをCOMポートのシリアル通信に変換するHairless MIDI<->Serial Bridge
●例としてPCにMIDIキーボードを接続し、Hairless MIDI Serial BridgeでCOMポートにMIDIデータを送信してメガドライブと通信する手順を説明します。
1、PCにMIDIキーボードを接続します。
2、PCに前回用意したメガドライブとPCを接続する機材一式を接続します。
3、メガドライブにゲームパッド端子のMIDI通信に対応したカートリッジを差し込み起動します。
4、Hairless MIDI Serial Bridgeを起動します。
Serial portにUSB TTL シリアルコンバータのCOMポートを設定。
MIDI Inに接続したMIDIキーボードを設定。
File->Preferences...をクリックしてSettings画面を表示する。
Serial Port SettingsのBaud rateを4800に設定する。
5、 MIDIキーボードの鍵盤で演奏する。
以上でPCに接続したMIDIキーボードでシリアル通信で接続されたメガドライブの内蔵音源を鳴らす事が出来ます。
今回使ったHairless MIDI Serial Bridgeと、さらにloopMIDIを使えばTMIDI PlayerなどのMIDIデータ再生ソフトを利用する事も出来ます。
●ゲームパッド端子のMIDI通信に対応したソフトウェアのダウンロード
POLYDRIVE (ポリドライブ)
ver 0.11 Beta
このソフトはメガドライブ本体に内蔵されているFM音源(YM2612、同時発音数6)を利用した演奏ソフトです。
2Pのゲームパッド端子(4800bps)を利用したMIDIデータの通信に対応しています。
1Pゲームパッドを使って設定の変更、簡易的な演奏が出来ます
■更新履歴
ver 0.1beta
・初公開
ver 0.11beta
・Velocity追加
・Velocityに合わせる為キャリアの値を変更
・キャリアの値が固定値になっていた不具合を修正