MDXデータの作成方法

今となっては失われつつあるMDXデータの作成方法を記載します。*1

MDXとは

MDXとはかつてSHARP X68000シリーズ用のFM音源ドライバとして栄華を誇ったMXDRVのデータ形式です。*2
GIMICのお試しファームウェアにはMXDRV互換ドライバ*3が組み込まれている為、S98ログを採取せずとも直接MDXデータを再生することが可能です。

このページではファームウェアに内蔵されたMXDRV互換ドライバを利用してOPMモジュールで楽曲を作成する為の解説を行います。

コンパイラ

MXDRVでの楽曲作成はMMLという言語(詳細は後述します)を用いて行いますが、テキストファイルに演奏情報を記載しコンパイラでMDXデータ形式へと変換を行う必要があります。
現存するコンパイラにはnote.xとmxc*4の2種類があります。note.xはmxcの上位互換コンパイラなので通常はnote.xを使えば問題無いはずです。

■note.xを使う場合

note.xはX68000のOSであるHuman68k用の実行ファイルである為、そのままではWindows上で動作させることができません。
そこでrun68というHumann68kのコマンドラインをエミュレーションするツールを併用して実行します。

■mxcを使う場合

mxcはNT系OSではコンソール表示が行われないので注意が必要です。

プレイヤ

現状、PC側からGIMICへMDXデータを直に転送して再生することができないので制作中の曲データの再生に使うことになります。
上記の他にもMDXプレイヤは存在していますが、エミュレーションの精度が低いのでRuRuRuさんのMDX/MDCinputをお勧めします。*5

foobar2000をインストールしたらC:\Program Files\foobar2000\componentsfoo_input_mdx.dllをコピーすればOKです。*6
foobar2000を起動したらFile→Preferencesを開いてMDX inputの設定を行ってください。

#ref(): File not found: "foobar2000.jpg" at page "MDXデータ作成"

SampleRate625000Hzを選択し、Use LPFのチェックを外して下さい。これでGIMICの音声出力に近い出音になります。

コンパイル環境の構築

例としてnote.xを使った場合の環境構築の方法を記載します。上記サイトからNOTE085.LZHrun68bin-009a-20090920.zipをダウンロードして解凍してください。

#ref(): File not found: "notex.jpg" at page "MDXデータ作成"

NOTE085.LZHに含まれるデータで必要なのはnote.xだけです。note.doc*7はMMLの仕様が記載されているマニュアルなので目を通しておきましょう。

#ref(): File not found: "run68.jpg" at page "MDXデータ作成"

run68bin-009a-20090920.zipに含まれるデータで必要なのはrun68.exerun68.iniだけです。

#ref(): File not found: "mxdrv.jpg" at page "MDXデータ作成"

note.xrun68.exerun68.iniを一つのフォルダの中にコピーします。Cドライブ直下にmxdrvというフォルダを作ってそこに入れるのが良いと思います。

後はコマンドラインで

run68 note.x コンパイルするファイル.MML

と入力することでMDXデータを作成できます(以下のような表示が行われます)

#ref(): File not found: "compile.jpg" at page "MDXデータ作成"

コンパイル後、即座にfoobarで曲を再生したい場合は以下のようなバッチファイルを用意すると良いでしょう。

"C:\Program Files\foobar2000\foobar2000.exe" /stop
run68 note.x コンパイルするファイル.MML
call "C:\Program Files\foobar2000\foobar2000.exe" "%~dp0再生するファイル.MDX"
pause

※foobarで該当MDXが再生中の場合、ファイルがロックされていてコンパイルに失敗するので事前に演奏を停止しています。

MMLとは

MMLとはMusicMacroLanguageの略で、演奏情報をテキストで表現する為の言語*8になります。

A @0o4v12l8 cdefgab>c

例えば上記はOPMのチャンネルA(8チャンネル中)で、音色番号0、オクターブ4(9段階中)、音量12(15段階中)、音長8分音符でドレミファソラシドを演奏することを表しています。

note.xのMML仕様


*1 筆者はX68000リアルタイム世代では無いので憶測で書いている部分があります。ご指摘はstella.cadente.xあっとgmail.comまでお願い致します。
*2 MXDRVは膨大な曲数を誇っていた為、本家X68000の他にもPC-98x1、PC-88VA、MSXなどへドライバが移植されました。
*3 MXDRV2.06+16相当
*4 こうのたけし氏のPC-98x1版を利用します。本家X68000用のmxcは現存していないようです。
*5 X68Sound.dllやfmgenを利用した物はハードウェアLFOの再現性に難があります。
*6 必要に応じてfoo_input_s98.dllも入れておくと良いでしょう
*7 .doc形式ですが実際にはただのテキストファイルなのでnote.txtとリネームしてメモ帳で開いてください。
*8 統一規格ではないので音源ドライバ毎に仕様は異なります。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS