言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

MMurL URL で音楽を鳴らす http://languagegame.org/mml/mmurl.cgi

もしかしたらもう誰かが作ってるかも知れないけど、ActionScript日記 - サウンドのリアルタイム生成(5)http://sketch.txt-nifty.com/blog/2007/10/actionscript_cf18.html を見て何か面白い事が出来ないかなと思ってやってみた。MML というのは音楽を鳴らすためのナツカシイ小さな言語なんだけど、Flash を使って MML を鳴らすという凄い人が現れたのです。それで、なんか MML と URL ってなんか似てるなと思って、URL をそのまま MML に渡す奴を作りました。

http://languagegame.org/mml/mmurl.cgi?cdefgab

で、ドレミファソラシ。。。と鳴ります。

詳しい説明は ActionScript 日記のページに書いてあるので、テキストフォームで頑張って曲を作って URL ボタンを押すとその曲の URL が出来ます。

http://languagegame.org/mml/mmurl.cgi?T195%20L8%20O6%0Deerercergrr4%3Egrr4%3C%0D%3B%0DT195%20L8%20O5%0Df+f+rf+rf+f+rbrr4r2%0D%3B%0D@4T195%20L8%20O3%20V10%20Q8%20L16%0Dc8crcrc8%20crcrc8r8c8r8r8rc8r%0D

(これは http://blog.lilyx.net/2007/10/07/javascript-mml-mario-theme/ の冒頭です)

追記

追記2 ソースコードコンパイルの仕方

ソースコード http://languagegame.org/dev/trunk/mmurl/

追記3 MML 記法

なんとはてなMML 記法というのがリリースされたようです。地味にブーム到来の予感!
http://d.hatena.ne.jp/hatenadiary/20071011/1192086766

追記その4 MML と URL そして DNA

MML というおっさんの琴線に触れる話題をきっかけに Flex (無料 flash 開発環境)をちょっと触ってみたんだけど。これは将来がめちゃ楽しみ。このまま順調に進歩が進めば、flash だけで etoys のような事は全然出来ちゃう。しかもこの数日ではてなにアップされた膨大な MML を見て思ったのは、ウェブにするとしないとでは影響力が全然違って、多少の欠点なんか全然問題ない感じだという事。ユーザのコンテンツの破壊力は凄い。この余波を微妙に受けて俺の MMurL にも結構な投稿(?)があった。例えば http://tinyurl.com/32y3nh 誰か知らんが力作すぎ。。。

で、興味のきっかけは全然そこじゃなくて、情報って一体どれくらい圧縮できるのだろうという事だった、音楽の情報自体を URL にする事によって、短縮 URL サービスと組み合わせると長い曲も http://mooo.jp/ackz のようにほんの短いデータになってしまう。これはたまたま MML だけど、例えばプログラム自体も URL に出来る。規定は無いが、例えば IE が認識可能な最大 URL 長は2000文字程度だそうだ。もしも、URL にデコードされたプログラムが、例えば他のプログラムを生成するような物だった場合、その圧縮率はさらに凄い事になる。

これってもしかして DNA みたいじゃない? 高校の時習ったんだけど、DNA ってそれだけで情報として独立している物じゃなくて、細胞内のほかの物質とのフィードバックを受けて、初めて適切な時に適切な物質を生むようになっているらしい。URL も、URL としてはただの乱雑な文字列でしかなくて、短縮 URL サービスやら、そういう外部の環境の影響があって初めて意味が出てくる。そして生命の背景に、大規模な進化の文脈があるように、URL の背景にもインターネット技術とユーザコンテンツの広大な海がある。と、そのような景色にロマンを感じながら僅かな現実逃避を楽しむ事が出来ました。