//-----------------------------------------------
// Tangled relation
// (C)Yax
//-----------------------------------------------

TrackName     = {"Tangled relation"}
Copyright     = {"Yax"}

ResetGM();
r4
TrackSync;


//------------------------------------------------
// GMドラム
//------------------------------------------------
// b = bass / B = acostic basss 
 $b{n36,} $B{n35,}

// s = acostic Snare / S = electric Snare / R = side stick
 $s{n38,} $S{n40,} $R{n37,}

// h = close hi-hat / f = pedal hi-hat / o = open hi-hat
 $c{n42,} $f{n44,} $o{n46,}

// e = crash / y = crash 2 / j = ride / t = ride bell / u = ride 2 / d = chinese / i = splash
 $e{n49,} $y{n57,} $j{n51,} $t{n53,} $u{n59,} $d{n52,} $i{n55,}

// q = high tom / a = high mid / z = low mid / w = low / x = high floor/ g = low floor
 $q{n50,} $a{n48,} $z{n47,} $w{n45,} $x{n43,} $g{n41,}

// p = hand crap / k = cowbell / m = tambourine / n = clavas
 $p{n39,} $k{n56,} $m{n54,} $n{n75,}

// A = vibra-slap / C = high bongo / D = low bongo / E = mute high conga / F = open high conga / G = low conga
 $A{n58,} $C{n60,} $D{n61,} $E{n62,} $F{n63,} $G{n64,}

// H = high timbale / I = low timbale / J = high agogo / K = low agogo / L = cabsa / M = maracas
 $H{n65,} $I{n66,} $J{n67,} $K{n68,} $L{n69,} $M{n70}

// N = short whistle / O = long whistle / P = short guiro / Q = long guiro / T = hi wood block / U = low wood block
 $N{n71,} $O{n72,} $P{n73,} $Q{n74,} $T{n76,} $U{n77,}

// V = mute cuca / W = open cuca / X = mute triangle / Y = open triangle
 $V{n78,} $W{n79} $X{n80} $Y{n81}


//------------------------------------------------
// アルペジオ関数
//  D - 1音あたりのずらし幅
//  L - 全体の長さ
//  S - 鳴らす音、{}内に音階を記述(>と<は利用可能)
//------------------------------------------------
Function ARP(Int D, Int L, Str S) {
  Int LNG = L
  Int STP = 0
  Int TEMP = 0
  Str X = ""
  Str RS = ""
  Str NS = ""
  Int J = 0
  Array NAR = ()

  For(Int I = 1; I <= 100; I++ ){
    X = MID(S,I,1)
    J = ASC(X)

    IF (X == "") {
      EXIT
    }

    IF ( J >= 97 ) {
      IF ( J <= 103 ) {
        IF ( NS != "" ) {
	    NS = Replace(NS,{@-},{-@},off)
	    NS = Replace(NS,{@+},{+@},off)
	    NS = Replace(NS,{@#},{#@},off)
	    NS = Replace(NS,{@*},{*@},off)
          NAR = (NAR,NS)
	    NS = ""
        }
	  X = X + "@"
	}
    }
    NS = NS + X
  }
  IF ( NS != "" ) {
    NS = Replace(NS,{@-},{-@},off)
    NS = Replace(NS,{@+},{+@},off)
    NS = Replace(NS,{@#},{#@},off)
    NS = Replace(NS,{@+},{*@},off)
    NAR = (NAR,NS)
    NS = ""
  }

  For(Int I=0;I<SizeOf(NAR);I++){
    TEMP = L - STP
    RS = "r%" + #STR(STP)
    NS = Replace(NAR(I), {@}, {%}+#STR(TEMP),off)
    Sub{ RS NS }
    STP = STP+D
  }
  r%(L)
}

//------------------------------------------------
// ××ダンド関数
// (B>Eでリタルダンド、B>Eでアッチェラダンド)
//  B   - 開始時のテンポ(bpm)
//  E   - 終了時のテンポ(bpm)
//  LEN - 開始から終了までの長さ
//  STP - 切り替えのステップ幅
//------------------------------------------------
Function DANDO(B, E, LEN, STP) {
  Int _STEP = 24
  Int _DIFF = 0
  Int _CNT = 0
  Int _TMP = 0
  Int _LAP = 0

  IF( STP != 0 ) {
    _STEP = STP
  }

  _CNT = LEN/_STEP
  _DIFF = (E - B)/_CNT

  _TMP = B
  Tempo = %(B)

  For(Int I = 1; I < _CNT; I++ ){
    r%(_STEP)
    _TMP = _TMP + _DIFF
    Tempo = %(_TMP)
    _LAP = _LAP + _STEP
  }

  r%(LEN-_LAP)
  Tempo = %(E)
  r-%(LEN)
}


// フェードアウト
FUNCTION FADEOUT() {
  EP.onTime(127,0,!1.^1.^1.^1.^1.^1.^1.^1.)
}


//------------------------------------------------
// 全体の調整
//------------------------------------------------
TR(1)  V(108) REV(25) CHO(30)
TR(2)  V(105) REV(30) CHO(40)
TR(3)  V(110) REV(40) CHO(10)
TR(4)  V(105) REV(80) CHO(20)
TR(5)  V(110) REV(50) CHO(15)
TR(6)  V(110) REV(25) CHO(10)
TR(7)  V(110) REV(50) CHO(70)
TR(8)  V(110) REV(20) CHO(0)
TR(9)  V(110) REV(20) CHO(0)
TR(10) V(120) REV(30) CHO(10)


//------------------------------------------------
// テンポ
//------------------------------------------------
INT T = 255
Tempo=(T)


//------------------------------------------------
// キー
//------------------------------------------------
INT KEY=-1

Key(KEY)                    // 全体のキー
TR(10) TrackKey(KEY * -1)   // リズムトラックの調整用、Keyの符号を逆にしたものをセットしておく



//------------------------------------------------
// MML
//------------------------------------------------

//------------------------------------
// Track 1 : 
//------------------------------------
TR(1) CH(1) P(64)
@34 v100

 o3 l8
 r1rrr

  c1. brr >c<b4 ge4 crr
  d1. arr ba4 gf+4 drr
  c4r rc4 rrr rrr
  d4r rd4 rrr rrr
  e1. r>de dc<b agr err

  c1. brr >c<gb >c<b4 >e<rr
  d1^4br >drr ege d<b4 grr
  c4r rc4 reg b>c<r
  d4r rd4 rf+a >d<ar
  e1. r>eged<ba grerr

 [2
  [2
   c1.^1^8 rer
   d1. f+2.d4.r<ar>
   e4.re4 r4. rcr d4.rd4 r4. rf+r
   g4.rg4 r4.err : f+1.
  ]
  a1.

  [2
   c4.c c4c c4c c4 e4.e f+4f+ g4g a4
   d4.d d4d d4d d4 f+4.f+ g4g a4a f+4
   e4.e e4e e4e <b4> e4.e e4e e4e <b4>
   :
   e4.e e4e e4e <b4> e4.e g4g a4a b4
  ]
  e4.e e4e e4e <b4> e4.e g4g e4e <b4>

  [2
   c1. <g4.g >c4c e4e g4
   d1. <a4.a> d4d f+4f+ <a4>
   c1. e4.e g4g e4e c4<
   :
   a1. >d4.d< a4a >d4d f+4
  ]
  a2.^2 f+4 b4.g+ >e4<b >g+4e <b4>

  [2
   [2
    d4.d [3 d4 : d]
    e4.e [3 e4 : e]
    :
    c+4.c+ [3 c+4 : c+]
    f+4.f+ f+4f+ ag+f+ e4
   ]
   :
   f+4.f+ [3 f+4 : f+]
   a4.a g+4g+ f+g+f+ e4
  ]
  f+4.f+ [2 f+4  f+] e4
  <a1.>
 ]


  c1. brr >c<b4 ge4 crr
  d1. arr ba4 gf+4 drr
  c4r rc4 rrr rrr
  d4r rd4 rrr rrr
  e1. r>de dc<b agr err

  c1. brr >c<gb >c<b4 >e<rr
  d1^4br >drr ege d<b4 grr
  c4r rc4 reg b>c<r
  d4r rd4 rf+a >d<ar
  e1. r>eged<ba grerr


  [2
   c1. <g4.g >c4c e4e g4
   d1. <a4.a> d4d f+4f+ <a4>
   c1. e4.e g4g e4e c4<
   :
   a1. >d4.d< a4a >d4d f+4
  ]
  a1. b2.^2^2. >e4<b >g+4e <b4>

 [2
  [2
   [2
    d4.d [3 d4 : d]
    e4.e [3 e4 : e]
    :
    c+4.c+ [3 c+4 : c+]
    f+4.f+ f+4f+ f+4f+ e4
   ]
   :
   f+4.f+ [2 f+4 f+] g+4
   a4.a bab >c+<b>c+ d+32&e8..<
  ]
  :
  f+4.f+ [3 f+4 : f+]
  a4.a g+4g+ f+g+f+ e4
 ]
 f+4.f+ [2 f+4  f+] e4
 <a1^4 br>

 [2
  c1. brr >c<b4 ge4 crr
  d1. arr ba4 gf+4 drr
  c4r rc4 rrr rrr
  d4r rd4 rrr rrr
  e1. r>de dc<b agr err
 :
  c1. brr >c<gb >c<b4 >e<rr
  d1^4br >drr ege d<b4 grr
  c4r rc4 reg b>c<r
  d4r rd4 rf+a >d<ar
  e1. r>eged<ba grerr

  FADEOUT()
 ]


//------------------------------------
// Track 2 : 
//------------------------------------
TR(2) CH(2) P(44)
@26 v88
Slur(3)
M.onNoteWave(10,50,!1.)

 o4 l8 q85
 r2.r2r

  ARP(1,!1.^1.,{gb>e<})
  ARP(1,!1.,{a>df+<}) ARP(1,!1.,{f+a>d<})
  ARP(0,!4.,{gb>e<})r  ARP(0,!4,{gb>e<})r rrr rr
  ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
  ARP(2,!1.^1.,{b>deg<})

  ARP(1,!1.^1.,{gb>e<})
  ARP(1,!1.,{a>df+<}) ARP(1,!1.,{>df+a<})
  ARP(0,!4.,{b>eg<})r  ARP(0,!4,{b>eg<})r rrr rr
  ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
  ARP(0,!1.^1.,{b>deg<})

 [2
  [2
   ARP(0,!1.^1.,{g>ce<})
   ARP(0,!1.^1.,{b>df+<})
   ARP(0,!1.,{>ceg<})
   ARP(0,!1.,{b>df+<})
   ARP(0,!1.,{b>deg<})
   ARP(0,!1.,{b>df+a<})
  ]

  [2
   ARP(0,!4.,{>egb<}) e8 [2 ARP(0,!4,{>egb<}) e8] ARP(0,!4,{>ef+a<}) ARP(0,!4,{>egb<})
   e ARP(0,!4.,{>egb<}) e [2 ARP(0,!4,{>egb<}) : e8]
   ARP(0,!4.,{>df+a<}) d8 [2 ARP(0,!4,{>df+a<}) d8] ARP(0,!4,{>deg<}) ARP(0,!4,{>df+a<})
   d ARP(0,!4.,{>df+a<}) d8 ARP(0,!4,{>df+a<}) d8 ARP(0,!4,{b>df+<})
   ARP(0,!4.,{>egb<}) e8 [2 ARP(0,!4,{>egb<}) e8] ARP(0,!4,{>ef+a<}) ARP(0,!4,{>egb<})
   e ARP(0,!4.,{>egb<}) e ARP(0,!4,{>egb<}) e8 ARP(0,!4,{>df+a<})
   ARP(0,!4.,{>egb<}) e8 [2 ARP(0,!4,{>egb<}) e8] ARP(0,!4,{>ef+a<}) ARP(0,!4,{>egb<})
   e ARP(0,!4.,{>dgb<}) e [2 ARP(0,!4,{>dgb<}) : e8]
  ]

  [2
   ARP(2,!1.,{g>ce<})  e4.&g&>c4&<g&>c4&err<
   ARP(2,!1.,{a>df+<}) d4.&f+&a4&f+&>d4&<arr
   ARP(2,!1.,{g>ce<})  e4.&g&>c4&<g&>e4&c<rr
   :
   ARP(2,!1.,{a>df+<}) d4.&f+&a4&f+&>d4&<arr
  ]
  ARP(2,!1.,{a>df+<}) ARP(2,!1.,{b>c+eg+<})

  [2
   [2
    d4.  [3 ARP(0,!8,{f+ab>d<}) d4]
    e4.  [3 ARP(0,!8,{g+b>c+e<}) e4]
    :
    c+4. [3 ARP(0,!8,{g+b>c+e<}) c+4]
    f+4. [3 ARP(0,!8,{a>c+ef+<}) f+4]
   ]
   :
   f+4. [3 ARP(0,!8,{a>c+ef+<}) f+4]
   e4. [3 ARP(0,!8,{ab>c+e<}) e4]
  ]
   f+4. [3 ARP(0,!8,{a>c+ef+<}) : f+4] f+8r8
  ARP(3,!1.,{ea>c+f+<})
 ]


  ARP(1,!1.^1.,{gb>e<})
  ARP(1,!1.,{a>df+<}) ARP(1,!1.,{f+a>d<})
  ARP(0,!4.,{gb>e<})r  ARP(0,!4,{gb>e<})r rrr rr
  ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
  ARP(2,!1.^1.,{b>deg<})

  ARP(1,!1.^1.,{gb>e<})
  ARP(1,!1.,{a>df+<}) ARP(1,!1.,{>df+a<})
  ARP(0,!4.,{b>eg<})r  ARP(0,!4,{b>eg<})r rrr rr
  ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
  ARP(0,!1.^1.,{b>deg<})


  [2
   ARP(2,!1.,{g>ce<})  e4.&g&>c4&<g&>c4&err<
   ARP(2,!1.,{a>df+<}) d4.&f+&a4&f+&>d4&<arr
   ARP(2,!1.,{g>ce<})  e4.&g&>c4&<g&>e4&c<rr
   :
   ARP(2,!1.,{a>df+<}) d4.&f+&a4&f+&>d4&<arr
  ]
  ARP(2,!1.,{a>df+<}) ARP(2,!1.^1.,{b>c+eg+<})

  [4
   [2
    d4.  [3 ARP(0,!8,{f+ab>d<}) d4]
    e4.  [3 ARP(0,!8,{g+b>c+e<}) e4]
    :
    c+4. [3 ARP(0,!8,{g+b>c+e<}) c+4]
    f+4. [3 ARP(0,!8,{a>c+ef+<}) f+4]
   ]
   :
   f+4. [3 ARP(0,!8,{a>c+ef+<}) f+4]
   e4. [3 ARP(0,!8,{ab>c+e<}) e4]
  ]
   f+4. [3 ARP(0,!8,{a>c+ef+<}) : f+4] f+8r8
  ARP(3,!1.,{ea>c+f+<})

  [2
   ARP(1,!1.^1.,{gb>e<})
   ARP(1,!1.,{a>df+<}) ARP(1,!1.,{f+a>d<})
   ARP(0,!4.,{gb>e<})r  ARP(0,!4,{gb>e<})r rrr rr
   ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
   ARP(2,!1.^1.,{b>deg<})
  :
   ARP(1,!1.^1.,{gb>e<})
   ARP(1,!1.,{a>df+<}) ARP(1,!1.,{>df+a<})
   ARP(0,!4.,{b>eg<})r  ARP(0,!4,{b>eg<})r rrr rr
   ARP(0,!4.,{ab>df+<})r  ARP(0,!4,{ab>df+<})r rrr rr
   ARP(0,!1.^1.,{b>deg<})

   FADEOUT()
 ]

//------------------------------------
// Track 3 : 
//------------------------------------
TR(3) CH(3) P(84)
@1 v110

 o5 l8 q85
 r2.r2r

  q90
  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2.<
  ARP(0,!1.,{a>f+<}) >d2.a2.<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >g+32a16.f+d< br
  ARP(2,!1.,{eb>dgb<}) r>>c+32d16.ed< bge 'd<g'r'bg' rr 

  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2 >d+32e8..<<
  ARP(0,!1.,{>f+a<}) >>c+32d4...<a4.f+4.dr<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >f+aa+ >cr<<
  ARP(2,!1.,{eb>dgb<}) r >dg b>dge 'd<g'r'bg' rr <

 [2
  [2
   'g2..e2..' rr 'ec'rr  'b2.g2.'r 'g2e2'r
   'f+2..a2..' rr'f+d'rr 'a2.>d2.<'r'a2f+2'r
   'g4.b4.'r 'gb'rr rr 'g4b4>d4<'r 
   'f+4.a4.'r 'f+a'rr rr 'f+4b4>d4<'r 
   'g4.d4.'r 'gd'rr rr 'g4b4d4'r
   :
    y64,1; a4>d4e4 f+2^8 y64,0; r<
   ]
   ARP(!4.,!1.,{f+a>dd+<})

   [2
    ARP(0,!1.^1.,{gb>e<})  r-1. r>g2.f+2r<
    ARP(0,!1.^1.,{f+a>d<}) r-1. r>f+2.d2r<
    ARP(0,!1.^1.,{gb>e<})  r-1. >r f+2.a2r <
    :
    ARP(0,!1.^1.,{b>eg<})  r-1. r>a2.b2r<
   ]
   ARP(0,!1.^1.,{>degb<}) r-1. r >f+32g8..e4d4 <b4g4r

   r
   [2
    y64,1; rrr c4.e4.g4.  'e^2b^2' 'c2.'r y64,0;
    y64,1; rrr d4.f+4.a4. 'f+^2d^2' 'a2.' r y64,0;
    y64,1; rrr e4.g4.b4.  'g^2e^2' e2.r y64,0; 
    :
    y64,1; rrr d4.f+4.a4. 'f+^2d^2' a2. r y64,0; 
   ]
   y64,1; rrr f+4.a4.b4.g+^2>c+2.< y64,0; 

   [2
    [2
     '>f+2.d2.<a2.'  r f+4a>d4<
     '>e2.c+2.<b2.'  r >c+4<bg+4
     :
     '>e2.c+2.<g+2.' r >c+4g+e4<
     '>f+2.c+2.<a2.'  r >e4c+<a4
    ]
    :
    '>e2.c+2.<a2.'  r >c+4ae4<
    '>f+2.c+2.<b2.' r >c+4<ba4
   ]
   '>e2.c+2.<a2.'  r >c+4aer<
  :
  ARP(3,!1.,{a>c+ef+<}) // r-8 e24f24f+24
 ]
 ARP(3,!1.,{a>c+ef+<})


  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2.<
  ARP(0,!1.,{a>f+<}) >d2.a2.<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >g+32a16.f+d< br
  ARP(2,!1.,{eb>dgb<}) r>>c+32d16.ed< bge 'd<g'r'bg' rr 

  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2 >d+32e8..<<
  ARP(0,!1.,{>f+a<}) >>c+32d4...<a4.f+4.dr<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >f+aa+ >cr<<
  ARP(2,!1.,{eb>dgb<}) r >dg b>dge 'd<g'r'bg' rr <


   r
   [2
    y64,1; rrr c4.e4.g4.  'e^2b^2' 'c2.'r y64,0;
    y64,1; rrr d4.f+4.a4. 'f+^2d^2' 'a2.' r y64,0;
    y64,1; rrr e4.g4.b4.  'g^2e^2' e2.r y64,0; 
    :
    y64,1; rrr d4.f+4.a4. 'f+^2d^2' a2. r y64,0; 
   ]
   y64,1; rrr f+4.a4.brg+^2^2.r  ARP(4,!1.,{g+b>c+e<}) y64,0; 

   [4
    [2
     '>f+2.d2.<a2.'  r f+4a>d4<
     '>e2.c+2.<b2.'  r >c+4<bg+4
     :
     '>e2.c+2.<g+2.' r >c+4g+e4<
     '>f+2.c+2.<a2.'  r >e4c+<a4
    ]
    :
    '>e2.c+2.<a2.'  r >c+4ae4<
    '>f+2.c+2.<b2.' r >c+4<ba4
   ]
   '>e2.c+2.<a2.'  r >c+4aer<
   ARP(3,!1.,{a>c+ef+<})

 [2
  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2.<
  ARP(0,!1.,{a>f+<}) >d2.a2.<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >g+32a16.f+d< br
  ARP(2,!1.,{eb>dgb<}) r>>c+32d16.ed< bge 'd<g'r'bg' rr 
 :
  ARP(0,!1.,{g>e<})  >g24a24a+24b2^8 g2 >d+32e8..<<
  ARP(0,!1.,{>f+a<}) >>c+32d4...<a4.f+4.dr<
  ARP(0,!4.,{>eb<})r  ARP(0,!4,{>eb<})r gb>e g<r
  ARP(0,!4.,{>f+a<})r  ARP(0,!4,{>f+a<})r >f+aa+ >cr<<
  ARP(2,!1.,{eb>dgb<}) r >dg b>dge 'd<g'r'bg' rr <
  
  FADEOUT()
 ]
 r1.



//------------------------------------
// Track 4 : 
//------------------------------------
TR(4) CH(4) P(68)
@53 v70
M.onNoteWave(0,20,!1.)

 o5 l8 q95
 r2.r2r

 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'd1.^1.g1.^1.'
 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'e1.^1.g1.^1.'

[2
// [A]
 [8 r1.]
 [8 r1.]

// [B]
 [8 r1.]
 [8 r1.]

// [C]
 [8 r1.]
 [8 r1.]

// [D]
 [8 r1.]
 [8 r1.]
]

 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'd1.^1.g1.^1.'
 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'e1.^1.g1.^1.'

// [C]
 [8 r1.]
 [9 r1.]

// [D]
 EP(100)
 [4
  rrrr 'd1a1'
  rrrr 'e1g+1'
  rrrr 'g+1b1'
  rrrr 'a1e1'
  rrrr 'd1a1'
  rrrr 'e1g+1'
  rrrr 'a1f+1'
  rrrr 'a1>c+1<'
 ]

 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'd1.^1.g1.^1.'
 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'e1.^1.g1.^1.'

 /*
 r1.r1.r1.r1. r1.r1.
 EP.onTime(127,50,!1.^1.) 'd1.^1.g1.^1.'
 */


//------------------------------------
// Track 5 : 
//------------------------------------
TR(5) CH(5) P(60)
@49 v54
M.onNoteWave(10,50,!1.)

 o4 l8 q88
 r2.r2r

 [2
  ARP(0,!1.^1.,{eb})
  f+1.^1. r-1.^1. >d1.<a1.
  'ge'rrr 'bg'rr rrr rr
  'af+'rrr 'a>d<'rr rrr rr
  ARP(0,!1.^1.,{eb})
 ]

 [2
  [2
   e1.^1.
   f+1.d1.
   e1. f+1.
   g1.f+1.
  ]

  [2
   b1.^1. r-1.^1. e^2.g^2 e1.
   a1.^1. r-1.^1. d^2.f+^2 d1.
   g1.^1. r-1.^1. <b^2.>e^2 b1.
   e1.^1. r-1.^1. g^2. b^2 g^2.<b^2>
  ]

  c1.^1.  
  d1.^1.  
  e1.^1.  
  d1.^1.  
  c1.^1.  r-1.^1. e1.^1.
  d1.^1.  r-1.^1. f+1.^1.
  e1.^1.  r-1.^1. g1.^1.
  f+1. r-1. d1.
  g+1. r-1. e1.

  [2
   [2
    ARP(0,!1.,{f+d})  r-1. v(MML(v)+10) >> 'f+a'rrr 'f+a'rr 'f+a'rr 'f+a'r << v(MML(v)-10)
    ARP(0,!1.,{e<b>}) r-1. v(MML(v)+10) >> 'eg+'rrr 'eg+'rr 'eg+'rr 'eg+'r << v(MML(v)-10)
    :
    ARP(0,!1.,{ec+})  r-1. v(MML(v)+10) >> 'bg+'rrr 'bg+'rr 'bg+'rr 'bg+'r << v(MML(v)-10)
    ARP(0,!1.,{f+c+}) r-1. v(MML(v)+10) >> 'ae'rrr 'ae'rr 'ae'rr 'ae'r <<     v(MML(v)-10)
   ]
   :
   ARP(0,!1.,{f+c+})  r-1. v(MML(v)+10) >> 'ae'rrr 'ae'rr 'ae'rr 'ae'r <<     v(MML(v)-10)
   ARP(0,!1.,{ea})    r-1. v(MML(v)+10) >> 'a>c+<'rrr 'a>c+<'rr 'a>c+<'rr 'a>c+<'r << v(MML(v)-10)
  ]
  ARP(0,!1.,{f+c+})   r-1. v(MML(v)+10) >> 'ec+'rrr 'ec+'rr 'ec+'rr 'ec+'r << v(MML(v)-10)
  ARP(0,!1.,{af+c+})  r-1. >> 'f+1.c+1.' <<
 ]


 [2
  ARP(0,!1.^1.,{eb})
  f+1.^1. r-1.^1. >d1.<a1.
  'ge'rrr 'bg'rr rrr rr
  'af+'rrr 'a>d<'rr rrr rr
  ARP(0,!1.^1.,{eb})
 ]


  c1.^1.  
  d1.^1.  
  e1.^1.  
  d1.^1.  
  c1.^1.  r-1.^1. e1.^1.
  d1.^1.  r-1.^1. f+1.^1.
  e1.^1.  r-1.^1. g1.^1.
  f+1. r-1. d1.
  g+1. r-1. e1.
  b1.

  [4
   [2
    ARP(0,!1.,{f+d})  r-1. v(MML(v)+10) >> 'f+a'rrr 'f+a'rr 'f+a'rr 'f+a'r << v(MML(v)-10)
    ARP(0,!1.,{e<b>}) r-1. v(MML(v)+10) >> 'eg+'rrr 'eg+'rr 'eg+'rr 'eg+'r << v(MML(v)-10)
    :
    ARP(0,!1.,{ec+})  r-1. v(MML(v)+10) >> 'bg+'rrr 'bg+'rr 'bg+'rr 'bg+'r << v(MML(v)-10)
    ARP(0,!1.,{f+c+}) r-1. v(MML(v)+10) >> 'ae'rrr 'ae'rr 'ae'rr 'ae'r <<     v(MML(v)-10)
   ]
   :
   ARP(0,!1.,{f+c+})  r-1. v(MML(v)+10) >> 'ae'rrr 'ae'rr 'ae'rr 'ae'r <<     v(MML(v)-10)
   ARP(0,!1.,{ea})    r-1. v(MML(v)+10) >> 'a>c+<'rrr 'a>c+<'rr 'a>c+<'rr 'a>c+<'r << v(MML(v)-10)
  ]
  ARP(0,!1.,{f+c+})   r-1. v(MML(v)+10) >> 'ec+'rrr 'ec+'rr 'ec+'rr 'ec+'r << v(MML(v)-10)
  ARP(0,!1.,{af+c+})  r-1. >> 'f+1.c+1.' <<


  [2
   ARP(0,!1.^1.,{eb})
   f+1.^1. r-1.^1. >d1.<a1.
   'ge'rrr 'bg'rr rrr rr
   'af+'rrr 'a>d<'rr rrr rr
   ARP(0,!1.^1.,{eb})
  ]

 FADEOUT()

   ARP(0,!1.^1.,{eb})
   f+1.^1. r-1.^1. >d1.<a1.
   'ge'rrr 'bg'rr rrr rr
   'af+'rrr 'a>d<'rr rrr rr
   ARP(0,!1.^1.,{eb})

//------------------------------------
// Track 6 : 
//------------------------------------
TR(6) CH(6) P(64)
@82 v90
M.onNoteWave(0,50,!1)
 r2.r2r8

// [Intro]
 [8 r1.]
 [8 r1.]

[2
// [A]
 o5 l8 
 [2
  rrrr g4.f+4grrb2.rb4agr
  a2.r a4gf+r
  g2.f+2.
  e4.re4r c4der
  f+4.rf+4r d4ef+r
  g4.rg4r e4f+gr
  :
  a1.
 ]
 a1 rra+4

// [B]
  [2
   b4.r b4b b4a g4 b2^4a b4agr
   a4.r a4a a4g f+4 a2^4f+ a4b>c<r
   :
   b4.r b4b b4a g4 b2^8rb b4af+r
   g4.r g4g g4f+ e4 g2 aga b4b >cr<
  ]
  b4.r b4b b4a g4 b2^4r b4>cdr
  e4.r e4e e4d c4< b2^8r ga4gar

// [C]
  g1. e4.de4f+g4err
  f+1.d^2r<b^2r>
  c^2r e^2r g4.gf+4e f+4grr
  a1.f+^2rd^2r

  g1. e4.de4f+g4brr
  a1. >c^2r<b4.r f+4
  g1. b4.ra4gb4>crr
  d2.rc4drr e2. v(MML(v)+10) rc+4der

// [D]
 [2
  f+^2rf+16g16a4.^4 g+4.g+ f+4e f+4c+rr
  e^2rf+g+4.^4 f+2erc+4r<a4r>
  f+^2rf+16g+16a4.^4 g+4.rar b4rg+4r
  :
  >c+^2r<ba4 b4r a2.r c+4der
 ]
 >c+^2r<ba4 b4r a1.
 v(MML(v)-10)
]

// [Intro phrase]
 [8 r1.]
 [7 r1.]
 r2.< rr4gar

// [C]
  g1. e4.de4f+g4err
  f+1.d^2r<b^2r>
  c^2r e^2r g4.gf+4e f+4grr
  a1.f+^2rd^2r

  g1. e4.de4f+g4brr
  a1. >c^2r<b4.r f+4
  g1. b4.ra4gb4>crr
  d2.rc4drr e2.^2.r2. v(MML(v)+10) rc+4der

// [D]
 [2
  [2
   f+^2rf+16g16a4.^4 g+4.g+ f+4e f+4c+rr
   e^2rf+g+4.^4 f+2erc+4r<a4r>
   f+^2rf+16g+16a4.^4 g+4.rar b4rg+4r
   :
   >c+^2r<ba4 b4r a2.r c+4der
  ]
  :
  >c+^2r<ba4 >e4r c+2.r< a4g+er
 ]
 >c+^2r<ba4 b4r a1.
 v(MML(v)-10)




//------------------------------------
// Track 7 : 
//------------------------------------
TR(7) CH(7) P(64)
 r2.r2r8

// [Intro]
 [8 r1.]
 [8 r1.]

[2
// [A]
 [8 r1.]
 [8 r1.]

// [B]
 [8 r1.]
 [8 r1.]

// [C]
 [8 r1.]
 [8 r1.]

// [D]
 [8 r1.]
 [8 r1.]
]

// [Intro phrase]
 @30 o5 l8 v99 q85
 M.onNoteWave(5,80,!1.)
 Slur(0)
 rrre g4.a4 b.r. e f+16&g2.&!16.f+16r >dc<b
 a4.f+b4f+>c4<f+ rr>c+32&d4.&!16c+16. <b4a4.gf+r
 e4.g err ef+g ab
 f+4.a f+rr f+>c<b af+
 g2.a a+16&b4.^2.^2&a+16 ref+

 g2.>c+32&d4.&c+16. c<b a4.b4ab >c<b>cde
 f16&f+4.&f16 ga-a f+4d rrg+16&a4.&g+16 g4r f+4e dr
 d+32&e8.&d+32rg erd c<ba >d<b
 g+32&a8.&g+32 r>d f+rd ed+e f+r
 f+16&g1^4&!16f+16r b1^4....&!4f+64

// [Outro]
 [8 r1.]
 [8 r1.]
 // Fade out
 [8 r1.]

//------------------------------------
// Track 8 : 
//------------------------------------
TR(8) CH(8) P(64)



//------------------------------------
// Track 9 : 
//------------------------------------
TR(9) CH(9) P(64)



//------------------------------------
// Track 10 : ドラム系
//------------------------------------
TR(10) CH(10)

@1,90,1
l8
Rhythm {
  
  v70 rrr rrr rrr rrb r-1. v90 jrr jrr jrr jr v127y

  [2
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr v90srv60s v90srr  r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr brr rrb r-1. v90 rrr srr rrr srr     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrv100d
   v70 rrb rrr rrr rrb r-1. v90 rrr srr rrv65s16s16 v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrf rrr rrr rrr r-1. rrr rrr rrr rrr         r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   :
   v70 rrr rrr rrr rrb r-1. rrr rrr rrr v70s32v90s..r      r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
  ]
  v70 rrr rrr rrr rrb r-1. v100 rq32q16.q aaz zrg v70s32v90s..r r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y

 [2
  [2
   v70 rrb rrr rrr rrb r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 crr orc crr orc
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 crr orc crr orc
   v70 rrb rrr rrr rrb r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 crr orc crr orc
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 crr orc crr orc
   v70 rrb rrr brr rrb r-1.  v90 rrr srr rrr srr    r-1. v70 [4 frr] r-1. v90 crr orr rrr rrr
   v70 rrb rrr brr rrb r-1.  v90 rrr srr rrr srr    r-1. v70 [4 frr] r-1. v90 crr orr rrc rrr
   v70 rrb rrr brr rrb r-1.  v90 rrr srr rrv65s16s16 v90srr r-1. v70 [4 frr] r-1. v90 crr orr rrc rr v100d
   :
   v70 rrr rrr rrr rrb r-1.  v90 rrr rrr rrs srr    r-1. v70 [4 frr] r-8 v127 e
  ]
  v70 rrb rrb rrb rrb r-1.  v90 rrr srr sv60sr v90 szr r-1. v70 [4 frr] r-1. v90 [4 crv40c] r-8 v127 e

  [2
   [2
    v70 rrb rrb brb rrb r-1. v90 rrr s4. rrr s4. r-1. v90 rrc crc crc crc
    v70 rrb rrb brb rrb r-1. v90 rrr s4. rrr s4. r-1. v90 crc crc crc cro
    v70 rrb rrb brb rrb r-1. v90 rrr s4. rrr s4. r-1. v90 rrc crc crc crc
    :
    v70 rrb rrb brb rrb r-1. v90 rrr s4. rrs s4. r-1. v90 crc crc crc cr v110 d
   ]
   :
   v70 rrb rrb brb rrb r-1. v90 rrr ssr aaz ss4 r-1. v90 crc crc crc cr v127 e
  ]
  v70 rrr brr brr brr r-1. v90 rrs rrs qas zws r-1. v90 crc crc crc cr v127 y

  [2
   v70 rrr rrb rrb rrb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jrt
   v70 rrb rrb rrb brb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jr v110d
   v70 rrr rrb rrb rrb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jrt
   :
   v70 rrb rrr brr brb r-1. v90 rrr srr srv60s16s16 rrr r-1. v100 rrr jrr jrr jr v127y
  ]
  v70 rrb rrr brr brb r-1. v90 rrr ssr sv60s16s16rv90 rwr r-1. v100 rrr jrr jrr jr v127y

  [2
   v70 rrb rrb rrb rrb r-1. v90 rrr srr srr rrr r-1. v100 rrr jrr jrr jrt
   v70 rrb rrb rrb brb r-1. v90 rrr srr ssr rv60s16s16r r-1. v100 rrr jrr jrr jr v110d
   v70 rrr rrb rrb rrb r-1. v90 rrr srr srr rrr r-1. v100 rrr jrr jrr jrt
   :
   v70 rrb rrb rrb rrb r-1. v90 ssr v60s16s16v90wr szr sv60s16s16r r-1. v100 rrr jrr jrr jr v127y
  ]
  v70 rrb brr brr brb r-1. v100 q32q16.qq a32a16.aa zzz v90 ssr r-1. v100 rrr jrr jrr jr v127y

  [2
   [2
    v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. rrv90t [3 v100 jr v90t]
    v70 rrb rrr brb rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
    :
    v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
    v70 rrb rrr brr rrb r-1. v90 rrr s4r rrs s4r r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v110 d
   ]
   :
   v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
   v70 rrb brr brr brb r-1. v90 sv60s16s16rv100 qas azs swr r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v127 y
  ]
  v70 rrb brr brr brb r-1. v60 s16s16 v100sr qas a16z16ws grs r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v118 d
  v70 rrr rrr rrr rrb r-1. v80 [4 frr] r-1. r2. r2r v127 e
 ]

  [2
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr v90srv60s v90srr  r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr brr rrb r-1. v90 rrr srr rrr srr     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrv100d
   v70 rrb rrr rrr rrb r-1. v90 rrr srr rrv65s16s16 v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   :
   v70 rrf rrr rrr rrr r-1. rrr rrr rrr rrr         r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. rrr rrr rrr v70s32v90s..r      r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
  ]
  v70 rrb rrr brr rrb r-1. v90 rrr srr rrs saz     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
  v70 rrr brr brr brb r-1. v90 rrs rsv60s16s16 v90 rrs srr     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y


  [2
   v70 rrr rrb rrb rrb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jrt
   v70 rrb rrb rrb brb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jr v110d
   v70 rrr rrb rrb rrb r-1. v90 rrr rrr srr rrr r-1. v100 rrr jrr jrr jrt
   :
   v70 rrb rrr brr brb r-1. v90 rrr srr srs rrr r-1. v100 rrr jrr jrr jr v127y
  ]
  v70 rrb rrr brr brb r-1. v90 rrr ssr ssr rwr r-1. v100 rrr jrr jrr jr v127y

  [2
   v70 rrb rrb rrb rrb r-1. v90 rrr srr srr rrr r-1. v100 rrr jrr jrr jrt
   v70 rrb rrb rrb brb r-1. v90 rrr srr ssr rv70s16s16r r-1. v100 rrr jrr jrr jr v110d
   :
   v70 rrr rrb rrb rrb r-1. v90 rrr srr srr rrr r-1. v100 rrr jrr jrr jrt
   v70 rrb rrb rrb rrb r-1. v90 ssr v60s16s16v90wr szr sv60s16s16r r-1. v100 rrr jrr jrr jr v127y
  ]
  v70 rrr rrb rrb rrb r-1. v90 rrr srr srr rrr r-1. v100 rrr jrr jrr jr v127e
  v70 rrr rrr rrr rrb r-8 v110 d
  v70 rrb brr brr brb r-1. v100 a32a16.zz q32q16.aa zzw v90 sv65s16s16r r-1. v100 rrr jrr jrr jr v127y

  [2
   [2
    [2
     v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. rrv90t [3 v100 jr v90t]
     v70 rrb rrb brb rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
     :
     v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
     v70 rrb brr brr rrb r-1. v90 rrr s4r rrs s4r r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v110 d
    ]
    :
    v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
    v70 rrb brb brb bbb r-1. v90 sv60s16s16rv100 qas azs swr r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v127 y
   ]
   :
   v70 rrb rrr brr rrb r-1. v90 rrr s4r rrr s4r r-1. v80 [4 frr] r-1. [4 v100 jr v90t]
   v70 rrb brb bbb bbb r-1. v90 [2 sv70s16s16s] qas aqsr-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v127 y
  ]
  v70 rrb brr brr brb r-1. v60 s16s16 v100sr qas a16z16ws grs r-1. v80 [4 frr] r-1. [4 v100 jr : v90t] v118 d
  v70 rrr rrr rrr rrb r-1. v80 [4 frr] r-1. r2. r2r v127 e


  [2
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr v90srv60s v90srr  r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr brr rrb r-1. v90 rrr srr rrr srr     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrv100d
   v70 rrb rrr rrr rrb r-1. v90 rrr srr rrv65s16s16 v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrf rrr rrr rrr r-1. rrr rrr rrr rrr         r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   :
   v70 rrr rrr rrr rrb r-1. rrr rrr rrr v70s32v90s..r      r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
  ]
  v70 rrr rrr rrr rrb r-1. v100 rq32q16.q aaz zrg v70s32v90s..r r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
}

FADEOUT()

Rhythm {
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr rrr v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr rrr rrr r-1. v100 rrr Rrr rrr Rrr    r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. v100 rrr Rrr v90srv60s v90srr  r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrb rrr brr rrb r-1. v90 rrr srr rrr srr     r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrv100d
   v70 rrb rrr rrr rrb r-1. v90 rrr srr rrv65s16s16 v90srr r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
   v70 rrf rrr rrr rrr r-1. rrr rrr rrr rrr         r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jrr
   v70 rrr rrr rrr rrb r-1. rrr rrr rrr v70s32v90s..r      r-1. v70 [4 frr] r-1. v90 rrr jrr rrr jr v127 y
}

