Navigation Log - なびろぐ -
2002/11/10

...X680x0 spirit inside...

この日記はGNSで生成しています。
この日記の画像はOPTPiX webDesigner Ver.4で生成しています。

hauN
Go amazon.co.jp

■ご注文リストから■ [一覧]
■Amazonギフト券■ [購入]
幼女戦記 3 [Blu-ray] [DVD]
幼女戦記 3 [Bl...
Amazonほしい物リスト


2002/11/10 (日) 晴時々曇

MML

_ SAKURA。うちではSPICEなるものを公開しております。SPICEは、コンパイラだけなら「標準入出力を操作できるC環境」であれば基本的にコンパイル可能なはず。

_ なお、このアプローチはほぼ20年前から始まっている。日本の8bitパソコンに付いていたBASICが、言語仕様として「Music Macro Language(MML)」なるものを持っていたことに端を発している。なぜか、海外のパソコンのBASICではほとんど実装例がなく、MMLという文化は存在していない。

_ 最初は単音音源の操作から始まり、3重和音のPSGや、後期8bitパソコンに積まれたFM音源をコントロールするようになった。この頃から、マイコンBASICマガジンやPOPCOMなどのパソコン雑誌で、BASICによる音楽演奏プログラムが掲載・発表されるようになった。ちなみにわしの筆者デビューはこの頃で、投稿者に塩兄とかメモルのひととかがいたりする。

_ そして16bitパソコンの時代に、MMLは各機種で完成を迎えている。X68ではMXDRVやZ-MUSIC、PC-98ではFMPやPMDなどのMML演奏システムによるデータが、パソコン通信で日本中を駆け巡った*1。この頃のデータは未だあちこちで健在で、わしもMXDRVgなる「サウンドエミュレータ」を公開している。

*1: 余談だが、sted2はこの時代にX68で作られたもの。

_ なおこの当時、日本のPC用ゲームの音楽のほとんどは、MMLで書かれていた。しかしコンシューマやアーケードの開発現場では使用率はそれほど高くなく、例えばセガ・ナムコ・タイトーではMIDIからのコンバートや専用ステップエディタ、場合によってはバイナリダンプ直編集で書いていたらしい。

_ MMLによるMIDI音源のコントロールは、X68上ではNAGDRVやZ-MUSIC、そして(ごくわずかながら)SPICEで行なわれてきたが、今や風前の灯と言ってよいと思う。なお、PC-9801上のMIDI MMLの解説は識者にお任せすることにしようか・・・つーか専門外なのでわからん^^;。

_ これら多くのMMLは方言が激しいが、ほぼ共通していることとして以下の事項がある。まずこれを知っておくと、方言の理解も楽かと。

  • cdefgab。ドレミファソラシの発音。"d+"でレのシャープ、"d-"でレのフラット。
  • r。休符。
  • "c4"と書くと、ドの4分音符。"c8"なら8分音符。
  • "c4."と書くと、ドの付点4分音符。
  • "l4"で、省略時音長4分音符。"l4cc8cc8"は"c4c8c4c8"と同じ。
  • "q7"で、ゲートタイムを音長の7/8に設定。4分音符が48クロック分だとすると、ノートオンから42クロック経過したところでノートオフする。
  • "o4"で、オクターブ4。なお、ほとんどのMMLでは"o4a"が真ん中のラ(440Hz)。
  • "<"または">"で、オクターブの相対移動。どちらの記号がオクターブアップを示すかはまちまち。「ドレミファソラシド」を記述するのに、シャープ系は"cdefgab<c"、NEC系は"cdefgab>c"と書くものが多い。なお、後期のシステムではほとんどがモード切り替え可能となっている。
  • "v15"で、音量15。PSGの時代に音量を0〜15で書いたのを引き継いでいるシステムが少なくないが、引き継がずに0〜127で書くものもある。
  • "@1"で、音色1番。0番から始まるものと、1番から始まるものがある。

_ 蛇足、SAKURAは古来からのMML文化とは違う流れから生まれており、古くからのユーザーにとっては「似て異なるもの」という印象が強いと思われる。


[URL] [View Log()] [Trackback]
Name: Comment:



メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]

「表紙へ戻る」
「会議室」 「最新版」 「なびろぐindex」 「GNSソースを読む」