Miku MML Compiler MMLdl 0.4.1
2009.03.22

Rg
    ; s܂


gbN؂ւ
    n[,n...][,-m[,{+|-}r]]

      n : gbNԍ. 1 - 32
        AɎgpłgbN 16gbN܂

      m : ԓgbN
      r : ␳
        ؂ւΏۂ̃gbŇݎԂ gbNm ̎Ԃɍ킹B
        AgbNm ̎ + ␳Ԃ̕gbNn ƓA
        ɐiłȂƃG[


~LT[ݒ
    TODO



    Cx, Dx, Ex, Fx, Gx, Ax, Bx  

    
      # グ
      + グ(#Ɠ)
      - 
      = i` (Ƃ肠p~)


X[
    &

    c4&d4

    ̂悤Ɏg
    
    (܂̂Ƃ)ȉ̓
    E& ̉Ẻɂ́us`Ń|^gtv̕\Rg[ݒ肳()
    EQ߂̐ݒɂ炸A&̍̉̉ & ̉Ẻ̊JnʒuƂȂ
    ELE߂ & ŌqŜ͈̉̔͂ɑ΂ēKp
    E̎̐ݒ & gꍇłAʏʂA1A1̎(L)蓖Ă


ڒ
    _x

        x : ڒm[gԍ
          F  :  5
          E  :  4
          E- :  3
          D+ :  3
          D  :  2
          D- :  1
          C+ :  1
          C  :  0
          B  : -1
          A+ : -2
          A  : -3
          A- : -4
          G+ : -4
          G  : -5
          G- : -6

x
    Rx   


ftHgݒ
    Lx    
        x : ftHg̉
        ftHg 4



    n[.]
    n[.][^n[.]]*
    *t

        n = 1,2,4,8,16,32,64

        4. : t_S

        8^8 = 4

        *480 = 4 = 4
        *240 = 8 = 8


IN^[uݒ
    Ox  
        
        x : -2 - 8
        ftHg 4

    >   1IN^[uグ
    <   1IN^[u


A ()
    { ... }x


Q[g^C^Xebv^Cݒ
    Qx
        x : 0 - 8
        ftHg 8


e|ݒ
    Tx
        x : 20 - 300

    TODO ŏ̂݁BrύXs


[e|ݒ
    @Tx
        x : 0, 20 - 300

    [Iȃe|ݒ肷B
    ݒ肵gbNɂ̂ݗL
    @T0 ŋ[e|

    [e|LȃR}h
      C,D,E,F,G,A,B
      R
      @DYN,@BRE
      @EOP


qݒ
    @Mn,m
        n,m : n/m q
              m = 1,2,4,8,16,32
              n = 1 - 255

    TODO ŏ̂݁BrύXs


̎ݒ
    @s
        s : ̎薼
            "Miku"
            "Rin"      (얢mF)
            "Len"      (얢mF)
            "Rin_ACT2" (얢mF)
            "Len_ACT2" (얢mF)
            "Luka_JPN"
            "Luka_ENG"

    ) @"Luka_JPN"

    1) gbN̍ŏɔzuꍇA
        ̎ݒ薽߂zuɂ x(R)zuKv܂B
        zuȂꍇ́ẢK߂܂B

    2) ̎ݒ薽߂gpɂ͎Oɉ̎`(@SGR)ɂ
        ̎̒`sĂKv܂B
        vocaloid2.inc ɂ͂炩߉̎`sĂ邽
        .include "vocaloid2.inc"
        MML̍ŏɋLq邱Ƃ
        ̎ݒ薽߂gpł悤ɂȂ܂B

        ȂAvocaloid2.inc ł́A̎薼 BS, PC ̊֌Wȉ̂悤ɂȂĂ邱Ƃ
        OƂ̎`s܂B
        茳VOCALOID2 ̊ȉ PC قȂꍇ
        ꂽ VSQt@C VOCALOID2 Editor ŊJO
        Singer Editor  PC ̕ύXsĂKv܂B

        BS PC ̎薼
        0  0  Miku
        0  1  Rin
        0  2  Len
        0  3  Rin_ACT2
        0  4  Len_ACT2
        0  5  Luka_JPN
        1  5  Luka_ENG

        ȂAL VOCALOID ׂăCXg[ĂKv͂܂B
        CXg[ĂȂ VOCALOID ̓CXg[ς݂̑ VOCALOID 
        }bsO邱Ƃł܂B
        Ⴆ΁A~NAJCXg[Ă邯ǁA
        E ACT1AACT2 ƂɃCXg[ĂȂꍇɁA
        ~NɁAJɃ}bsOčĐɂ
        Singer Editor ňȉ̂悤ɐݒ肵܂B

        BS PC O       IWỉ̎    
        0  0  Miku       Miku
        0  1  Rin        Miku
        0  2  Len        Luka_JPN
        0  3  Rin_ACT2   Miku
        0  4  Len_ACT2   Luka_JPN
        0  5  Luka_JPN   Luka_JPN
        1  5  Luka_ENG   Luka_ENG


ʐݒ ()
    TODO
    Vx ?
    @Vx ?
    NVFhAfNVFh ?


[v
    /:[n]  ... / ... :/

        n : [v 2-1000
            ftHg 2

    q\BAő 8 ܂ŁB

    1
        /  :/ ݂͌̃gbNɂ̂ݓKp邽߁A
       [v̓rŃgbN؂ւꍇɂ͒ӂKvB

    2
        ̎܂߂ă[v܂B
        [vɉ̎ύXƂƂ͂ł܂B
        āAȉ̂悤ȋLq͊Ғʂɂ͓܂B

        c /: d :/ e  ""       NG
        c "" /: d "" :/ e ""    OKB̎ "" ƂȂ

    3
        ͂̎Kp鉹ǂꂩʂłɂȂ̂
        h߂ /:, /, :/ ꂽ^C~Oŉ͈̎̓ʒu
        Zbg܂B

        c /: cc "" / cc "" :/ c ""
           "炠炢炠炤" Ƃ̎ɂȂ

        ł́A[vȊOŉ͈̎̓ʒuZbgi͂܂B
        ȉ̂悤Ɂ@/::/ gp邱Ƃŉ͈̎̓ʒuZbgړI
        [vgp邱Ƃł܂B
        AIɉ͈̎̓ʒuZbgipӂꂽiK
        /::/ ƂLqG[ɂȂ邩Ȃ߁A
        }N邱Ƃ𐄏܂B

        ccc /::/ c ""
           "炠" Ƃ̎ɂȂ


\Rg[ݒ
    @Zp,v[,v2...]

        p : ݒ肷p[^̃CfbNXl

            0 : xh̐[[%] (0 - 100)
            1 : xh̒[%] (0 - 100)
            2 : |^gttO (0,1,2,3)
                0: Ȃ
                1: s`Ń|^gt
                2: sYŃ|^gt
                3: L 1 + 2

            3 : fBPC[%] (0 - 100)
            4 : ANZg[%] (0 - 100)
            () ͐ݒ肷l͈̔

        v : ݒl(Ύw)

        v2 : ݒlJ}ŋ؂ĘAċLq邱Ƃ
            ̃CfbNXlɑ΂p[^ݒ肷

            @Z0,8,4
            
            @Z0,8 @Z1,4
            ƓӖ

            \Rg[̐ݒlύXƂ́A
            ȉ̂悤Ȋł؂ɐݒ肷Ƃ悢ȂB

                @Z0,8,0,0,50,50         ; ev[g normal Ɠl
                @Z0,8,0,0,50,68         ; ev[g accent Ɠl
                @Z0,8,0,0,70,80         ; ev[g strong accent Ɠl
                @Z0,20,0,3,50,42        ; ev[g legato Ɠl
                @Z0,20,0,3,50,25        ; ev[g slow legato Ɠl


ru[gݒ
    @VIBn[,delay]
    @VIBn[,delay[,...]] ()
        n : ru[g^Cv
             0: ru[gȂ
             1: [Normal] Type 1
             2: [Normal] Type 2
              ...
            16: [Slight] Type 4
            ftHg 1

        delay : x (Tick Timew)
            ftHg 160


eRg[p[^̐ݒ
@VELݒ
    @VELn
        n : Ύw 0`127
            Ύw +0`127, -0`127
            ftHg 64

  DYN/BRE/BRI/CLE/OPE/GEN/POR/PIT/PBSݒ
    @DYNn
        n : ݒl(+n, -n őΎw)
            ftHglȂ
            ftHglȂ߁A͐Ύw肷Kv

    @DYN[n,delay,dur,type]+
        n     : ݒl(+n, -n őΎw)
            ͐Ύw肷Kv
            Ύw莞̓p[^ŖIɍŌɎw肵lƂ̑΂ƂȂ
            Aj[V͈̔͂dȂꍇɏdȂʒu̒l
            ΎwƂ͂ȂȂ

        delay : ωJn܂ł̒x
                ̎w

        dur   : ω

        type  : ύXAj[V
                 0 : Kiɕω
                 1 : Iɕω

        ԍŌ̑gݍ킹̃p[^ delay, dur, type ͏ȗ
        ̏ꍇAl 0 ƂĈB

            @DYN127,0,0,0   -> @DYN127
            @DYN127,100,0,0 -> @DYN127,100

    ̃p[^ @DYNƓlɂꂼA
    @BRE, @BRI, @CLE, @OPE, @GEN, @POR, @PIT, @PBS Őݒ


Rg[p[^̉Z
  DYN/BRE/BRI/CLE/OPE/GEN/POR/PIT/PBS̉Z
  
    @EOPtype,ctrlNo,delay,dv1,dur1[,dv2,dur2,...,dvN,durN]

        type  : ύXAj[V
                 0 : Kiɕω
                 1 : Iɕω

        ctrlNo : Rg[p[^ԍ
                \DYN, \BRE w
                O std.inc  include ĂKv

        delay : ωJn܂ł̒x
                ̎w

                  -500 - 50000

        dvN : Zl
        durN  : ω


̎`
    @SGRbs,pc,name

      bs : oNZNg
            0: {
            1: p

      pc : vO`FW
            Singer Editor ŕ\ PC ̒l

      name : ̎薼
            Singer Editor ŕ\̖̎O
            "Miku", "Luka_JPN" 

    1) o[Wł́A"Miku"  bs  pc  0 Œ҂Ă܂̂ŁA
         ȊO̒lɕύXȂ悤ɂĂ


̎
    "xxx" ܂
    "xxx ` s܂

    s鉹11ɑ΂ĉ̎蓖ĂB


    {ꃉCȕꍇ

      ̎Ɏg镶Ƃ̔̕ɂĂ
        phonetic_symbols.dic
      ɋLqeɈˑB
      phonetic_symbols.dic ̃t@C̓R}hCŕύX\

      [xxx] ƏƔL̒ړ͂łB
      pXy[XA^uASpXy[X͖

      )
        "@[N a]" -> [a][i][M][N a]

       &
        2̉̎ & łȂƁA 2ɕB
        1ڂ̒ 32B(݁A͌Œ)

        c8 "&" 
        
        c32c16. ""
        ͓Ӗ

      ␳
        "["A"|"A"-" ͒O̔L(ʏ͕ꉹ) ƓɂȂ

      ␳
        "" ̒Ỏ
        Q[g^C16ȏł16ɂȂi݁A͌Œj

        c8c8c8 ""
        
        c16r16c8c8 ""
        ͓Ӗ

      񂮕␳ ()
        s̔(g, g') ̒O̔L n ̏ꍇA
        Ԃ̎Ԃ 4(TODO lύX) ̏ꍇA
        (N, N') ɕύX


    pꃉCȕꍇ
      


Gx[v` (IɎ)
    @DEe,k,t1,v1[,t2,v2...[,tn,vn]]

        e : Gx[vԍ 1-127
        k : Gx[v
              0 : ő6_wBԎ̍W͉ɑ΂p[Zgw
              1 : ő6_wBԎ̍W͉̊JnʒȗΎԎw
              2 : ő6_wBԎ̍W͉̏IʒȗΎԎw
              3 : ő6_wBŏ 3_: ̊JnʒȗΎԎw
                               c 3_: ̏IʒȗΎԎw
        tn : Gx[v_()
              k = 0     : -100 - 200
                  0ȊO : -500 - 50000

        vn : Gx[v_(l)


̎Gx[vKp (IɎ)
    @LEn,c,e[,s1,s2[,op]]

        n : KpRg[ԍ
           1: DYN
           2: BRE
           3: BRI
           4: CLE
           5: OPE
           6: GEN
           7: POR
           8: PIT
           9: PBS
        
        c : KpXbgԍ
             0: 
               KpGx[vԍŃGx[vKpԂ𐧌
                 0: SKpXbgNA
                 1: SKpXbg
                 2: SKpXbgL
             1: (1)
             2: (2)
             3: (3)
             4: (4)
             5:  l1ȏ(1) TODO l1 ݂͌͌Œl ()
             6:  l1ȏ(2) TODO l1 ݂͌͌Œl ()
             7:  l1ȏ(3) TODO l1 ݂͌͌Œl ()
             8:  l1ȏ(4) TODO l1 ݂͌͌Œl ()
             9:  l2ȏ(1) TODO l2 ݂͌͌Œl ()
            10:  l2ȏ(2) TODO l2 ݂͌͌Œl ()
            11:  l2ȏ(3) TODO l2 ݂͌͌Œl ()
            12:  l2ȏ(4) TODO l2 ݂͌͌Œl ()
            13: ANZg1(1) ()
            14: ANZg2(1) ()

        e : Gx[vԍ
        s1,s2 : XP[p[^ ()
        op : g`@ ()
            Z
            ㏑
            NbsO{Z
            ㏑{Z
            

    ̎ȗ̓Gx[v͓KpȂ
    ̎ɑ΂ēKp邽߁AGx[vύXꍇ
      ߂̑Oł͂ȂA̎̑O @LE ߂zu邱
    ̎́w&xŕỎɑ΂ēKp
    ́wx␳Ỏɑ΂ēKp


.include[
    .include "file"

       file ̒g荞݂܂B

       t@C͈ȉ̗D揇ŒT܂B

       1. .include Lqꂽt@CƓfBNg
       2. -I IvVŎw肳ꂽfBNg
       3. VXeCN[hfBNg
            o[Wł́Amikummlc.exe ƓfBNgz
            include fBNgVXeCN[hfBNgɂȂĂ܂B

       t@Cɑ΂ 2ȏgpꍇ́A
       2ڈȍ~͖܂BidCN[hh~)
       At@Cł "file" Ɏw肷t@CقȂꍇ
       ʃt@CƂĈ܂B
       āAӐ}IɁAdCN[hsꍇ͈ȉ̂悤ɋLq邱Ƃ
       dCN[h\ɂȂ܂B

             .include "file.inc"
             .include "./file.inc"


}N
  }N`
    .equ \}N   uMML
    .macro \}N { uMML }

        .equ ͈Ȃ̒Pu}N̒`
        .macro ͈̒Pu}N̒`

  }Np
    1) \l or \{l}
    2) \}N or \{}N}
    3) \{}N 1,2,...}

    1)  .macro ̒uMMLł̂ݎgp\łB
    lnw肳ꂽꍇA nԖڂ̈ɒu܂B
    n  1ȏłB

    2)  .equ ܂ .macro Œ`ꂽuMML ɒu܂B

    3)  .macro Œ`ꂽuMML ɒu܂B̍ۂɈ̒lwł܂B

  )
      .macro \dup2 {\1\1}
      .macro \dup4 {\{dup2 \{dup2 \1}}}
      .macro \dup8 {\{dup2 \{dup4 \1}}}

      \{dup8 c""}

      ́A

      c"" c"" c"" c"" c"" c"" c"" c""

      Ɠ`łB
    
--END
