NSDL(NES Sound Driver Library)

MML reference: Note

定義(Define)

        a(Accidentals)(length)(Tai/Slur|,Gatetime)
        b(Accidentals)(length)(Tai/Slur|,Gatetime)
        c(Accidentals)(length)(Tai/Slur|,Gatetime)
        d(Accidentals)(length)(Tai/Slur|,Gatetime)
        e(Accidentals)(length)(Tai/Slur|,Gatetime)
        f(Accidentals)(length)(Tai/Slur|,Gatetime)
        g(Accidentals)(length)(Tai/Slur|,Gatetime)

引数(Inputs)

音名以外は省略可能です。

Note

a …
A, La, ラ
b …
H, Si, シ
c …
C, Do, ド
d …
D, Re, レ
e …
E, Mi, ミ
f …
F, Fa, ファ
g …
G, Sol, ソ

Accidentals

+ …
♯ Sharp
# …
♯ Sharp
- …
♭ Flat
= …
♮ Natural

Length

音長。
length分音符となります。
.を付与することで付点の音長を表現可能です。
この.は複数指定可能です。

数値の頭に%を記述した場合は、length[Tick]の長さとなります。
なお、timebase(4分音符の分割数)は24固定です。

また、演算子 + 及び - を用いて音長の加減算が可能です。

lengthを省略時は、lコマンドで指定した数値が適用されます。

Tai/Slur

&を記述する事で、タイ(次の音と繋げる)・スラー(次の音と滑らかに繋げる)を意味します。
音源ドライバー内部では、この音符ではKey-Off処理をせず、次の音符ではKey-On処理をしません。

Gatetime

ゲートタイム(実際に発音する長さ)を指定します。
指定した場合、q, uコマンドのゲートタイムに優先されます。

引数lengthと同様の指定が可能です。

内容(Contents)

音符を意味します。

注意(Notes)

length及びGatetimeは、1〜255[tick]の間に収めてください。
また、length及びGatetime0を指定しないでください。

例(Sample)

    c#4.         /* A dotted quarter note of Cis (Do-Sharp). */
    e1+2.-%1     /* Length = 96 + 48*1.5 - 1 = 167[tick] */