Javaで実装されたJavaScriptのRhinoを利用して、簡単なMML(Music Macro Language)コンパイラを作りました。とりあえず。プロジェクト名は「sakura-js」としたけれど、今はまだ、テキスト音楽「サクラ」には及ばない簡単なものです。

MIDIファイルへの保存と、その場での演奏をサポートしています。例えば、コマンドラインから、以下のように書くと、MMLの演奏が可能です。

$ ./sakura-mml -line o5l4cdefg1
$ ./sakura-mml -line "TR=1@80cdef|gfed|c1|TR=2@80efga|bagf|g1"

今のところサポートしたのは、音階o、音長l、ベロシティv、レートq、PCの@、に加えて、TR=?/BPM=?のみです。