MMLの共通文法という夢を見たのさ

今、WebベースのMML再生ライブラリにはSiONとFlMMLがある。SiONはActionScriptでインタラクティブに音を扱う場合に使われ、FlMMLはピコカキコなどに広く使われている。

どちらのライブラリの文法も、TSS(CP)というWebMML再生ツールを参照しているようだ。そのため、2種類のMMLが共存しているにもかかわらず、WebMML界は健全な状態にあるんだと思う。

3年くらい前に、MMLの共通文法を作りたいんですよね、という話を上の年代の人に語ったんだけど、「難しいんじゃない?」という風に言われてしまった。でも、自分の認識では、共通化出来ないこと自体がおかしいと思っていた。

音楽は音色、音量、ピッチの3要素で構成されている。音色はハードウェアに依存するだろうけど、それ以外の二つは分離できればMML上で共通化できる。

(音色変化とシーケンスが入り組んでいる場合は難しいだろうけど、Yコマンドを使えるMMLユーザなんて一割も居ないと認識してる。正直、ちゃんと使ってる人なんて1%って所じゃないだろうか。)

大体、ループやオクターブ上下のような、シーケンスの根幹部分に対してのデファクト形成の動きが無かったのが不思議だ。その時代なりの事情があったんだろうか。たしか、MMLの源流が分かれてるとかは聞いたけれど。

共通化が難しいという認識が出てくるのは、過去のドライバとMML文法が強固に結びついていたからdと思う。ただ、そのような機種依存・ドライバ依存のMMLはエミュレータでしか動かなくなるし、いずれユーザが減って誰も書かなくなる。資料が散逸すれば読める人も居なくなる。読めないMMLとバイナリの差異って何だろうか…。

共通仕様を持ったMML文法、という仕事は、最終的にkeimさんが成し遂げた。

http://d.hatena.ne.jp/keim_at_Si/20080618/p1

多分、TSSCP以前の文法を喋るユーザは居なくなるだろうし、自分もSiONとFlMMLを普及する方向で動くつもり。