Image: DOSBoxから外部MIDI音源にMIDI出力

DOSBoxからPCに接続したMIDIインターフェースなどを介して外部機器にMIDIデータを送る方法。

DOSBoxにはMPU-401エミュレーション機能がある。MPU-401はDOS時代に標準的に使われたMIDIインターフェース。これを使えばDOSBox上のアプリケーションからホストPCのMIDIインターフェースにMIDI出力ができる。(MIDI入力はできない。)
必要なものはホストPCに接続するMIDIインターフェースとMT-32,SC-55,SC-88などのMIDI音源。

1. ホストのPCに(USB)MIDIインターフェースとMIDI機器を接続する。

2. MIDIデバイスのIDを調べる。

DOSBoxを起動する。(日本語DOSへのディスクブートをする前の状態で。)コマンドラインで「mixer /listmidi」を実行する。

ホストPCのMIDIデバイスのIDと名前の一覧が表示される。Microsoft GS Wavetable SynthはWindows標準のMIDI音源エミュレーション機能であり、MIDIインターフェースではない。ここではUM-1の"0"をメモしておく。

3. DOSBoxの設定ファイルを編集する。

DOSBoxのインストール先ディレクトリを開いて「DOSBox 0.74 Options.bat」を実行する。メモ帳でdosbox-0.74.confが開かれる。[midi]セクションの「midiconfig=」を「midiconfig=[id]」に書き換える。今回の例では「midiconfig=0」になる。書き換えたらファイルを保存する。

DOSBoxに対する設定はこれで完了。DOS上ではWindowsのようなMIDIに関する共通の枠組み(デバイスドライバやAPI)は存在しない。つまり、MIDIの制御方法はソフトウェア毎に異なり、設定方法もまた異なる。共通するのはI/Oポートベースアドレスと割り込み番号(IRQ)を指定する点。DOSBoxのMPU-401インターフェースは標準設定と同じで、I/Oポートを330h、割り込み番号を2および9に指定する。(PC/AT互換機においてIRQ2とIRQ9は同じ1つの割り込みである。)

IBM版日本語MS-Windows Ver.3.1での設定方法は以下の通り。

まずWindowsを起動してコントロールパネルから「ドライバ」を開く。「ドライバ」ウィンドウが開いたら「追加」ボタンをクリック。「Roland MPU401 MIDI Driver」を選択する。
ドライバの追加

Portは330、Interruptは2/9を選択する。
MPU-401 and Compatible Setup

設定を完了すると再起動を要求されるので、再起動する。コントロールパネルを開いて「MIDIマッパー」を開き、「新規」ボタンをクリック。
コントロールパネル - MIDI mapper

名前や解説は適当に決める。全てのチャンネルのポート名を「Roland MPU-401 MIDI Out Port」に変更する。
MIDI Channel Map

Windows共通設定(MIDIマッパー)に対する設定はこれで完了。DTMソフトなど、一部のソフトウェアでは独自のMIDIマップ設定を用いることがある。その場合は各ソフトウェアで設定を行う。例えばSinger Song Writer Audio for Windowsの場合は、メニューバーの「MIDI・Wave」から「MIDIポートの設定」を開く。
Singer Song Writer Audio for Windows


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!