MMLは、基本的にアルファベットを使って、音楽を表記していきます。
MMLとは、MusicMacroLanguageの略で、パソコンが8ビットだった時代から音楽を簡単に表すために使われていました。そのため、基本は非常に簡潔です。
そしてこのソフトサクラは、細かいニュアンスが表現できるように、MMLを拡張したものです。
・MMLの基本
ノート(音名)→ストトン表記では、ドレミファソラシ
ドレミファソラシをMMLでは、cdefgabと書きます。半音上(#)はノートのすぐ後ろに、+か#。半音下(♭)は、-。
cdefgab //=ドレミファソラシ
c+ d e f# g a b-
休符→ストトン表記では、ッン
休符は、rで表します。
ノート番号指定
特殊なノートにnがあります。これは、n番号と指定して、番号のノートナンバーを発音するという意味です。番号に指定できるのは、-1〜127までです。-1の時は、休符と同じ扱いになります。
n36 //o3c と同じ意味
n38 //o3d と同じ意味
l8 cdef gfed //音符8 ドレミファ ソファミレ l4 cdef gfed //音符4 ドレミファ ソファミレ c8 d8 e4 d8 e8 f4 e8 f8 g4 //ノートのすぐ後で音長指定 //ド8レ8ミ4レ8ミ8ファ4ミ8ファ8ソ4 |
l4 cdef g2fe //n分音符指定 l%96 cdef g192fe //ステップ指定 l%96 cdef c%4d%4e%4f%4 |
l%96 //これ以後、ステップ指定 c192d48e48 c!2 d!8e!8 //TimeBaseが96のとき、上と同じ意味 |
l4. ceg4 //付点四分音符 l4 c.e.g //音長省略しても付点四分音符 |
l4^4 // l2 と同じ意味 c d8 e8 f8^8 // f4 と同じ意味 l8 cde^ fg^^ // l8cde4 fg4. と同じ意味 |
q100 d+%3e1-%3 f+%3g1-%3 c1+1+1+1 |
l4 v100 cdef v70 cdef v120 cdef |
v80 c v+10 c v+10 c v+10 c v+10 c //相対的に指定 System.vAdd(10);//v++の値決定 v80 c v++ c v++ c v++ c v++ c //省略指定 v80 c v+++ c // = v+20 v80 c v++++ c // = v+30 |
l8o4 cdefgab o5 cdefgab o6 cdefgab l8o4 cdefgab > cdefgab > cdefgab l8o6 gec4 o5 gec4 o4 gec4 l8o6 gec4 < gec4 < gec4 |
音長+---+---+---+--- 発音o===+=== NoteOn.....Off |
l4 q100 cdef q50 cdef q10 cdef l4 q%96 cdef q%48 cdef q%10 cdef |
タイミング
発音のタイミングをステップ値で t値 のように指定します。
微妙なニュアンスを表現したり、次の章で扱うオプションと組み合わせてシャッフルやグルーブの調整をします。
o4 l16 t0 c t8 d t0 c t8 e t0 c t8 g
MMLで和音を表現する方法は、3つあります。
'ceg' シングルコーテーションで括る c0e0g 音長さを、0にする Sub{ c }Sub{ e } g Sub{ } を使うとタイムポインタを Subの前に戻します。