MMLの成立
目次
最初の MML はどれ?
さて、話が大変長くなりました。ここら辺で、やっとまとめに入りましょう。
まず最初に、MML について、ごく簡単な定義を行いたいと思います。
現時点で、MML 互換を謳うソフトは沢山あります。Wikipedia の日本語版にも MML についてのページがあります。
中国語版は英語版の部分翻訳にすぎない。
もっとも、日本語版も根拠がほとんど示されていない独自研究に過ぎない。
まぁ、多くの人が「互換」を名乗れる程度にはコンセンサスがあるので、これらは MML と認める、ということを大前提として話を進めます。
文法重視
現代的に「MML 互換文法」とされているものは、PC-8801mkII SR に搭載されたものを基準とするようです。まぁ、非常に普及した機械でしたからね。ただ、互換とされる場合でも一部コマンドは実装で意味が変わったり、必ずしも完全互換ではありません。
そのベースになっているものは PC-6001 のもので、そこから「変数展開」機能を外したものがミニマムセットだと思って良いかと思います。この部分に関しては、MML 互換とされている多くの処理系で、大抵完全互換です。
では、PC-6001 の文法を MML と定義し、そうではないものは MML ではない、としてみます。すると、マイクロソフトが最初に「MML」と名付けた、if800 は MML ではないことになってしまいます。
もちろん、マイクロソフト製ではないうえ、互換性もないシャープ系 BASIC の命令も MML ではないでしょう。
しかし、現代において「MML」とされるものの元祖、という意味では、この考え方は間違っていません。
…これに賛同できる人は、「世界初の MML は PC-6001 に搭載された」と主張しましょう。
名称重視
MML はマイクロソフトの商標で、この名称が最初に使われたのは if800 でした。なのに if800 が外されるのはおかしい、と思う人もいるかと思います。
ここで、「互換MMLをMMLと認める」という大前提を崩してよければ…つまり、マイクロソフト製以外はMMLと認めない、という態度を取れば、if800 を世界初の MML と認められます。
この場合、シャープ系は相変わらず認められず、現代の「MML 互換」も認められず、にもかかわらず MML と認められるもののなかで互換性が保たれない、というカオスに陥ります。
…これに賛同できる人は、「世界初の MML は if800 に搭載された」と主張しましょう。
類似物重視
シャープ系を救い、現代の MML も認めるためには、現代的な MML と互換性がなくても、ある程度の類似物は MML と呼んでいい、という前提にする必要があります。
MZ-80K は MML ですし、その元となったベーシックマスターも MML とすべきです。MZ-80K は、明らかにベーシックマスターの影響下にあるのですから。
ただ、この場合は「類似」という言葉のあいまいさが問題として残ります。胸先三寸で、いくらでも定義を変えられそうです。
…これに賛同できる人は、「世界初の MML はベーシックマスターに搭載された」と(とりあえず)主張しましょう。でも、本当はあなたが信じるものなら何でもいいです。胸先三寸ですから。
影響重視
では、SCORTOS と Altair MUSIC はどうでしょう? もちろん、音楽演奏機能である、という点で類似性はありますが、微妙なところです。
ここで、類似性だけでなく「MML に影響を与えているか」を見ることにすると、この2つのソフトの影響は、明らかにあるように思います。
影響は SCORTOS の方が多く、歴史的にも SCORTOS の方が古いです。そのため、世界初を考える際に Altair MUSIC に対する考慮はいりません。
では、MUSYS はどうでしょう? これも現代の MML に影響を与えています。ただ、MUSYS のやり方はパソピアの SOUND 文と同じ方法であり、PC-6001 の PLAY 文ではありません。これは明確に「MML ではない」ので、影響範囲があったとしても、MML からは除外べきです。
…これに賛同できる人は、「世界初の MML は SCORTOS というプログラムに搭載された」と主張しましょう。
(これは、現在のところの僕の主張です)
年号重視
影響がなくても、一番古いものが歴史上初に決まっている! という主張だってありです。
TX-0 で作られた演奏プログラム、MUSIC-X の譜面記述方法は、Altair MUSIC よりは現代の MML に類似しています。おそらく、これ以前に英数字で楽譜を記述して演奏を行うコンピュータープログラムは存在していないと思います。
…というわけで、以前に僕はこれを「世界初の MML」という記事で紹介したのですが、今回の調査をした後では、世界初かもしれないけど現代への影響は無いな、とあっさり趣旨替えします。ただ古いだけのものを世界初として挙げるのは僕は好きではないです。
しかし、まぁ間違いではないし、一度主張してしまったので(笑) 面白いし記事はそのまま残します。
同じように面白がってくれる人は、「世界初の MML は TX-0 という非常に古いマシンの MUSIC-X というプログラムに搭載された」ということにしておいてください。
まとめ
以上の話をまとめると、図のようになります。
緑で示したのが、最初と認められうる MML です。それ以外のものは、歴史的に重要な意味はあっても、最初の MML ではありません。
影響を矢印で示します。MUSIC-N から現代の MML に点線が伸びていますが、PCM 波形生成を行って音を作っている、という意味合いです。
(もちろん、すべての MML ドライバがそうしているわけではありません。しかし、特別なハードウェアなしに、PC 互換機で動作するプログラムは、通常は PCM 波形生成を行っています)
PC-6001 から現代の互換ドライバに線を伸ばしていますが、本当はこの間に細かな MML の改良が何度も行われています。
PDP-6 の Music Compiler からは、灰色の線が伸びています。これは、調査中に影響を与えたのではないか、という疑惑を持っていたため。
この疑惑はほぼ晴れて、たぶん「全く影響がない」です。しかし、なぜ疑惑があったのか、なぜその後「影響がない」と判断したのか、歴史話に興味がおありでしたら、この後の「落穂ひろい」にまとめましたのでお読みください。