TrackName = {"Rainbow Star!"};
Copyright = {"AMIO"};
/*
今から何かが始まる……という雰囲気のロック風ループBGM。
レースゲームか何かのメニュー画面っぽい。
*/
Int Repeat = 2;
// 繰り返し回数を設定できます
//-----------------------------variables---------------------------------
Int In = 1;//イントロからメロディースタートまでの時間
Int Ltime = 24;//1ループの時間
Int Out = Ltime*Repeat+In+1;//フェードアウト開始時間
Int Fade = 8;//フェードアウトにかかる時間
Int Tmp = 192;//テンポ
Int Sig = 4;
Int Ptime = (In+Ltime*Repeat+Fade)*Sig*60/Tmp;
//---------------------------functions---------------------------------
Function Repstr(Str MML,Int Tim,Int Rep,Int Beg=0)//MML繰り返し処理関数
{
Int I;
For(I=0;I<Rep-Beg;I++){
Time((I+Beg)*Tim+In+1:1:0) MML;
}
}
Function PrintPlayTime(Int Tim)
{
Int Minute = Tim/60;
Int Second = Tim%60;
If(Tim<60){ Print({"演奏時間:"}+Second+{"秒"}); }
Else{Print({"演奏時間:"}+Minute+{"分"}+Second+{"秒"}); }
}
Function FadeoutVol(Int Mes,Int Prev)// Prev:pre-volume フェードアウト前のメインボリューム
{
Str I = {!1};
While(Mes>1){I = I+{^1}; Mes--;}
Str CMD = {V.onTime(Prev,0,LEN)};
CMD.s({LEN},I);
CMD;
}
Function FadeoutAll(Int Mes,Array X)
{
Int T = Time;
For(Int J=1;J<=16;J++){
TR(J); CH(J); Time(T); FadeoutVol(Mes,X(J-1));
}
}
//------------------------------system setting---------------------------------
SoundType=1;TimeBase(96);System.MeasureShift(1);Include(guitar.h);Include(gs.h);
Time(0:1:0) Tempo(Tmp);TimeSignature(Sig,4);PrintPlayTime(Ptime);
ResetGM; r2 ResetGS; r2 TrackSync;
//----------------------------------strings-----------------------------------
Str TR1In = {};
Str TR1 = {[16r1]
[6r1]
l8 v110 ['"f+f+'][3r'"f+f+'] ['"bb'][3r'"bb']};
Str TR1Out = {};
Str TR2In = {};
Str TR2 = {};
Str TR2Out = {};
Str TR3In = {};
Str TR3 = {l8 o5 v110 q100 t_.Random(1); v_.Random(4);
[15'"be'4^8'"bd'2^8]'"be'4r2^4
'eg'1,100'f+a'1,100'a-b'1^2,100'f+a'2,100
'eg'1,100'f+a'1,100
[4'a`c`e'][r'a`c`e'] [4'b`e-`f+'][r'b`e-`f+']};
Str TR3Out = {l8 o5 [8'"be'4^8'"bd'2^8]};
Str TR4In = {};
Str TR4 = {};
Str TR4Out = {};
Str TR5In = {};
Str TR5 = {};
Str TR5Out = {};
#T = t.N(0,2,4);
Str TR6In = {};
Str TR6 = {l8 o5 t_.Random(1); v_.Random(4);
[15#T'"bea-'4r#T'"bdf+'2r]#T'"bea-'4r2^4
#T'ceg'1,100#T'df+a'1,100#T'ea-b'1^2,100#T'df+a'2,100
#T'ceg'1,100#T'df+a'1,100
[Gbm7b5(2,8);Gbm7b5(-2,8);]r8Gbm7b5(2,4);Gbm7b5(-2,8);
[B(2,8);B(-2,8);]r8B(2,4);B(-2,8);};
Str TR6Out = {l8 o5 [8#T'"bea-'4r#T'"bdf+'2r]};
Str TR7In = {};
Str TR7 = { l16 q96 t_.Random(1); v_.Random(4);
[15r1] r2 o6 v100 d^^e^^f+^
v105 g^^e^^g^e4c4 v95 "a4^8"a-4^8"a4
Slur(0)
v95 "b&c&"b&c&"b&c&"b&c&"b&c&"b&c&"b&c&"b&c&"b4 M(0) v100 r4e4f+4,90
v105 g^^e^^g^e4c4 "a4^8 v110 e4^8a4
v115 M(60) '`c``c,,80'2^8,90 M(0) Slur(1) a8&b8&`c8
v110 babf+e-"be-"a"f+8e-8f+8b8};
Str TR7Out = {};
Str TR8In = {};
Str TR8 = {l8 o3
q75 [16e4^8:"b2^8]r2^8
q90 c1d1e1^2d2c1d1
q80 "f+4^8"f+4^8"f+4"b4^8"b4^8"b4};
Str TR8Out = {q75 [8e4^8"b2^8]};
Str TR9In = {};
Str TR9 = {};
Str TR9Out = {};
Str TR10In = {l8 t_.Random(1); v_.Random(4);
Sub{v.N(100,85,0,100,0,100,85,0)n35n35rn35rn35n35r}
Sub{v.N(105,95,0,105,0,100,105)n49n49rn49rn49n49r}v.N(100,90,100)n38n38rn38rv.N(100,85,100)[3n38,16,50]r16v100n38};
Str TR10 = {[7Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)[8n46]}v100[rrn38r]]
Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)[6n46]}v100rrn38rrv.N(100,85,100)[3n38,16,50]r16v100n38
Sub{v100n52}
Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)r[7n46]}v100[rrn38r]
[6Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)[8n46]}v100[rrn38r]]
v100'n35n36n38n49'rrr [3't.N(0,0,2)n35n36n38n40'16:r]r16
t0
Sub{n49}
Sub{v100n35rrn35rrn35r}Sub{v100n36rrn36rrn36r}Sub{v100rrrn42rrrr}v100[rr'n38n65']rr
[3Sub{v100n35rrn35rrn35r}Sub{v100n36rrn36rrn36r}Sub{v100n42rrn42rrrr}v100[rr'n38n65']rr]
Sub{v100n35rrn35rrn35r}Sub{v100n36rrn36rrn36r}Sub{v70n46rrn46rrrr}v100[rr'n38n65']rr
Sub{v100n35rrn35rrn35r}Sub{v100n36rrn36rrn36r}Sub{v80n46rrn46rrrr}v100[rr'n38n65']rr
Sub{v100[4n35][rn35]}Sub{v100[4n36][rn36]}Sub{v100n49rrn49rrrr}v100[4'n38n65'][r'n38n65']
Sub{v100[4n35][rn35]}Sub{v100[4n36][rn36]}Sub{v110n49rrn49rrrr}v100[4'n38n65']rv.N(100,85,100)[3n38,16,50]r16v100n38};
Str TR10Out = {[7Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)[8n46]}v100[rrn38r]]
Sub{v.N(100,0,0,100,0,100,0,85)n35rrn35rn35rn35}Sub{v.N(100,80)[6n46]}v100rrn38rrv.N(100,90,100)[3n38,16,50]r16v100n38};
Str TR11In = {};
Str TR11 = {l8 o6 P.N(32,64,96,112,120,104,72,40) v.N(80,90,100,80,90,100,80,90) [15ea-bdf+b"bf+]};
Str TR11Out = {l8 o6 P.N(32,64,96,112,120,104,72,40) v.N(80,90,100,80,90,100,80,90) [8ea-bdf+b"bf+]};
Str TR12In = {};
Str TR12 = {q100 o4
EP(127) [3P.T((24,104,!1^1),(104,24,!1^1))'ea-'1^1^1^1]
P.T((24,104,!1^1),(104,24,!1^1)) 'ea-'1^1^1 P(64) EP.T(127,0,!1)'ea-'1
EP(127) e1f+1a-1^2f+2e1f+1'a`c`e'1'b`e-`f+'1};
Str TR12Out = {EP(127) P.T((24,104,!1^1^1^1),(104,24,!1^1^1^1))['ea-'1^1^1^1]};
Str TR13In = {};
Str TR13 = {q100 o4
EP(127) [3e1^1^1^1]e1^1^1 EP.T(127,0,!1)e1
EP(127) [6r1]e1f+1};
Str TR13Out = {[e1^1^1^1]};
Str TR14In = {};
Str TR14 = {};
Str TR14Out = {};
Str TR15In = {};
Str TR15 = {};
Str TR15Out = {};
Str TR16In = {};
Str TR16 = {};
Str TR16Out = {};
//-----------------------------------Tracks--------------------------------------
/* Track 001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016 */
Array Vols = (100,100,100,100,100,090,100,100,100,100,090,075,100,100,100,100);//各トラックのメインボリューム
FOR(Int A=1;A<=16;A++){CH(A); V(Vols(A-1));}
#Scr = {Time(1:1:0) #?1In; Repstr(#?1,Ltime,Repeat); Time(Out:1:0) #?1Out;}
TR(1) CH(1) Voice(56) M(0) REV(0) CHO(0) P(24) #Scr(TR1)
TR(2) CH(2) Voice(56) M(0) REV(0) CHO(0) P(104) #Scr(TR1)
TR(3) CH(3) Voice(1) M(0) REV(0) CHO(0) P(88) #Scr(TR3)
TR(4) CH(4) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR4)
TR(5) CH(5) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR5)
TR(6) CH(6) Voice(30) M(0) REV(20) CHO(0) P(52) #Scr(TR6)
TR(7) CH(7) Voice(31) M(0) REV(10) CHO(0) P(102) #Scr(TR7)
TR(8) CH(8) Voice(34) M(0) REV(0) CHO(0) P(40) #Scr(TR8)
TR(9) CH(9) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR9)
TR(10) CH(10) Voice(1) REV(10) CHO(0) P(54) #Scr(TR10)
TR(11) CH(11) Voice(12) M(0) REV(0) CHO(0) P(64) #Scr(TR11)
TR(12) CH(12) Voice(53) M(0) REV(10) CHO(0) P(64) #Scr(TR12)
TR(13) CH(13) Voice(49) M(5) REV(10) CHO(0) P(64) #Scr(TR13)
TR(14) CH(14) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR14)
TR(15) CH(15) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR15)
TR(16) CH(16) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR16)
//-------------------------------others----------------------------------
Time(Out:1:0) FadeoutAll(Fade,Vols);