/*
■☆Assoc☆
 作成:さくらもどき

詳細
【推奨環境】ヘッドホン
【推奨音源】TWM2
【無断転用】可
【 編曲 】可
【ジャンル】
作成環境
【   OS   】WindoowsXP HomeEdition
【 音源 】TWM2、SoundFont
【出力環境】MDR-CD100	(ヘッドホン)
		RH-300	(ヘッドホン)
		HP-NC80	(ヘッドホン)
		UA-101	(オーディオI/O)
 ◆MEMO
ハードコアが流行っているようなので何となくそれっぽいものを作ってみました。
でも僕が作るとなぜかやたらポップな仕上がりになるんだぜ・・・
―――弐寺の影響な気がしないでもない・・・
*/




曲名{"Assoc"}
作者{"sakuramodki"}

ResetGS
CH(11) SysEx$ = f0,41,10,42,12,{40,1a,15,02},f7;
拍子4,4
テンポ( 175 )
調#()

Function L1(int){Result=(!1 * int)}	//数小節分の長さを返す
Function R1(int){[(int)r*1]}		//数小節分の休符
Function X(int){Sub{[(int)r-1]?}}	//数小節戻ってから再生(デバッグ用)

#UNI={Sub{<#?1>}#?1}

Key = 2


TR=1 q100 @56 BR(36) v127 CHO=127
r2. p.T(127,0,!8)v127 "a0c0e4 p.T(0,127,!4,127,64,!8)v90 ""a0c0e4
R1(8)
R1(8)
R1(8)
R1(7) r2 p.T(127,0,!8)v127 "a0c0e4 p.T(0,127,!4,127,64,!8)v90 ""a0c0e4 "a0c0e4

//=============================================================================================
Str BASS1={
 [7 "araa] "arg^
}

Str BASS2={
 [7 "frff] "frf^
 [4 "eree][3 "araa] "ara^
}

Str BASS3={
 [7 "frff] "fre^
}


Str BASS_PLAY={
r2 p.T(0,127,!4.,127,64,!8)[16 `c32] p=64
[4  BASS1 ]
[4  BASS1 ]
[4  BASS1 ]


[4 "araa]
[8 "araa]
[8 "araa]
[8 "aa]EP.T(127,0,!1)[16 "a]
r1EP=127
[ BASS2]
[ BASS2]

[4 BASS1 ]
[ BASS2]
 
}


TR=2 q90 @88 l16 o3 v127 BR(36)
Sub{<BASS_PLAY>}
BASS_PLAY


//=============================================================================================
Str Synth_1={
gg`c^ | g`d^g   | `c^gb ^g`cb
gg`c^ | `d`e^`c | `g^gb ^g`cg

gg`c^ | g`d^g   | `c^gb ^g`cb
gg`c^ | `d`e^g| [4`g32]`f^ | [`e32]`f`e`c
}

Str Synth_1_2={
gg`c^ | g`d^g   | `c^gb ^g`cb
gg`c^ | `d`e^`c | `g^gb ^g`cg

gg`c^ | g`d^g   | `c^gb ^g`cb
gg`c^ | `d`e^g| [4`g32]`f^ | [`g32]r[`c32]r
}

Str Synth={
r1
R1(8)
R1(8)
EP.T(0,127,L1(8))

[16 gg`c^ | g`d^g ]

[8 gg`c^ | g`d^g ]
[4 `cg`dg ]
[4 `cg`dg]
[4 `c`d ] 
p.T(64,127,!2) [8 `c ] p=64
r1
 Synth_1
 Synth_1_2
 Synth_1
 Synth_1_2

}

TR=3 q50 @82,110,0 l16 o5 v127 REV=50 BR(24) CHO=127
#UNI(Synth)




//=============================================================================================
TR=4 q100 @1,7 l8 o7 v127 REV=50 CHO=127
r1
R1(8)
R1(8)
R1(8)
R1(8)
[
e^^^ ^^^^ d^^^ g^^^
d^^^ ^^^^ c^^^ ^^^^
 e^^^ ^^^^ ^^^^ ^^^^
a^^^ ^^^^ b^^^ ^^^^
]

//=============================================================================================
TR=5 q50 @82,90,1 l8 o5 v127 REV=50 CHO=127
r1
R1(8)
R1(8)
R1(8)

R1(8)

R1(8)
R1(8)

R1(8)
R1(8)



//=============================================================================================
Str PulseSynth0={
[ rrar rrar rrar rrar
  rrbr rrbr rr`cr rr`dr

  rrar rrar rrar rrar
  rrgr rrgr rrer rrer
]
}


Str PulseSynth1={
 [
  rrar rrar rrar rrar
  rrbr rrbr rr[`c32]r rr`dr

  rrar rrar rrar rrar
  rrgr rrgr rrer rrer
 ]
}

#Delay={
 Sub{ r2. v-70 #?1 v+70 }
 Sub{ r4. v-60 #?1 v+60 }
 Sub{ r8 v-40 #?1 v+40 }
 #?1
}

TR=8 q70 @82,90,1 l16 o5 v127 REV=0 CHO=50
#UNI(
r1
 R1(8)
 #Delay( PulseSynth0 )
 #Delay( PulseSynth1 )
 R1(8)
 [ R1(8) ]
 #Delay( PulseSynth0 )
 #Delay( PulseSynth1 )
)



//=============================================================================================
Str PAD={
[
""f0"f0c0e0`e1^1
""e0"e0c0e0`d1
""a0"a0c0e0`g1
]
}

Str PAD2={
 [4 "a0"a0c0e0`g1]
}



TR=9 q100 @51 l1 o5 BR(24) CHO=127
EP.T(50,127,!1)v127 p.T(64,64,!2.,64,127,!4) ""a0"a0c0e0`d1 EP=0
R1(8)
R1(8)
R1(8)
R1(8)
[3 r-1]EP.T(0,127,!1^1)v127 p.T(64,64,!1.,64,127,!2) ""a0"a0c0e0`e1^1 EP=0 CHO=0
r2 p64 EP=127 r2 v60
PAD
PAD
PAD2


//=============================================================================================
UseKeyShift=off 調-()
Str Drum1={
Sub{v120l16<arar aaaa raar aara | raar aaaa raar aaar> l8}
Sub{v80 a+}
Sub{v50 [4 g+r g+16rg+16] }
Sub{v80 [4 rf+ r16[f+16]r16] }
v127 [7 c4]cc
}

Str Drum1_={l8
Sub{v120l16<arar aaaa raar aara | raar aaaa raar aaar> l8}
Sub{v80 [a+2] v100 a+8a+4a+}
Sub{v50 [4 g+r g+16rg+16] }
Sub{v80 [4 rf+ r16[f+16]r16] }
v127 [4 c4] cc rc c[4 c32] [8 c32]
}

Str Drum2={
Sub{v120l16<arar aaaa raar aara | raar aaaa raar aaar> l8}
Sub{v80 a+}
Sub{v50 [4 g+r g+16rg+16] }
Sub{v80 [4 rf+ r16[f+16]r16] }
Sub{v100 [ [3d+0`e4][d+0`e8] ]}
v127 [7 c4]cc
}

Str Drum2_={l8
Sub{v120l16<arar aaaa raar aara | raar aaaa raar aaar> l8}
Sub{v80 [a+2] v100 a+8a+4a+}
Sub{v50 [4 g+r g+16rg+16] }
Sub{v80 [4 rf+ r16[f+16]r16] }
Sub{v100 [ [3d+0`e4][d+0`e8] ]}
v127 [4 c4] cc rc c[4 c32] [8 c32]
}



TR=10 o3 l8 q40 @12,7 V=127 CHO=127 BR(36)
Sub{ /*p.T(127,0,!8,90,127,!4,90,127,!4,127,64,!4.)*/ [4 c32]rc[c16]c[c16][4 c16] }
r1

Sub{`c+}
[3 Drum1 ] Drum1_
[3 Drum1 ] Drum1_
[3 Drum1 ] Drum1_

Sub{`c+}
R1(3)
v90 [8 c4]

Sub{ v50 r1 [16 d16 v+5] }
v90 [16 c8 v+3]
Sub{ p.T(127,0,!8,90,127,!4,90,127,!4,127,64,!4.) [4 c32]rc[c16]c[c16][4 c16] }
r1

[3 Drum1 ] Drum1_
[3 Drum1 ] Drum1_
 Sub{ [4r-1]
  v127 [16 c8][32 c16]
 }

[3 Drum1 ] Drum1_ 
[3 Drum1 ] Drum1_
 Sub{ [4r-1] 
  v127 [16 c8][32 c16]
 }



//=============================================================================================
#ScrUP={p.T(60,127,!4,127,100,!4) #?1  p.W(100,40,!8)}

TR=11 o2 l8 q40 @27,90 V=127 CHO=127 BR(24) p.W(100,0,!8) CHO=127
r1
R1(8)
R1(8) v127
rff+16f16f f+[f16]ff+ rff+[f16]  #ScrUP( [4 f+16][4 f16] )
f[f+16]f16[f+16]f16   fff+[f16]  [ #ScrUP( [ [f+16]f]) ]

rff+16f16f f+[f16]ff+ rff+[f16]  #ScrUP( [4 f+16][4 f16] )
f[f+16]f16[f+16]f16   fff+[f16]  [ #ScrUP( [ [f+16]f]) ]

R1(7) r2 #ScrUP( [ [f+16]f])
R1(8)
R1(8)
R1(8)
rff+16f16f f+[f16]ff+ rff+[f16]  #ScrUP( [4 f+16][4 f16] )
f[f+16]f16[f+16]f16   fff+[f16]  [ #ScrUP( [ [f+16]f]) ]

rff+16f16f f+[f16]ff+ rff+[f16]  #ScrUP( [4 f+16][4 f16] )
f[f+16]f16[f+16]f16   fff+[f16]  [ #ScrUP( [ [f+16]f]) ]


//=============================================================================================
TR=13 q100 @125 l16 o7 v90 REV=0 CHO=50 BR(64)
P.T(0,127,!1) p.T(0,127,!2.,127,0,!4) [24 c32] r4
[4 P.T(127,0,!1,0,127,!1) [ p.T(127,60,!4,60,127,!4)  [ [4 c32 r32]c^[c32r32]]  ] ]
[4 P.T(127,0,!1,0,127,!1) [ p.T(127,60,!4,60,127,!4)  [ [4 c32 r32]c^[c32r32]]  ] ]
[4 P.T(127,0,!1,0,127,!1) [ p.T(127,60,!4,60,127,!4)  [ [4 c32 r32]c^[c32r32]]  ] ]

[ P.T(0,127,!1) p.T(0,127,!2.,127,0,!4) [32 c32] ]
R1(5)
P.T(0,127,!1) p.T(0,127,!2.,127,0,!4) [32 c32]

R1(8)
R1(7) P.T(0,127,!1) p.T(0,127,!2.,127,0,!4) [24 c32] r4
[4 P.T(127,0,!1,0,127,!1) [ p.T(127,60,!4,60,127,!4)  [ [4 c32 r32]c^[c32r32]]  ] ]
[4 P.T(127,0,!1,0,127,!1) [ p.T(127,60,!4,60,127,!4)  [ [4 c32 r32]c^[c32r32]]  ] ]