MMLの成立
目次
落穂ひろい
あるいは、調査のこぼれ話。
もう、最初の MML はどれか、という結論は出ていますので、ここから先は興味のある方のみどうぞ。
調査済みシステム
以下のシステム・マシンは、調査したけど話の本筋に関係がないので書いていません。
これら「以外」のシステムで、MML に関係しそうなものをご存知でしたら、教えていただけると新発見があるかもしれません。
PDP-8 の MUSIC(1975)
PDP-8 を改造もせず、AM ラジオを近づけるだけで4重和音で演奏するプログラムです。リチャード・ウィルソン(Richard Wilson)の作。DEC が配布代行したため、ものすごく普及しました。
譜面入力の文法はかなり独特で、「イギリス式の音長の呼び名」の頭文字を使って最初に音長を書き、続いて一緒に出す和音を括弧で囲って、カンマ区切りで列記します。
注目すべきは、休符に「R」を使用しているところで、普及したプログラムなのでベーシックマスターの開発者が知っていた可能性はあります。(Rest の頭文字なので、知らないで一致しても不思議ではありません)
「トッカータとフーガ ニ短調」ならこんな感じ。
S (A,A+,A++)
S (G,G+,G++)
QTM (A,A+,A++)
S (G,G+,G++)
S (F,F++)
S (E,E++)
S (D,D++)
C (C#,C#+,C#++)
M (D,D+,D++)
C R
Intel 8080 Alpha-numeric music (1975)
Intel 8080 用、となっていますが、事実上 Altair と互換機用です。Alpha-numeric 、つまりテキストで楽譜入力して音楽を鳴らせるシステム、ということで、MML 的ではあります。
作者はマルコム・ライト(Malcolm Wright)。詳細不明ですが、どうも彼はこのシステムで一獲千金を夢見てSolid State Musicという会社を興したようです。
音楽を鳴らすのには、拡張ボードにつないだスピーカーが必要でした。しかし、全然売れなかったようで、この会社は後に CPU やメモリの拡張ボードを販売する会社になっています。
MML 文法としては、PDP-8 MUSIC の流れを汲むようで、イギリス英語由来の方法で音長を指定します。普及しなかったため詳細が残っていないのですが、4C と書けば中心の C が出せた、5SB! で 16分音符の 5B フラットだった、と彼の記述が残っていますので、先の PDP-8 MUSIC と照らし合わせると、なんとなく全体が推察できます。
PET 2001(1977/1)
Apple II(1977/4)
TRS-80(1977/8)
アメリカのパソコンブームの時の御三家です。PET 2001 と TRS-80 は音を出す機能がないため、音楽演奏自体できません。(TRS-80 は電波ノイズが酷く、Music of a sort のように AM ラジオで演奏できた、という記録はあります)
Apple II は、CPU から直接スピーカーを駆動できたので、工夫して周波数を出せました。基本単音ですが、うまくやって3重和音を出す演奏ソフトもあります。
ただし、いずれも譜面をグラフィカルに入力して演奏する市販ソフト。MML 的なものは現れていません。
1978年には、PSG チップを2つ搭載して6重和音を出せる拡張ボード「Mockingboard」が発売になり大ヒットしますが、やはり MML 的なものは現れていません。
ATARI 800(1978)
PSG に似た独自のチップを内蔵し、音楽演奏が可能でした。BASIC からも制御する命令(SOUND)がありましたが、基本的にパソピアの SOUND 命令と似たもので、MML ではありません。
シャープ MZ-40K(1978/5)
4bit マイコンで、BASIC はありません。もちろん MML もありません。でも、最初から楽しめるいくつかのサービスプログラムが入っています。
イメージとしては、FX-マイコンですね。もちろん、FX-マイコンが真似しているわけですが。
で、この中に自動演奏機能があるので、MZ-80K も音楽には力を入れようとしていたのではないか、とOh!石氏より示唆されました。
MML の歴史には直接かかわりませんが、なるほど、そうかもしれません。
NEC PC-8001(1979/9)
NEC PC-8801(1981/12)
NEC PC-9801(1982/10)
日本のパソコンを語るうえで外せません。TK-80 の正当な後継機でマイクロソフト BASIC 搭載の国内最初の機械です。
…でも、音は単音、しかも固定周波数のブザー音のみ。もちろん MML なし。
VIC-20(1980/6)
VIC-1001(1981)
名前は違うが、米国モデルと日本モデル。PET 2001 の後継機種で、マイクロソフト BASIC 搭載。
ハードウェアとしてはサウンド機能を持つが、BASIC で扱う命令は無い。POKE(メモリ書き込み)機能を使って、I/O ポートを直接操作すれば音が出る。(6502 なのでメモリマップド I/O)
富士通 FM-8(1981/5)
IBM PC(1981/8)
FM-8は日本、IBM-PCはアメリカでの発売です。いずれもマイクロソフト BASIC で、固定周波数ブザーのみ。MMLなし。
Commodor 64(1982/1)
VIC-20 の後継機で、欧米では「ゲーム機」として一時代を築き上げたパソコン。
VIC-20 と同じく、マイクロソフト BASIC を搭載するが、サウンドを制御するには I/O を直接操作する必要がある。
富士通 FM-7(1982/11)
MSX(1983/6)
マイクロソフト BASIC 搭載で PSG 搭載。MML が使えました。
SORD M-5 (1982/11)
PSG 搭載。BASIC は ROM カートリッジで供給し、本体付属の簡易版、ゲーム作成用の整数版、浮動小数点版など複数ありました。
いずれも、マイクロソフト製ではありませんが、ゲーム用の BASIC-G には PLAY 命令があり、記述方法はマイクロソフト BASIC の MML と基本的な互換性を持っていたようです。
シャープ X1 (1982/11)
PSG 搭載。マイクロソフト BASIC ではなく、MZ-80K の流れを汲むオリジナル BASIC です。
MML の文法も MZ-80K に準じ、PSG の3重和音に対応しています。
GW-BASIC(1983/3)
マイクロソフトが作った「究極の BASIC」。過去に作ったすべての BASIC の機能を持った決定版、として作られたが、あまり普及しなかった。if800 の BASIC を 8086 に移植してさらに拡張したもの、らしい。
コンパック・ポータブル添付で初披露。PLAY 文もあり、恐らくアメリカで最初に MML を搭載した環境。
パソピア7(1983/4)
MZ-1500(1984/6)
PSG を2つ搭載し、6重和音が出せました。パソピアはマイクロソフト BASIC 、MZ はシャープのベーシックで、それぞれの文法の MML が使えます。
NEC PC-8801mkII(1983/11)
この時期になってやっと、PC-8801のブザー回路が変更され、周波数可変になりました。
これに伴い、BASIC 拡張命令として MML が使えるようになります。この MML は GW-BASIC から移植されたようで、タートルグラフィック命令と内部プログラムを共有しています。
もちろん単音ですが、他の機種の MML と出来るだけ互換性を保とうとする工夫が感じられます。(音域は狭いが、A=440Hz を O4 にしている、など)
IBM PC Jr.(1984/3)
IBM PC の廉価機種で、ROM カートリッジでのソフト交換に対応したホビー機種。
マイクロソフト BASIC搭載で、サウンド機能を持つ。MML の詳細は不明だが GW-BASIC 互換?
NEC PC-6001mkII SR(1984/11)
マイクロソフト BASIC。FM 音源初搭載(標準として)のパソコン。
当初すっかり失念していて(PC-88SR がFM 初搭載と思っていた)、ONDA 氏と MORIYA Ma. 氏から指摘を受けました。
MML 自体は PC-6001 の派生であり、現代的 MML のような多機能さはなかった、とのことです。
ヤマハ CX5M(1984)
上の PC-6001mkII SR が日本最初の FM音源マシンだよ、と教えていただいたとき、CX5M の方が先かも、とも教わりました。1984年発売ですが、正確な時期不明。11月より前ならこちらが先です。
ただし、これは CX5 という MSX に、FM 音源ボード(DX7 と同じ LSI!)を内蔵したもの。FM 音源は標準搭載ではなく、拡張機器扱いです。
もっと言うと、CX5 は DX7 とセットで使うことを想定したマシン。DX7 に接続して扱うことも出来ましたし、DX-7 の機能をフルに引き出そうと思ったら CX5 と接続した方がよかった、ようです。(X シリーズのデジタルシンセサイザーが DX 、制御コンピューターが CX 、という型番になっています)
別売りの拡張ベーシックカートリッジ YRM-11 があれば BASIC から MML が使えたそうです(DX7 を操ることも!)。非常に興味がありますが、レアすぎて詳細不明。
可能性にすぎませんが、Yamaha が作った「FM 音源用 MML 拡張」が、この後 FM 音源を搭載する PC-8801mkII SR や、MSX AUDIO などに影響を与えている、かもしれません。
(88SR や MSX-AUDIO の MML に MIDI 操作命令 z が付いているのは、もしかしたら DX7 をつないだ名残かも…)
NEC PC-8801mkII SR(1985)
マイクロソフト BASIC。強力な MML が使える。
名前こそ PC-8801mkII のマイナーバージョンのようだが、設計を全面的に見直しており、非常に高速になった。
これで、パソコン群雄割拠の時代が終わり、PC-8801mkII SR と、それ以降の互換機が大きな勢力になっていく。
現代的に「MML」と呼ばれているものは、基本的にここで確立されたものの互換文法となる。
MSX AUDIO(1986)
MSX MUSIC(1988)
MSX 用の拡張オーディオ規格。もちろんマイクロソフト BASIC。
AUDIO が最初にあった規格で、機能をそぎ落として安価にしたのが MUSIC 。
PC-8801mkII SR 用の MML 拡張をベースにして、さらに拡張されている。PSGを含めて12重和音を出せる。
ベーシックマスターには存在し、その後のマイクロソフト MML には存在しなかった「転調」機能が付いている。転調だけでなく、音律を変えられる。(バロック音楽を純正律で演奏できる)
実際の FM音源の仕様は2オペレータで少し貧弱なのだが、言語仕様はおそらくマイクロソフト製 MML の中で最強。