MDXデータの作成方法

このページではMXDRVのMDXデータを作成する為に必要最低限の手順を説明します。
ここで紹介するソフトの使い方はそれぞれのマニュアルを確認して下さい。
また紹介するソフトウェアの作者様は敬称略させて頂きます。

MDXとは

MDXとはSHARP X68000シリーズ用のFM音源ドライバMXDRVの曲データ形式です。

MXDRV 作者:milk, K.MAEKAWA, Yatsube, Missy.M

GIMICのスタンドアロンモードにはMXDRV再生エンジン*1が組み込まれている為、MDXデータを直接再生することが可能です。
また2014/07/25以降のファームウェアからはADPCMパートの演奏にも対応しました(2代目マザーボードPro版もしくはStd版が必要です)

MDXを作るには

MXDRVでの楽曲作成はMMLという言語を用いてテキストファイルに演奏情報を記載します。
ただしMXDRVはそのテキストファイルをそのまま演奏情報として解釈することはできませんので、コンパイラを使ってバイナリデータに変換し、
そのバイナリデータをMXDRVに渡すことによって演奏を行います。

MXDRVは様々な人が開発に携わってきた為か他の音源ドライバとは情勢が異なり、音源ドライバ作者以外が提供するコンパイラも存在します。
主なコンパイラは以下の通りです。

コンパイラ名アーカイブ名EX-PCM対応状況作者
mxc.xMXC101.LZH非対応MFS soft, milk.
note.xNOTE085.LZH対応DIS
tmc.xTMC105.LZH対応NORIKUN
tmc2.rTMC2.LZH対応NORIKUN
mac.xMADRV201.LZH対応Konoa
mxc.exeMXD2063.LZH対応こうのたけし

EX-PCMとはMXDRVにおいてADPCM(PCM)を8パート利用できる拡張機能に対応しているか否かを示しています。
GIMICでは2014/07/29以降のファームウェアからEX-PCM対応の曲データの演奏にも対応しています。

何を使えば良いか分からない場合はnote.xを使うと良いでしょう。

上記またこれから紹介するツールの拡張子が.Xまたは.RのファイルはX68000のOSであるHuman68k用の実行ファイルです。
そのままではWindows上で動作しないので、run68というHuman68kのコマンドラインをエミュレーションするツールを併用します。

同様に拡張子が.EXEまたは.COMのファイルはPC-98,PC/ATのMS-DOS用の実行ファイルです。
32bit Windowsであればそのまま動作しますが、64bit Windowsで動作させる場合はMS-DOS Player for Win32-x64が必要になります。

PDXとは

PDXとはADPCM(PCM)データを格納する為のデータ形式です。
初期のPDXは96個までのADPCM(PCM)データを格納することができます。後期のPDXでは96個を超えるデータを格納できるように拡張されています。
格納できるデータ形式はMSM6258仕様のADPCM、8bit PCM、16bit PCM(ビッグエンディアン)の3種類です。

ADPCM(PCM)データを作るには

現在ADPCM(PCM)データを作るとした場合、WAVデータをADPCMデータに変換するのが最も効率が良いと思いますので変換ツールを紹介しておきます。

ツール名アーカイブ名作者
PCM3PCM.XPCM3V215.LZHNOZ
WAV2ADP.XW2ADP101.LZHYokko
PCMCONV.XPCV10110.LZH恥絵袋
PCMCONV.COMPCONV18.LZHこうのたけし

※注意事項※
WAVからADPCMに変換した場合、MXDRVの音量はv7~v8を指定することで元のWAVの音量に近くなります。
WAVから8bit PCMに変換した場合、MXDRVの音量を最大のv15まで上げても上述のADPCMへ変換した物と比べて音量が異様に小さくなります。
WAVから16bit PCMに変換した場合、そのままでは確実に音が割れます。元のWAVの音量を6~7%まで下げないとADPCMと同等の音量になりません。

16bit PCMを使いたい場合は上記変換ツールのオプションや、元WAV自体を加工して音量が6~7%になるように調整を行って下さい。

PDXを作るには

作成したADPCM(PCM)データをMXDRVから直接読み取ることはできませんので、各々のデータを連結してPDXファイルを作る必要があります。
PDXを作るツールもいくつか種類があります。

ツール名アーカイブ名EX-PDX対応状況作者
PDXM.XPDXM.LZH非対応milk.
TPDXM.XTPDXM07.LZH対応Satoyan, AKEMI.A
SPDXM.XSPDXM110.LZH対応Satoyan
PDMK.XPDMK05.LZH対応DIS
PDXM.COMMXD2063.LZH非対応こうのたけし

EX-PDXとは前述した96個を超えるADPCM(PCM)データを格納できるように拡張されたPDXファイルのことです。*2

何を使えば良いか分からない場合はPDMK.XやSPDXM.Xを使うと良いでしょう。後者はADPCM(PCM)データを加工する機能も搭載しているようです。

MDXデータの再生環境の構築

作成したMDXデータを再生するソフトウェアについて、いくつか例を挙げておきます。

foobar2000 + MDX/MDC input プラグイン

まずはfoobar2000をインストール。 MDX/MDC inputのアーカイブを解凍し、foo_input_mdx.dllをfoobar2000のインストール先のcomponentsフォルダへコピー。

■foobar2000の標準のインストール先
32bit Windowsの場合 C:\Program Files\foobar2000\components
64bit Windowsの場合 C:\Program Files (x86)\foobar2000\components

foobar2000を起動したらFile→Preferencesを開いてMDX inputの設定を行ってください。
SampleRateに62500Hzを選択し、Use LPFのチェックを外して下さい。これでGIMICの音声出力に近い出音になります。

hoot

hoot本体とhoot用mxdrvをダウンロード。
それぞれのアーカイブを解凍し、hoot用mxdrvの中に入っているmxdrv.binをhootのフォルダの中にコピーします。
hoot.iniをメモ帳で開いて以下の項目を書き換えます。

hoot.iniの項目
sampling_rate=62500
buffer=8
time_slice=16
lpf=0

hootを起動し、MDXデータをドラッグアンドドロップすることで再生することができます。
(ドラッグアンドドロップでしかhootへMDXを渡せません。hootのセレクターからMDXを直接再生することはできないので注意)

c86ctl.dllをhootのフォルダの中に入れればGIMICで直接聞くこともできます。
(ただしADPCMパートやPCM8パートはGIMICから再生されません。hootのエミュレーションによりPC側から鳴ります)

MXDRVg

GORRYさんのサイトよりMXDRVg及びMXVをダウンロード。nueさんのサイトからc86ctl対応x68soundをダウンロード。
それぞれのアーカイブを解凍し、MXDRVgの中に入っているmxdrv.dllをMXVのフォルダの中にコピーします。
c86ctl対応x68soundの中に入っているX68Sound.dllとX68Sound.iniをMXVのフォルダの中にコピーします。

c86ctl.dllをMXVのフォルダの中に入れ、MXVのMXDRVg設定で'ROMEOで演奏する'にチェックを入れればGIMICで直接聞くこともできます。
(ただしADPCMパートやPCM8パートはGIMICから再生されません。X68SoundのエミュレーションによりPC側から鳴ります)

コンパイル環境の構築

例としてnote.xを使った場合の環境構築の方法を記載します(mxc.exeを除くX68000用コンパイラも同じやり方で使うことができます)

上述したrun68およびNOTE085.LZHのアーカイブを解凍します。
run68の中に入っているrun68.exeおよびrun68.iniと、NOTE085.LZHの中に入っているnote.xが必要なファイルです。
Cドライブの直下にMXDRVというフォルダを作ってrun68.exe、run68.ini、note.xをMXDRVフォルダへコピーします。

後はコマンドラインでC:¥MXDRVに移動し、

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

と入力することでMDXデータを作成できます。

コンパイル後、即座にfoobar2000で曲を再生したい場合は以下のようなバッチファイルをC:¥MXDRVの中に作成すると良いでしょう。
(foobarのインストールパスは自分の環境に合うように修正して下さい)

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


*1 MXDRV v2.06+17相当
*2 EX-PCMと似たような名前ですが別物なので混同しないように注意

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-04 (火) 02:34:54