読者です 読者をやめる 読者になる 読者になる

JavaScript から MML を再生する - JSMML

テキスケ: ActionScript日記 - サウンドのリアルタイム生成(4) で公開されている、Flash から MML を再生できるライブラリ、 FLMML が素晴らしすぎるので、JavaScript からも再生できるようにブリッジを書いてみました。ライブラリ名は JSMML(まんま)。
JSMML を使うと、SWF を経由して JS な API から MML を再生できるようになります。

<script type="text/javascript" src="JSMML.js"></script>
<script type="text/javascript">
JSMML.swfurl = 'JSMML.swf'; // default
// onLoad に関数を入れておくと、SWF のロード完了時に呼ばれる。
// SWF が未ロード時に new JSMML() するとエラーる 
JSMML.onLoad = function() {
     var mml = new JSMML();
     mml.onFinish = function() { alert('finish!') };
     mml.play('t60l16 o5r cdefedc8 efgagfe8 c4 c4 c4 c4 ccddeeffe8d8c4');
}
</script>

TextArea の文字列を再生できるプレーヤはこんな感じ。

またブラウザで範囲選択している文字列から MML を再生するブックマークレットも作ってみました。そこそこアルファベットを含むエントリーなんかを適当に範囲選択して

javascript:(function(){var s=document.createElement('script');s.charset='UTF-8';s.src='http://svn.coderepos.org/share/lang/javascript/jsmml/trunk/src/JSMML_bookmarklet.js';document.body.appendChild(s)})();

を実行するとなんか音楽が再生される!ときたま、「おっ」と思えるようなメロディが出てきたりして面白いです。
これを使って id:brazilid:youpy (ブラクラ注意)とかがなんか面白いことやってくれないかなぁ、と期待。

追記 はてなダイアリー/グループで利用できるようなったyp

テキストで音楽が演奏できる、「メロディ再生記法」(MML記法)をリリースしました - はてなダイアリー日記
というわけで、はてダ・はてグに実装してみました!