音楽


● 音楽を演奏するには
● 音楽演奏ハードウェアの仕様は
● 音源ドライバとは何か
● ADPCMデータとは何か
● 多重ADPCM再生ドライバとは何か
● 代表的な音楽ファイルは
● 代表的な音源ドライバは
● MZPとは

● 音楽を演奏するには

 音源ドライバを常駐し、音楽演奏プログラムを実行します。
例)音源ドライバZMUSIC.Xを常駐し、ZPでFOO.ZMSを演奏する。
ZMUSIC
ZP FOO.ZMS

例) 多重ADPCM再生ドライバPCM8.Xを常駐し、音源ドライバMXDRVを常駐し、MXPで FOO.MDXを演奏する。
PCM8
MXDRV
MXP FOO.MDX

多くの X680x0ユーザーは上記のようにコマンドラインからファイル名を打ち 込まず、各種ファイラー(TF、MINT など)を使用し、音楽ファイルにカーソル キーを合わせてリターンキーを押すだけで演奏できるようにしています。

また、音楽演奏用にMMDSP.Rというグラフィカルな演奏ツールがあり、こちら も多く使われます。この場合も音楽ファイルにカーソルキーを合わせてリターン キーを押すだけで演奏が可能です。


● 音楽演奏ハードウェアの仕様は

 X680x0に標準装備されている音楽演奏ハードウェアは以下の通りです。

OPM

YAMAHA YM2151。8チャンネルFM音源。チャンネルごとに左・中央・右の3 点パンポットが可能。

ADPCM音源

沖電気MSM6258。ADPCM圧縮をしたPCM音源。周波数15.6/10.4/7.8/5.2/3.9KHz で録音/再生が可能。単にPCMと呼ばれる事もあるので注意。

 オプションで以下の音源が使用可能になります。

MIDI音源

拡張スロットにMIDIボードを挿し、MIDI音源(SC-55など)を接続することに より演奏可能になります。もしくはRS-232C端子にケーブルを接続し、MIDI音源 を接続することにより演奏するRS-MIDIという方式があります。RS-MIDIには対応 した音源ドライバが必要です。

一般的にMIDIはMIDIボードを使用し、RS-MIDIは拡張スロットに空きがない場 合に使用される方式です。

PCM

 同人PCMボードMercuryUnitによる16bit-44.1/48kHzステレオPCM再生。

OPN

 満開製作所製PCMボードまーきゅりーゆにっとに登載のFM音源。


● 音源ドライバとは何か

メモリに常駐し、音楽を演奏するプログラムです。実際に常駐した様子は PROCESS.Xで確認できます。

例)
C:/> process
X68k Process v2.10 Copyright 1989-93 SHARP/Hudson
---------------------------------------------------------------
開始 終了 長さ モード ファイル名
------ ------ ------ ------ -----------------------------------
006800 09DFFF 097800 SUPER Human.sys
09E010 09E0FF 0000F0 MALLOC
09E110 09E90F 000800 MALLOC
09E920 09FA1B 0010FC USER D:\BIN\fish.x
09FA30 0B8059 01862A MALLOC
0B8070 0BE06F 006000 MALLOC
0BF8E0 0C08DF 001000 MALLOC
1C53A0 BDFFFF A1AC60 USER D:\bin\PROCESS.X

0BE080 0BF8CB 00184C KEEP D:\sys\bsio.x
0C08F0 0C1455 000B66 KEEP D:\sys\lndrv.x
0C1470 0C543B 003FCC KEEP D:\sys\TwentyOne.x
0C5450 0EAAA3 025654 KEEP D:\sys\ASK68K.X
0EAAC0 0F37BB 008CFC KEEP D:\sys\ASKCodes.x
0F37D0 1473FF 053C30 KEEP D:\sys\PCM8A.X
147410 1C538F 07DF80 KEEP D:\sys\ZMUSIC.X

 PCM8A.XとZMUSIC.Xが常駐しています。

音源ドライバはオプション無しで実行すると常駐し、-Rオプションを付けて実 行すると常駐解除できるものがほとんどです。一部の常駐解除できない音源ドラ イバを常駐してしまった場合はリセットするか、ADDDRV.X/DELDRV.Xで常駐/常 駐解除するしかありません。

音源ドライバは基本的に同時に複数常駐することはできません。別のドライバ を常駐したい場合は、現在常駐している物を常駐解除し、別のドライバを常駐さ せます。まれに複数常駐しても動作する場合があるようですが、お勧めしません。

例)現在常駐しているZMUSIC.Xを常駐解除し、MXDRV.Xを常駐する
ZMUSIC -R
MXDRV

演奏したい音楽ファイル形式に合わせて音源ドライバの常駐/常駐解除を繰り 返すか、ZMUSIC.X+MZP.Xで変換して演奏するのが一般的です。


● ADPCMデータとは何か

X68000内蔵ADPCMで再生可能なデータです。周波数15.6KHz/10.4KHz/7.8KHz /5.2KHz/3.9KHzのモノラルデータで、拡張子は.PCMです。どの周波数であるかは 実際に再生してみないとわかりませんが、流通しているほとんどの.PCMデータは 15.6KHzです。

PCMDRV.SYSまたはZMUSIC.Xが組み込まれている場合、以下の方法で.PCMデータ を再生する事ができます。

例).PCMデータを再生する
COPY FOO.PCM PCM
 この時、周波数は15.6KHzとして再生されます。


● 多重ADPCM再生ドライバとは何か

X680x0のADPCM音源はハードウェア的には1チャンネルしかありませんが、ソ フトウェアで疑似的に複数チャンネル(多くの場合、8チャンネル)の再生を可 能にするプログラムです。
これもメモリに常駐する常駐ソフトです。通常は音源ドライバと同時に常駐し ます。

例)多い組み合わせ

多重ADPCM再生ドライバは音源ドライバより前に常駐する必要があります。既 に音源ドライバが常駐している場合は、音源ドライバを常駐解除してから常駐し て下さい。
多重ADPCM再生としてはPCM8.XとPCM8A.Xがよく知られています。PCM8A.Xは PCM8.Xの改良版で、ラスター割り込みを優先する、処理負荷が軽いなどの理由か らゲーム等で使用されます。
多重ADPCM再生ドライバは同時に複数常駐できません。また、処理負荷が重い ため、多重再生を行うと全体的に速度が低下する事があります。


● 代表的な音楽ファイルは

 以下の拡張子を持ったファイルが流通しています。

.OPM

OPM8音の演奏データ。メーカー標準の音楽ファイル。

.MDX

FM8音+ADPCM8音の音楽データ。パソコン通信を中心に流通した。X680x0用音 楽データのうち約半数?がこの形式。ADPCMデータとして.PDXを補助的に使用し ます。

.ZMS

FM8音+ADPCM8音+MIDI16音の音楽データ。ソフトバンクから発行されたOh!X ムックに収録され、Oh!X本誌及び電脳倶楽部での標準データ形式。 X680x0用音 楽データのうち約3割くらい?がこの形式。可読なテキスト形式であることが特 徴。ADPCMデータとして.ZPDを補助的に使用します。

.ZMD

.ZMSをバイナリ形式に変換したもの。ゲームなどで高速処理が必要な時に使用 されますが、単品で流通されることはありません。

.RCP

 MIDIデータ。


● 代表的な音源ドライバは

OPMDRV.X

メーカー標準音源ドライバ。.OPMファイルの演奏が可能。後にOPMDRV2.X、 OPMDRV3.Xが登場。ZMUSIC.Xで代用可能なため、ほとんど使用されませんが、微 妙な互換性の違いからZMUSIC.Xでは動作しないゲームなどでは使用されます。 MOPMDRV.Xで代用可能です。

 OPMDRV.X[return]で常駐します。常駐解除はできません。

MXDRV.X

FM8音+ADPCM8音が演奏可能な音源ドライバ。パソコン通信を中心に流通しま した。後に上位互換・高速なMADRV.Xが登場し、現在ではこちらを使用する人が 多いようです。MADRV.Xの使用法はMXDRV.Xとほぼ同じですので、ここでは MXDRV.Xの使用法を解説します。

MXDRV.Xは.MDXファイルを演奏します。.MDXはFM音源用の演奏データで、ドラ ム音などにPCMを使用する場合は、.PDXファイルを併用します。

例).MDXと.PDXを併用する演奏データ
MUSIC1.MDX
MUSIC1.PDX

「ドラムの音があるはずなのになぜか鳴らない」という場合は.PDXファイルが ない、またはPCM8.Xが常駐していないことが考えられます。

 MXDRV.X[return]で常駐します。主な実行オプションは以下の通りです。

32KBのMUSIC1.MDXと64KBのMUSIC1.PDXからなる演奏データの場合、以下のよう にMXDRV.Xを常駐します。
MXDRV.X -M32 -P64
 その後、MXP.Xで演奏します。
MXP.X MUSIC1.MDX

現実的には演奏するたびに.MDX/.PDXのファイルサイズを調べてMXDRV.Xを常駐 し直すのは面倒なので、ある程度バッファを多く確保して常駐しておきます。 MMLバッファは64KB、PCMバッファは256KBも取っておけば十分でしょう。
MXDRV.X -M64 -P256
もし64KB以上の.MDX、256KB以上の.PDXからなるデータを演奏したい場合は一 旦MXDRV.Xを常駐解除して、改めて大きなバッファサイズを指定して常駐します。

ZMUSIC.X

ソフトバンク発行のムックで発表された音源ドライバ。FM8音+ADPCM8音+ MIDI16音の演奏が可能です。Oh!X、電脳倶楽部で標準的に使用されています。 ゲームでも使用できるよう高速性/応答性を重視し、かつ多彩な表現力を持つ音 源ドライバです。
開発が長期に渡っている/バージョンごとの制作ポリシーによりバージョンに よって互換性が無いことがあり、.ZMSファイルに合わせたバージョンのZMUSICを 常駐させる必要があります。

ZMUSIC ver1.xx (V1)

初期のZMUSICで使用された形式。初期に流通していましたが、現在では使用さ れません。

ZMUSIC ver2.xx (V2)

現在の主流。V1時代に作られた一部の.ZMSが正常に演奏できないことがありま したが、そのような.ZMSはほとんど修正されています。ゲームなどではほとんど これが使用されています。開発は終了しています。

ZMUSIC ver3.xx (V3)

表現力を重視して開発された音源ドライバ。一部V2と互換性がありません。現 在も開発が続いています。

ZMUSIC.Xは.ZMSファイル、.ZMDファイルを演奏します。.ZMS/.ZMDはFM音源 /MIDI音源用の演奏データで、.ZMSが可読なテキスト形式、.ZMDはバイナリ形式 な所が違います。.ZMSを演奏しようとすると、ZMUSIC.X内部で.ZMDに変換して演 奏されます。このため.ZMDは高速な処理が可能で、ゲームなどでよく使用されま す。ですが、 ZMUSIC.Xは.ZMS形式での互換性のみ保証しているため、一般的な 音楽データとしては.ZMSが流通しています。.ZMSから.ZMDへの変換はZMUSIC -C で行えます。

ドラム音などにPCMを使用する場合は、.ZPDファイルを併用します。
例).ZMSと.ZPDを併用する演奏データ
MUSIC1.ZMS
MUSIC1.ZPD
「ドラムの音があるはずなのになぜか鳴らない」という場合は.ZPDファイルが ない、またはPCM8.Xが常駐していないことが考えられます。

 ZMUSIC.X[return]で常駐します。主な実行オプションは以下の通りです。

32KBのMUSIC1.ZMSと64KBのMUSIC1.ZPDからなる演奏データの場合、以下のよう にZMUSIC.Xを常駐します。ワークサイズはMMLバッファサイズと同程度のサイズ を指定すれば良いようです。
ZMUSIC.X -T32 -W32 -P64
 その後、ZP.Xで演奏します。
ZP.X MUSIC1.ZMS

現実的には演奏するたびに.ZMS/.ZPDのファイルサイズを調べてZMUSIC.Xを常駐 し直すのは面倒なので、ある程度バッファを多く確保して常駐しておきます。 MMLバッファは64KB、PCMバッファは256KBも取っておけば十分でしょう。
ZMUSIC.X -T64 -W64 -P256
もし64KB以上の.ZMS/.ZMD、256KB以上の.ZPDからなるデータを演奏したい場合 は一旦ZMUSIC.Xを常駐解除して、改めて大きなバッファサイズを指定して常駐し ます。
また、ゲームなどで.ZMSを使用せず、.ZMDのみ使用するような用途のために .ZMS演奏機能を省いたZMSC.Xが存在します。ZMSC.Xは.ZMS演奏機能を持たず、ファ イルサイズが小さい事を除けばZMUSIC.Xと全く同じです。.ZMS演奏機能を持たな い事から、ワークサイズは0KBで構いません。

MCDRV.X

 ゲームなどでよく使用される音源ドライバ。

MOPMDRV.X

OPMDRV.Xのほぼ完全上位互換の音源ドライバ。ZMUSIC.Xでは正常に動作しない OPMDRV.X用ゲームなどを実行する時に使用される。OPMDRV.Xと違い、常駐解除で きることが最大の特徴です。


● MZPとは

MZPは.MDX形式を始めとした各種形式の音楽データを.ZMDに変換し、ZMUSICに 渡すソフトです。これにより、ZMUSICで.MDXを演奏する事ができるようになりま す。MZPの演奏再現性は100%完璧とは言えませんが、通常の使用では問題ないレ ベルでの再生が可能です。もし完璧な再生を求めるのであれば、本来の音源ドラ イバを使用するべきでしょう。
例)ZMUSICとMZPで.MDXを演奏する
ZMUSIC
MZP FOO.MDX

(EOF)