/** TOP - Base template : ver2.70 **/
/*￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
            ■    E A R T H R I U M  - S I D E   B -    ■

【 作曲・著作権 】H.YAMANOI
【対  象  音  源】GS,XG選択 (SC-8850推奨)
【使  用  音  源】Roland SC-8850,YAMAHA MU1000EX+PLG150-PF/DX
【再  生  確  認】TMIDI Player version 3.8.5 (release)
【 サクラのVer. 】2.375
【注  意  事  項】非商用に限り転載・再配布許可
【注  意  事  項】商用・非商用にかかわらず転載・再配布不可
【 連   絡   先 】Webサイト : http://ykun.exblog.jp/
                  E-Mail : ykun2496@gmail.com
【 そ   の   他 】ニコニコ動画
                  Audio版    : http://www.nicovideo.jp/watch/sm12083621
                  MIDI(GS)版 : http://www.nicovideo.jp/watch/sm12083596
                  MIDI(XG)版 : http://www.nicovideo.jp/watch/sm12083552
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿

ダウンロードしていただきありがとうございました。
まず、ご使用のMIDI音源に合わせて以下の"="の後に数値を入力して下さい。
わからない場合はそのままにしておけば自動で選択されます。		*/

//_Synth Type
		Int	SynthType	=	8	; // 音源のタイプ -1〜8まで 初期値:8
/*
	＜ 数値と音源の対応 ＞
       1 : GS音源全般 (SC-55系, MS-GS、VSC系等)
       2 : GS音源 SC-88系
       3 : GS音源 SC-88pro系, SC-8820系
       4 : GS音源 SC-8850
       5 : XG音源全般 (MU50/80/90系, S-YXG系等)
       6 : XG音源 MU100/128/500系
       7 : XG音源 MU1000/2000系
       8 : 自動選択 (GSの場合1、XGの場合5、それ以外の場合1が選択されます)


◆曲のこと
思いつきで作ったアレンジです。
やっつけ仕事でゴメンナサイ。

◆更新履歴
2010/09/11　Ver1.00　完成
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿*/

/** HEADER **/
//_System Setting
Include			(stdmsg.h);
System.MeasureShift	(8);
System.TimeBase		(96);
System.vAdd			(10);
System.qAdd			(10);
Str Tmp_title	=	{"EARTHRIUM -SIDE B-"};
Str Tmp_ver		=	{"1.00"};
Str Tmp_Copyright	=	{"09/11/2010  H.YAMANOI"}

//_SynthType Definition
If(SynthType==8){
	Switch(SoundType){
		Case(1){	SynthType = 1;	}
		Case(2){	SynthType = 5;	}
		Default{	SynthType = 1;	}
	}
}
If((SynthType>8) || (SynthType<1)){
	SynthType = 1;
}

//_Function
//_  Common
// 調号メタイベント
//	sf ＝ n:＃の数 -n:♭の数	mi ＝ 0:メジャー 1:マイナー
Function MetaKey(sf,mi){
	DirectSMF($FF,$59,$02,sf,mi);
}
// sinθの10,000倍を返す
Function SIN(Int Val){
	Int Tmp_Val = Val;
	Int Out = 0;
	If(Tmp_Val < 0){
		Tmp_Val = (Tmp_Val * -1) % 360;
		Tmp_Val = 360 - Tmp_Val;
	}
	If(Tmp_Val >= 360){
		Tmp_Val = Tmp_Val % 360;
	}
	If((Tmp_Val > 180) && (Tmp_Val <= 360)){
		Tmp_Val = 360 - Tmp_Val;
	}
	If((Tmp_Val > 90) && (Tmp_Val <= 180)){
		Tmp_Val = 180 - Tmp_Val;
	}
	Switch(Tmp_Val){
		Case( 0){ Out =     0; }	Case( 1){ Out =   175; }	Case( 2){ Out =   349; }
		Case( 3){ Out =   523; }	Case( 4){ Out =   698; }	Case( 5){ Out =   872; }
		Case( 6){ Out =  1045; }	Case( 7){ Out =  1219; }	Case( 8){ Out =  1392; }
		Case( 9){ Out =  1564; }	Case(10){ Out =  1736; }	Case(11){ Out =  1908; }
		Case(12){ Out =  2079; }	Case(13){ Out =  2250; }	Case(14){ Out =  2419; }
		Case(15){ Out =  2588; }	Case(16){ Out =  2756; }	Case(17){ Out =  2924; }
		Case(18){ Out =  3090; }	Case(19){ Out =  3256; }	Case(20){ Out =  3420; }
		Case(21){ Out =  3584; }	Case(22){ Out =  3746; }	Case(23){ Out =  3907; }
		Case(24){ Out =  4067; }	Case(25){ Out =  4226; }	Case(26){ Out =  4384; }
		Case(27){ Out =  4540; }	Case(28){ Out =  4695; }	Case(29){ Out =  4848; }
		Case(30){ Out =  5000; }	Case(31){ Out =  5150; }	Case(32){ Out =  5299; }
		Case(33){ Out =  5446; }	Case(34){ Out =  5592; }	Case(35){ Out =  5736; }
		Case(36){ Out =  5878; }	Case(37){ Out =  6018; }	Case(38){ Out =  6157; }
		Case(39){ Out =  6293; }	Case(40){ Out =  6428; }	Case(41){ Out =  6561; }
		Case(42){ Out =  6691; }	Case(43){ Out =  6820; }	Case(44){ Out =  6947; }
		Case(45){ Out =  7071; }	Case(46){ Out =  7193; }	Case(47){ Out =  7314; }
		Case(48){ Out =  7431; }	Case(49){ Out =  7547; }	Case(50){ Out =  7660; }
		Case(51){ Out =  7771; }	Case(52){ Out =  7880; }	Case(53){ Out =  7986; }
		Case(54){ Out =  8090; }	Case(55){ Out =  8192; }	Case(56){ Out =  8290; }
		Case(57){ Out =  8387; }	Case(58){ Out =  8480; }	Case(59){ Out =  8572; }
		Case(60){ Out =  8660; }	Case(61){ Out =  8746; }	Case(62){ Out =  8829; }
		Case(63){ Out =  8910; }	Case(64){ Out =  8988; }	Case(65){ Out =  9063; }
		Case(66){ Out =  9135; }	Case(67){ Out =  9205; }	Case(68){ Out =  9272; }
		Case(69){ Out =  9336; }	Case(70){ Out =  9397; }	Case(71){ Out =  9455; }
		Case(72){ Out =  9511; }	Case(73){ Out =  9563; }	Case(74){ Out =  9613; }
		Case(75){ Out =  9659; }	Case(76){ Out =  9703; }	Case(77){ Out =  9744; }
		Case(78){ Out =  9781; }	Case(79){ Out =  9816; }	Case(80){ Out =  9848; }
		Case(81){ Out =  9877; }	Case(82){ Out =  9903; }	Case(83){ Out =  9925; }
		Case(84){ Out =  9945; }	Case(85){ Out =  9962; }	Case(86){ Out =  9976; }
		Case(87){ Out =  9986; }	Case(88){ Out =  9994; }	Case(89){ Out =  9998; }
		Case(90){ Out = 10000; }
	}
	If(Val > 180 && Val < 360){
		Out = Out * -1;
	}
	Result = Out;
}
// cosθの10,000倍を返す
Function COS(Int Val){
	Int Out = 0;
	Out = SIN(Val+90);
	Result = Out;
}

//_  for GM
Function IsuGM(Array Data) {	// Instrument SetUp
	// BankMSB, BankLSB, PC#, Vol, Pan, Exp, Rev, Cho, Dly/Var
	l%1 y0(Data(0));r* y32(Data(1));r* @(Data(2));r* y7(Data(3));r* y10(Data(4));r*
	y11(Data(5));r* y91(Data(6));r* y93(Data(7));r* y94(Data(8));r*
	// PitchBendSensitivity
	y100(0);r* y101(0);r* y6(Data(9));r*
}
Function Null() {	// PitchBend Sensitivity Null
	l%1 y101(127); r* y100(127); r*
}
Function Mono() {	// Mono Mode
	l%1 y126(0); r*
}
Function Poly() {	// Poly Mode
	l%1 y127(0); r*
}
Function MasterVolume(Int Value) {	// Master Volume
	SysEx = $F0,$7F,$7F,$04,$01,$00,(Value),$F7;
}
Function PKP(Str Note, Int Val){	// Polyphonic Key Pressure
	Int No = NoteNo(Note);
	DirectSMF(($A0+Channel-1),No,Val);
}

//_  for GS
Function GS_EXCLUSIVE(Array Data) {	// System Exclusive
	SysEx = $F0,$41,$10,$42,$12,{(Data)},$F7;
}
Function IsuGS(Array Data) {	// Instrument SetUp
	// BankMSB, BankLSB, PC#, Vol, Pan, Exp, Rev, Cho, Dly
	l%1 y0(Data(0));r* y32(Data(1));r* @(Data(2));r* y7(Data(3));r* y10(Data(4));r*
	y11(Data(5));r* y91(Data(6));r* y93(Data(7));r* y94(Data(8));r*
	// Vibrato  Rate , Depth , Delay
	y99(1);r* y98(8);r* y6(Data(9));r* y99(1);r* y98(9);r* y6(Data(10));r* y99(1);r* y98(10);r* y6(Data(11));r*
	// Filter  LPF , Res
	y99(1);r* y98(32);r* y6(Data(12));r* y99(1);r* y98(33);r* y6(Data(13));r*
	// Envelope  Attack , Decay , Release
	y99(1);r* y98(99);r* y6(Data(14));r* y99(1);r* y98(100);r* y6(Data(15));r* y99(1);r* y98(102);r* y6(Data(16));r*
	// PitchBendSensitivity
	y100(0);r* y101(0);r* y6(Data(17));r*
}
Function EQ(Array Data){	// System EQ
	// LowFreq, LowGain, HiFreq, HiGain
	l%2	GS_EXCLUSIVE($40,$02,$00,(Data(0)     ));	// EQ Low Freq
	r*	GS_EXCLUSIVE($40,$02,$01,(Data(1) + 64));	// EQ Low Gain
	r*	GS_EXCLUSIVE($40,$02,$02,(Data(2)     ));	// EQ Hi Freq
	r*	GS_EXCLUSIVE($40,$02,$03,(Data(3) + 64));	// EQ Hi Gain
}
Function USER_DRUM(Array Data) {	// Setup User Drum
	l%2	// UserDrumNo[1,2], NoteNo, SorceMAP, SorcePC#, SorceNote, Level, Pan
	GS_EXCLUSIVE($20 + (Data(0)),$0A,(Data(1)),(Data(2)    )); r*	// SOURCE DRUM SET# (MAP)
	GS_EXCLUSIVE($20 + (Data(0)),$0B,(Data(1)),(Data(3) - 1)); r*	// SOURCE DRUM SET# (PC#)
	GS_EXCLUSIVE($20 + (Data(0)),$0C,(Data(1)),(Data(4)    )); r*	// SOURCE DRUM SET NUMBER
	GS_EXCLUSIVE($20 + (Data(0)),$02,(Data(1)),(Data(5)    )); r*	// LEVEL
	GS_EXCLUSIVE($20 + (Data(0)),$04,(Data(1)),(Data(6)    )); r*	// PAN
}
Function DAG(Int Map, Int No, Int Gp){	// Drum Instrument Assian Group
	Map--;
	GS_EXCLUSIVE($41,(Map*16+3),(No),(Gp));
}

//_  for XG
Function XG_EXCLUSIVE(Array Data) {	// System Exclusive [XG Common]
	SysEx	= $F0,$43,$10,$4C,(Data),$F7;
}
Function DX_EXCLUSIVE(Array Data) {	// System Exclusive [PLG150-DX]
	SysEx	= $F0,$43,$10,$62,(Data),$F7;
}
Function PF_EXCLUSIVE(Array Data) {	// System Exclusive [PLG150-PF]
	SysEx	= $F0,$43,$10,$67,(Data),$F7;
}
Function IsuXG(Array Data) {	// Instrument SetUp
	// BankMSB, BankLSB, PC#, Vol, Pan, Exp, Rev, Cho, Var
	l%1 y0(Data(0));r* y32(Data(1));r* @(Data(2));r* y7(Data(3));r* y10(Data(4));r*
	y11(Data(5));r* y91(Data(6));r* y93(Data(7));r* y94(Data(8));r*
	// Vibrato  Rate , Depth , Delay
	y99(1);r* y98(8);r* y6(Data(9));r* y99(1);r* y98(9);r* y6(Data(10));r* y99(1);r* y98(10);r* y6(Data(11));r*
	// Filter  LPF , Resonance , HPF
	y99(1);r* y98(32);r* y6(Data(12));r* y99(1);r* y98(33);r* y6(Data(13));r* y99(1);r* y98(36);r* y6(Data(14));r*
	// Envelope  Attack , Decay , Release
	y99(1);r* y98(99);r* y6(Data(15));r* y99(1);r* y98(100);r* y6(Data(16));r* y99(1);r* y98(102);r* y6(Data(17));r*
	// PitchBendSensitivity
	y100(0);r* y101(0);r* y6(Data(18));r*
	// EQ  Low Frequency , Low Gain , Treble Frequency , Treble Gain
	y99(1);r* y98(52);r* y6(Data(19));r* y99(1);r* y98(48);r* y6(Data(20));r*
	y99(1);r* y98(53);r* y6(Data(21));r* y99(1);r* y98(49);r* y6(Data(22));r*
}
Function Dpf(Int Note,Int Value) {	// Drum Instrument  Pitch Fine
	l%1 y99(25); r* y98(Note); r* y6(Value); r*
}
Function Dfl(Array Data) {	// Drum Instrument  Fillter  LPF , Resonance , HPF
	l%1 y99(20);r* y98(Data(0));r* y6(Data(1));r* y99(21);r* y98(Data(0));r* y6(Data(2));r* y99(36);r* y98(Data(0));r* y6(Data(3));r*
}
Function Deg(Array Data) {	// Drum Instrument  Envelope  Attack , Decay
	l%1 y99(22);r* y98(Data(0));r* y6(Data(1));r* y99(23);r* y98(Data(0));r* y6(Data(2));r*
}
Function Deq(Array Data) {	// Drum Instrument  EQ  Low Frequency , Low Gain , Treble Frequency , Treble Gain
	l%1 y99(52);r* y98(Data(0));r* y6(Data(1));r* y99(48);r* y98(Data(0));r* y6(Data(2));r*
	y99(53);r* y98(Data(0));r* y6(Data(3));r* y99(49);r* y98(Data(0));r* y6(Data(4));r*
}
Function XGDT(Int Tm){
	Array Out;
	If(Tm > 16383){
		Tm = 16383;
	}
	If(Tm < 0){
		Tm = 0;
	}
	Out(0) = Tm / 128;
	Out(1) = Tm % 128;
	Result = Out;
}

//_  for GS/XG
Function Dpt(Int Note,Int Value) {	// Drum Instrument  Pitch Coarse
	l%1 y99(24); r* y98(Note); r* y6(Value); r*
}
Function Dlv(Int Note,Int Value) {	// Drum Instrument  Level
	l%1 y99(26); r* y98(Note); r* y6(Value); r*
}
Function Dpn(Int Note,Int Value) {	// Drum Instrument  Pan
	l%1 y99(28); r* y98(Note); r* y6(Value); r*
}
Function Drs(Int Note,Int Value) {	// Drum Instrument  Reverb Send Level
	l%1 y99(29); r* y98(Note); r* y6(Value); r*
}
Function Dcs(Int Note,Int Value) {	// Drum Instrument  Chorus Send Level
	l%1 y99(30); r* y98(Note); r* y6(Value); r*
}
Function Dds(Int Note,Int Value) {	// Drum Instrument  Delay/Variation Send Level
	l%1 y99(31); r* y98(Note); r* y6(Value); r*
}
Function FXOutputLevel(Array Data) {	// Insertion Effect Output Level
	// GS:Gain  XG:FX No, Gain
	If(SynthType<=7 && SynthType>=6){
		XG_EXCLUSIVE($03,($00 + (Data(0))),$05,(Data(1)));
	}Else{If(SynthType<=4 && SynthType>=3){
		GS_EXCLUSIVE($40,$03,$16,(Data(0)));
	}}
}
Function PAf_Pitch(Int Rng){
	Int Chn = Channel;
	If(SynthType<=7 && SynthType>=6){
		XG_EXCLUSIVE($08,(MML(Port)*16+Chn-1),$53,($40+Rng));
	}Else{If(SynthType<=4 && SynthType>=3){
		If(Chn==10){
			Chn = 0;
		}
		If(Chn>10 && Chn<=16){
			Chn--;
		}
		GS_EXCLUSIVE($40,($20+Chn),$30,($40+Rng));
	}}
}
Function Rx_CH(Int Val){
	Int Chn = Channel;
	If(SynthType<=7 && SynthType>=6){
		XG_EXCLUSIVE($08,(MML(Port)*16+Chn-1),$04,(Val-1));
	}Else{If(SynthType<=4 && SynthType>=3){
		If(Chn==10){
			Chn = 0;
		}
		If(Chn>10 && Chn<=16){
			Chn--;
		}
		GS_EXCLUSIVE($40,($10+Chn),$02,(Val-1));
	}}
}
Function FINE(Int Data1,Int Data2){
	Int Chn = Channel;
	If(SynthType<=7 && SynthType>=6){
		XG_EXCLUSIVE($08,(MML(Port)*16+Chn-1),$09,(Data1),(Data2));
	}Else{If(SynthType<=4 && SynthType>=3){
		If(Chn==10){
			Chn = 0;
		}
		If(Chn>10 && Chn<=16){
			Chn--;
		}
		GS_EXCLUSIVE($40,($10+Chn),$2A,(Data1),(Data2));
	}}
}

//_  Effect
Function Ben(Int Gain ,Str Length) {	// Bending
	Int Len;
	If(ASC(MID(Length,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Length,{!},{},off));
	}Else{
		Len = Length;
	}
	If((Len <= 0) || (Gain < -8192) || (Gain > 8191)){
		Print("Function Ben : illegal argument.");
		End;
	}
	Sub{	p%.onTime=(Gain),0,(Len);	}
}
Function Vib(Int Gain ,Str Length) {	// Vibrato
	Int Len;
	If(ASC(MID(Length,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Length,{!},{},off));
	}Else{
		Len = Length;
	}
	If((Len <= 0) || (Gain <= 0) || (Gain > 127)){
		Print("Function Vib : illegal argument.");
		End;
	}
	Sub{	y1.onTime=1,(Gain),(Len);r*%(Len)y1(0);	}
}
// Hand Vibrato
//   深さ, Vib1回の長さ(step), 全体の長さ
Function HVib(Int Gain ,Int Rate, Str Length) {
	Int Loop;
	Int Len;
	Str Tmp_MML;
	Int Tmp_i;
	If(ASC(MID(Length,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Length,{!},{},off));
	}Else{
		Len = Length;
	}
	Loop = Len / Rate;
	If((Len <= 0) || (Gain < -8192) || (Gain > 8191) || (Gain == 0) || (Loop <= 0)){
		Print("Function HVib : illegal argument.");
		End;
	}

	Tmp_MML = "p%.T=";
	If(Gain>0){
		Tmp_MML = Tmp_MML + "1";
	}Else{If(Gain<0){
		Tmp_MML = Tmp_MML + "-1";
	}}
	Tmp_MML = Tmp_MML + "," + Gain + "," + (Rate / 2) + ",";
	If(Gain>0){
		Tmp_MML = Tmp_MML + (Gain - 1);
	}Else{If(Gain<0){
		Tmp_MML = Tmp_MML + (Gain + 1);
	}}
	Tmp_MML = Tmp_MML + ",0," + (Rate / 2) + "; r%" + Rate;

	For(Tmp_i=0; Tmp_i<Loop; Tmp_i++){
		Tmp_MML;
	}
	Tmp_MML = "r%-" + (Rate*Loop);
	Tmp_MML;
}
Function Mt(Str Length)	{	// Mute
	Int Len;
	If(ASC(MID(Length,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Length,{!},{},off));
	}Else{
		Len = Length;
	}
	If(Len <= 0){
		Print("Function Mt : illegal argument.");
		End;
	}
	Sub{	r%8 y11.onTime=126,64,(Len - 8); r%(Len - 8) y11=127;	}
}
Function Unison(Str S, Int Value){	// Unison (Unison.hより抜粋)
	Sub{ Key(Value); S; Key(0); } S;
}
// 3D Auto Pan (R社のパクリ)
//   周期の長さ, 半径(0〜63), 中心パン, 初期位相, 回転方向(1,-1:正,負), 回転回数, 書込頻度
Function TDAuto(Str Rate, Array Opt){
	Int Len = MML(l);		// 周期（Step）
	Int Radii = Opt(0);	// 半径
	Int Center = Opt(1);	// 中心パン
	Int IPhase = Opt(2);	// 初期位相
	Int Direction = Opt(3);	// 回転方向
	Int Loop = Opt(4);	// 回転回数
	Int Freq = Opt(5);	// 書込頻度
	Int Num = 1;		// 1周期の書込回数
	Int DPhase = 0;		// 位相の変化量
	Int IPan = 64;		// 初期パン
	Str Tmp_MML = "";
	Int Tmp_Phase = 0;
	Int Tmp_Pan = 64;
	Int Tmp_i = 0;
	Int Tmp_j = 0;

	If(ASC(MID(Rate,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Rate,{!},{},off));
	}Else{
		Len = Rate;
	}
	If(Radii < 1){
		Radii = 63;
	}
	If(Center < 1){
		Center = 64;
	}
	If(Center+Radii > 127){
		Radii = 127 - Center;
	}
	If(Center-Radii < 1){
		Radii = Center - 1;
	}
	If((Direction != 1) && (Direction != -1)){
		Direction = 1;
	}
	If(Loop < 1){
		Loop = 1;
	}
	If(Freq < 1){
		Freq = 96;
	}
	Num = Len / Freq;
	If(Num == 0){
		Num = 1;
	}
	DPhase = 36000 / Num;

	For(Tmp_j=0; Tmp_j<Loop; Tmp_j++){
		For(Tmp_i=0; Tmp_i<Num; Tmp_i++){
			Tmp_Phase = (IPhase + (DPhase * Tmp_i / 100)) % 360;
			Tmp_Pan = Center + ((Radii * COS(Tmp_Phase) / 10000) * Direction);
			If(Tmp_i == 0){
				IPan = Tmp_Pan;
			}
			Tmp_MML = "y10(" + Tmp_Pan + "); r%" + Freq + " ";
			Tmp_MML;
		}
	}
	Tmp_MML = "y10(" + IPan + "); r%-" + (Len*Loop);
	Tmp_MML;
}
// Auto Wah
//   初期カットオフ, ワウの深さ, 1周期の長さ, 全体の長さ
Function AutoWah(Int ICut, Int Dpt, Str Opt_Rate, Str Opt_Len){
	If(SynthType <= 0){
		Exit;
	}
	Int Rate;	// 周期
	Int Len;	// 長さ
	Int Loop;
	Str Tmp_MML;

	If(ASC(MID(Opt_Rate,0,1)) == ASC("!")){
		Rate = StrToLen(Replace(Opt_Rate,{!},{},off));
	}Else{
		Rate = Opt_Rate;
	}
	If(ASC(MID(Opt_Len,0,1)) == ASC("!")){
		Len = StrToLen(Replace(Opt_Len,{!},{},off));
	}Else{
		Len = Opt_Len;
	}
	Loop = Len / Rate;

	If((SynthType == 1) || (SynthType == 2)){
		Tmp_MML = "FilterCutoff";
	}Else{
		Tmp_MML = "y74";
	}
	Tmp_MML = Tmp_MML + "(" + ICut + "); [" + Loop + " r%6 ";
	If((SynthType == 1) || (SynthType == 2)){
		Tmp_MML = Tmp_MML + "y6";
	}Else{
		Tmp_MML = Tmp_MML + "y74";
	}
	Tmp_MML = Tmp_MML + ".T=" + (ICut - 1) + "," + (ICut - Dpt) + "," + ((Rate / 2) - 8) + "; r%" + (Rate / 2);
	If((SynthType == 1) || (SynthType == 2)){
		Tmp_MML = Tmp_MML + " y6";
	}Else{
		Tmp_MML = Tmp_MML + " y74";
	}
	Tmp_MML = Tmp_MML + ".T=" + ((ICut - Dpt) + 1) + "," + ICut + "," + ((Rate / 2) - 8) + "; r%" + ((Rate / 2) - 6) + "]";
	Tmp_MML;
}
Function FadeOut(Int Opt_Len){
	Int Len = MML(l);
	Int Tmp_i;

	Len = Len * Opt_Len;
	S{	r%(Len) MasterVolume(0);	}
	Len = Len / 127;
	For(Tmp_i=126; Tmp_i>0; Tmp_i--){
		MasterVolume(Tmp_i);
		r%(Len);
	}
}

//_Meta Event
	TR( 0) Port(0) CH( 1) Time(-7:1: 0)
	Tmp_title = {"[ "} + Tmp_title + {" ] for "};
	Tmp_ver = "ver" + Tmp_ver + {" by H.YAMANOI"};
	Switch(SynthType){
		Case( 7){	TrackName = Tmp_title + {"MU1000 "} + Tmp_ver;	}
		Case( 6){	TrackName = Tmp_title + {"MU100 "} + Tmp_ver;	}
		Case( 5){	TrackName = Tmp_title + {"MU80 "} + Tmp_ver;	}
		Case( 4){	TrackName = Tmp_title + {"SC-8850 "} + Tmp_ver;	}
		Case( 3){	TrackName = Tmp_title + {"SC-88pro "} + Tmp_ver;	}
		Case( 2){	TrackName = Tmp_title + {"SC-88 "} + Tmp_ver;	}
		Case( 1){	TrackName = Tmp_title + {"SC-55 "} + Tmp_ver;	}
		Case(-1){	TrackName = Tmp_title + {"TW-MUSIC2 "} + Tmp_ver;	}
		Default{	TrackName = Tmp_title + {"GM "} + Tmp_ver;	}
	}
	Copyright = Tmp_Copyright;
#ts44={	TimeSignature = 4,4;	}
#ts34={	TimeSignature = 3,4;	}
#kyGm={	MetaKey(-2, 1);	/* G Miner */	}
#kyCm={	MetaKey(-3, 1);	/* C Miner */	}
#kyDM={	MetaKey( 2, 0);	/* D Major */	}
#kyEM={	MetaKey( 4, 0);	/* E Major */	}
#kyAm={	MetaKey( 0, 1);	/* A Miner */	}
#kyBm={	MetaKey( 2, 1);	/* B Miner */	}

//_Track Definition
	TR( 1) Port(0) CH( 1) Time(-7:1: 0) TrackName = {"Vocal"}
	TR( 2) Port(0) CH( 2) Time(-7:1: 0) TrackName = {"Chorus"}
	TR( 3) Port(0) CH( 3) Time(-7:1: 0) TrackName = {"Bass"}
	TR( 4) Port(0) CH( 4) Time(-7:1: 0) TrackName = {"Synth 1 L"}
	TR( 5) Port(0) CH( 5) Time(-7:1: 0) TrackName = {"Synth 1 R"}
	TR( 6) Port(0) CH( 6) Time(-7:1: 0) TrackName = {"Synth 2 Lay1"}
	TR( 7) Port(0) CH( 7) Time(-7:1: 0) TrackName = {"Synth 2 Lay2"}
	TR( 8) Port(0) CH( 8) Time(-7:1: 0) TrackName = {"Synth 3"}
	TR( 9) Port(0) CH( 9) Time(-7:1: 0) TrackName = {"SFX"}
	TR(10) Port(0) CH(10) Time(-7:1: 0) TrackName = {"Rhythm 1"}
	TR(11) Port(0) CH(11) Time(-7:1: 0) TrackName = {"Rhythm 2"}
	TR(12) Port(0) CH(12) Time(-7:1: 0) TrackName = {"Rhythm 3"}
	TR(13) Port(0) CH(13) Time(-7:1: 0) TrackName = {"Pad Lay1"}
	TR(14) Port(0) CH(14) Time(-7:1: 0) TrackName = {"Pad Lay2"}
	TR(15) Port(0) CH(15) Time(-7:1: 0) TrackName = {"Synth 4"}
	TR(16) Port(0) CH(16) Time(-7:1: 0) TrackName = {"Synth 5"}
/*	TR(17) Port(1) CH( 1) Time(-7:1: 0) TrackName = {""}
	TR(18) Port(1) CH( 2) Time(-7:1: 0) TrackName = {""}
	TR(19) Port(1) CH( 3) Time(-7:1: 0) TrackName = {""}
	TR(20) Port(1) CH( 4) Time(-7:1: 0) TrackName = {""}
	TR(21) Port(1) CH( 5) Time(-7:1: 0) TrackName = {""}
	TR(22) Port(1) CH( 6) Time(-7:1: 0) TrackName = {""}
	TR(23) Port(1) CH( 7) Time(-7:1: 0) TrackName = {""}
	TR(24) Port(1) CH( 8) Time(-7:1: 0) TrackName = {""}
	TR(25) Port(1) CH( 9) Time(-7:1: 0) TrackName = {""}
	TR(26) Port(1) CH(10) Time(-7:1: 0) TrackName = {"Rhythm 3"}
	TR(27) Port(1) CH(11) Time(-7:1: 0) TrackName = {"Rhythm 4"}
	TR(28) Port(1) CH(12) Time(-7:1: 0) TrackName = {""}
	TR(29) Port(1) CH(13) Time(-7:1: 0) TrackName = {""}
	TR(30) Port(1) CH(14) Time(-7:1: 0) TrackName = {""}
	TR(31) Port(1) CH(15) Time(-7:1: 0) TrackName = {""}
	TR(32) Port(1) CH(16) Time(-7:1: 0) TrackName = {""}
*/	TR(33) Port(0) CH( 1) Time(-7:1: 0) TrackName = {"Sys-Ex Port A"}
//	TR(34) Port(1) CH( 1) Time(-7:1: 0) TrackName = {"Sys-Ex Port B"}

//_Tempo
	Time( -7:1: 0) Tempo = 480 ;
	Time(  0:3: 0) Tempo = 140 ;

//_Universal Exclusive
TR(33) Time( -7:1: 0)	SysEx$ = F0,7E,7F,09,01,F7;	// GM System On
	 Time( -6:4: 0)	MasterVolume(127);

//_System Exclusive
//_  XG System SetUp
	If(SynthType<=7 && SynthType>=5){
TR(33) Time( -7:3: 0)	XG_EXCLUSIVE($00,$00,$7E,$00);	// XG System On
	If(SynthType==5){
	 Time( -6:3: 0)	SysEx$ = F0,43,10,49,00,00,12,00,F7;	// Select MU Basic MAP
	}Else{
	 Time( -6:3: 0)	SysEx$ = F0,43,10,49,00,00,12,01,F7;	// Select MU100 Native MAP
	}
	 Time( -6:4:48)	XG_EXCLUSIVE($08,$00,$07,$02);	// Part Mode Drum1 [A10]
	 	l%2	r*	XG_EXCLUSIVE($08,$0A,$07,$03);	// Part Mode Drum2 [A11]
	If(SynthType>=6){
	 Time( -6:4:52)	XG_EXCLUSIVE($08,$0B,$07,$04);	// Part Mode Drum3 [A12]
//	 	l%2	r*	XG_EXCLUSIVE($08,$1A,$07,$05);	// Part Mode Drum4 [B11]
	}Else{
	 Time( -6:4:52)	XG_EXCLUSIVE($08,$0B,$07,$03);	// Part Mode Drum2 [A12]
	}
//_  XG  Reverb
TR(33) Time( -5:1: 0)	XG_EXCLUSIVE(  2,  1,  0,  1,  0);	// Reverb Type [HALL 1]
		l%2	r*	XG_EXCLUSIVE(  2,  1,  2, 31);	// Reverb Time     0- 69(18)    0.3〜30.0s            T#4
			r*	XG_EXCLUSIVE(  2,  1,  3, 10);	// Diffusion       0- 10(10)    0〜10
			r*	XG_EXCLUSIVE(  2,  1,  4, 22);	// Initial Delay   0- 63(8)     0.1〜99.3ms           T#5
			r*	XG_EXCLUSIVE(  2,  1,  5, 20);	// HPF Cutoff      0- 52(13)    Thru〜8.0kHz          T#3
			r*	XG_EXCLUSIVE(  2,  1,  6, 55);	// LPF Cutoff     34- 60(49)    1.0k〜Thru            T#3
			r*	XG_EXCLUSIVE(  2,  1, 16,  0);	// Rev Delay       0- 63(0)     0.1〜99.3ms           T#5
			r*	XG_EXCLUSIVE(  2,  1, 17,  4);	// Density         0-  4(4)     0〜4
			r*	XG_EXCLUSIVE(  2,  1, 18, 50);	// Er/Rev Balance  1-127(50)    E63>R〜E=R〜E<R63
			r*	XG_EXCLUSIVE(  2,  1, 19,  5);	// High Damp       1- 10(8)     0.1〜1.0
			r*	XG_EXCLUSIVE(  2,  1, 20, 64);	// Feedback Level  1-127(64)    -63〜+63
			r*	XG_EXCLUSIVE(  2,  1, 12, 64);	// Reverb Return                0-127(64)
			r*	XG_EXCLUSIVE(  2,  1, 13, 64);	// Reverb Pan                   1-127(64)
//_  XG  Chorus
TR(33) Time( -5:1:48)	XG_EXCLUSIVE(  2,  1, 32, 66,  2);	// Chorus Type [CELESTE 3]
		l%2	r*	XG_EXCLUSIVE(  2,  1, 34,  6);	// LFO Frequency      0-127(4)    0.00Hz〜39.7Hz      T#1
			r*	XG_EXCLUSIVE(  2,  1, 35, 50);	// LFO Depth          0-127(63)   0〜127
			r*	XG_EXCLUSIVE(  2,  1, 36, 74);	// Feedback Level     1-127(44)   -63〜+63
			r*	XG_EXCLUSIVE(  2,  1, 37,  0);	// Delay Offset       0-127(0)    0.0〜50             T#2
			r*	XG_EXCLUSIVE(  2,  1, 39, 28);	// EQ Low Frequency   4- 40(28)   32Hz〜2.0kHz        T#3
			r*	XG_EXCLUSIVE(  2,  1, 40, 64);	// EQ Low Gain       52- 76(64)   -12〜+12dB
			r*	XG_EXCLUSIVE(  2,  1, 41, 46);	// EQ High Frequency 28- 58(46)   500Hz〜16.0kHz      T#3
			r*	XG_EXCLUSIVE(  2,  1, 42, 74);	// EQ High Gain      52- 76(68)   -12〜+12dB
			r*	XG_EXCLUSIVE(  2,  1, 52,  1);	// Input Mode         0-  1(0)    mono/stereo
			r*	XG_EXCLUSIVE(  2,  1, 44, 64);	// Chorus Return                0-127(64)
			r*	XG_EXCLUSIVE(  2,  1, 45, 64);	// Chorus Pan                   1-127(64)
			r*	XG_EXCLUSIVE(  2,  1, 46,  0);	// Send Cho. to Rev.            0-127(0)
//_  XG  Variation
TR(33) Time( -5:2: 0)	XG_EXCLUSIVE(  2,  1, 64,  8,  0);	// Variation Type [CROSS DELAY]
		l%2	r*	XG_EXCLUSIVE(  2,  1, 66,XGDT(4286));	// L->R Delay MSB,LSB 1-7430(1700)   0.1〜743.0ms
			r*	XG_EXCLUSIVE(  2,  1, 68,XGDT(2143));	// R->L Delay MSB,LSB 1-7430(1750)   0.1〜743.0ms
			r*	XG_EXCLUSIVE(  2,  1, 70,  0, 84);	// Feedback Level     1-127(111)   -63〜+63
			r*	XG_EXCLUSIVE(  2,  1, 72,  0,  3);	// Input Select       0-  2(1)     L,R,L&R
			r*	XG_EXCLUSIVE(  2,  1, 74,  0, 10);	// High Damp          1- 10(10)    0.1〜1.0
			r*	XG_EXCLUSIVE(  2,  1,114, 28);	// EQ Low Frequency   4- 40(28)    32Hz〜2.0kHz       T#3
			r*	XG_EXCLUSIVE(  2,  1,115, 64);	// EQ Low Gain       52- 76(64)    -12〜+12dB
			r*	XG_EXCLUSIVE(  2,  1,116, 46);	// EQ High Frequency 28- 58(46)    500Hz〜16.0kHz     T#3
			r*	XG_EXCLUSIVE(  2,  1,117, 74);	// EQ High Gain      52- 76(64)    -12〜+12dB
			r*	XG_EXCLUSIVE(  2,  1, 86, 64);	// Variation Return             0-127(64)
			r*	XG_EXCLUSIVE(  2,  1, 87, 64);	// Variation Pan                1-127(64)
			r*	XG_EXCLUSIVE(  2,  1, 88,  0);	// Send Variation to Reverb     0-127(0)
			r*	XG_EXCLUSIVE(  2,  1, 89,  0);	// Send Variation to Chorus     0-127(0)
			r*	XG_EXCLUSIVE(  2,  1, 90,  1);	// Variation Connection         0:Ins. 1:Sys.
//_  XG  5-BAND EQUALIZER
	If(SynthType>=6){
TR(33) Time( -5:2:48)	XG_EXCLUSIVE(  2, 64,  0,  0);	// EQ Type 0:FLAT 1:JAZZ 2:POPS 3:ROCK 4:CLASSIC
		l%2	r*	XG_EXCLUSIVE(  2, 64,  1, 69);	// EQ Gain1      52-76  (-12-+12dB)
			r*	XG_EXCLUSIVE(  2, 64,  5, 65);	// EQ Gain2      52-76  (-12-+12dB)
			r*	XG_EXCLUSIVE(  2, 64,  9, 66);	// EQ Gain3      52-76  (-12-+12dB)
			r*	XG_EXCLUSIVE(  2, 64, 13, 62);	// EQ Gain4      52-76  (-12-+12dB)
			r*	XG_EXCLUSIVE(  2, 64, 17, 64);	// EQ Gain5      52-76  (-12-+12dB)
	//		r*	XG_EXCLUSIVE(  2, 64,  2, 15);	// EQ Frequency1  4-40  (32-2000Hz)
	//		r*	XG_EXCLUSIVE(  2, 64,  6, 24);	// EQ Frequency2 14-54  (100-10kHz)
	//		r*	XG_EXCLUSIVE(  2, 64, 10, 32);	// EQ Frequency3 14-54  (100-10kHz)
	//		r*	XG_EXCLUSIVE(  2, 64, 14, 44);	// EQ Frequency4 14-54  (100-10kHz)
	//		r*	XG_EXCLUSIVE(  2, 64, 18, 51);	// EQ Frequency5 28-58  (500-16kHz)
	//		r*	XG_EXCLUSIVE(  2, 64,  3,  8);	// EQ Q1          1-120 (0.1-12.0)
	//		r*	XG_EXCLUSIVE(  2, 64,  7, 12);	// EQ Q2          1-120 (0.1-12.0)
	//		r*	XG_EXCLUSIVE(  2, 64, 11, 10);	// EQ Q3          1-120 (0.1-12.0)
	//		r*	XG_EXCLUSIVE(  2, 64, 15, 14);	// EQ Q4          1-120 (0.1-12.0)
	//		r*	XG_EXCLUSIVE(  2, 64, 19, 12);	// EQ Q5          1-120 (0.1-12.0)
	//		r*	XG_EXCLUSIVE(  2 ,64,  4,  0);	// EQ Shape1      0-1   (0:Shelving 1:Peaking)
	//		r*	XG_EXCLUSIVE(  2, 64, 20,  0);	// EQ Shape5      0-1   (0:Shelving 1:Peaking)
//_  XG  Insertion1
TR(33) Time( -5:3: 0)	XG_EXCLUSIVE(  3,  0,  0, 75, 0);	// Insertion Type [AMP SIMULATOR] 
		l%2	r*	XG_EXCLUSIVE(  3,  0,  2,100);	// Drive                0-127(39)   0〜127                 *
			r*	XG_EXCLUSIVE(  3,  0,  3,  2);	// AMP Type             0-  3(1)    Off,Stack,Combo,Tube
			r*	XG_EXCLUSIVE(  3,  0,  4, 48);	// LPF Cutoff          34- 60(48)   1.0k〜Thru
			r*	XG_EXCLUSIVE(  3,  0,  5,127);	// Output Level         0-127(55)   0〜127
			r*	XG_EXCLUSIVE(  3,  0, 11,127);	// Dry/Wet              1-127(127)  D63>W〜D=W〜D<W63
			r*	XG_EXCLUSIVE(  3,  0, 32,127);	// Edge(Clip Curve)     0-127(112)  0〜127 mild〜sharp
			r*	XG_EXCLUSIVE(  3,  0, 12,127);	// Insertion Part               0-63:Part 64-126:A/D 127:OFF
//_  XG  Insertion2
TR(33) Time( -5:3:48)	XG_EXCLUSIVE($03,$01,$00,$40,$00);	// Insertion2 Type [THRU]
		l%2	r*	XG_EXCLUSIVE($03,$01,$0C,127);	// Insertion2 Part [0-63:Part 64-126:A/D 127:OFF]
	If(SynthType==7){
//_  XG  Insertion3
TR(33) Time( -5:4: 0)	XG_EXCLUSIVE($03,$02,$00,$40,$00);	// Insertion3 Type [THRU]
		l%2	r*	XG_EXCLUSIVE($03,$02,$0C,127);	// Insertion3 Part [0-63:Part 64-126:A/D 127:OFF]
//_  XG  Insertion4
TR(33) Time( -5:4:48)	XG_EXCLUSIVE($03,$03,$00,$40,$00);	// Insertion4 Type [THRU]
		l%2	r*	XG_EXCLUSIVE($03,$03,$0C,127);	// Insertion4 Part [0-63:Part 64-126:A/D 127:OFF]

}}}Else{If(SynthType<=4 && SynthType>=1){
//_  GS System SetUP
TR(33) Time( -7:3: 0)	GS_EXCLUSIVE($40,$00,$7F,$00);	// GS Reset
	 Time( -6:4:48)	GS_EXCLUSIVE($40,$10,$15,$01);	// Use for Rhythm Part 1 [CH A10]
	 Time( -6:4:50)	GS_EXCLUSIVE($40,$1A,$15,$02);	// Use for Rhythm Part 2 [CH A11]
	 Time( -6:4:52)	GS_EXCLUSIVE($40,$1B,$15,$02);	// Use for Rhythm Part 2 [CH A12]
	If((SynthType==3) || (SynthType==4)){
TR(34) Time( -6:4:52)	GS_EXCLUSIVE($40,$10,$15,$01);	// Use for Rhythm Part 1 [CH B13]
	 Time( -6:4:50)	GS_EXCLUSIVE($40,$1A,$15,$02);	// Use for Rhythm Part 2 [CH B11]
	}
//_  GS  Reverb
TR(33) Time( -5:1: 0)	GS_EXCLUSIVE($40,$01,$30,$03);	// Reverb Macro [Hall 1]
		l%2	r*	GS_EXCLUSIVE($40,$01,$32,  0);	// Reverb Pre-LPF
			r*	GS_EXCLUSIVE($40,$01,$33, 64);	// Reverb Level
			r*	GS_EXCLUSIVE($40,$01,$34, 64);	// Reverb Time
			r*	GS_EXCLUSIVE($40,$01,$35,  0);	// Reverb Delay Feedback
			r*	GS_EXCLUSIVE($40,$01,$37,  0);	// Reverb Pre Delay Time
//_  GS  Chorus
TR(33) Time( -5:1:48)	GS_EXCLUSIVE($40,$01,$38,$01);	// Chorus Macro [Chorus 2]
		l%2	r*	GS_EXCLUSIVE($40,$01,$39,  0);	// Chorus Pre-LPF
			r*	GS_EXCLUSIVE($40,$01,$3A, 64);	// Chorus Level
			r*	GS_EXCLUSIVE($40,$01,$3B, 10);	// Chorus Feedback
			r*	GS_EXCLUSIVE($40,$01,$3C, 80);	// Chorus Delay
			r*	GS_EXCLUSIVE($40,$01,$3D, 10);	// Chorus Rate
			r*	GS_EXCLUSIVE($40,$01,$3E, 20);	// Chorus Depth
			r*	GS_EXCLUSIVE($40,$01,$3F,  0);	// Chorus Send Level to Reverb
			r*	GS_EXCLUSIVE($40,$01,$40,  0);	// Chorus Send Level to Delay
	If(SynthType>=2){
//_  GS  Delay
TR(33) Time( -5:2: 0)	GS_EXCLUSIVE($40,$01,$50,$04);	// Delay Macro [Pan Delay 1]
		l%2	r*	GS_EXCLUSIVE($40,$01,$51,  0);	// Delay Pre-LPF
			r*	GS_EXCLUSIVE($40,$01,$52,$64);	// Delay Time Center
			r*	GS_EXCLUSIVE($40,$01,$53,$0D);	// Delay Time Ratio Left
			r*	GS_EXCLUSIVE($40,$01,$54,$1A);	// Delay Time Ratio Right
			r*	GS_EXCLUSIVE($40,$01,$55,  0);	// Delay Level Center
			r*	GS_EXCLUSIVE($40,$01,$56,100);	// Delay Level Left
			r*	GS_EXCLUSIVE($40,$01,$57, 80);	// Delay Level Right
			r*	GS_EXCLUSIVE($40,$01,$58, 64);	// Delay Level
			r*	GS_EXCLUSIVE($40,$01,$59, 80);	// Delay Feedback
			r*	GS_EXCLUSIVE($40,$01,$5A,  0);	// Delay Send Level to Reverbt
	If(SynthType>=3){
//_  GS  SC-88pro~8850
//_  GS  EQ
TR(33) Time( -5:2:48)	EQ(  0,  4,  1,  6);
//_  GS  EFX
TR(33) Time( -5:3: 0)	GS_EXCLUSIVE($40,$03,$00,$01,$10);	// EFX Type [Overdrive]
		l%2	r*	GS_EXCLUSIVE($40,$40,$22,  0);	// EFX On [A10]
			r*	GS_EXCLUSIVE($40,$03,$03, 20);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$04,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$05,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$06,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$07,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$08,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$09,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$0A,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$0B,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$14,  0);	//   
	//		r*	GS_EXCLUSIVE($40,$03,$15,  0);	//   
			r*	GS_EXCLUSIVE($40,$03,$16,127);	// EFX Level
	//		r*	GS_EXCLUSIVE($40,$03,$17,  0);	// EFX Send Level to Reverb
	//		r*	GS_EXCLUSIVE($40,$03,$18,  0);	// EFX Send Level to Chorus
	//		r*	GS_EXCLUSIVE($40,$03,$19,  0);	// EFX Send Level to Delay
	//		r*	GS_EXCLUSIVE($40,$03,$1B,  0);	// EFX Control Sorce 1
	//		r*	GS_EXCLUSIVE($40,$03,$1C,127);	// EFX Control Depth 1
	//		r*	GS_EXCLUSIVE($40,$03,$1D,  0);	// EFX Control Sorce 2
	//		r*	GS_EXCLUSIVE($40,$03,$1E,127);	// EFX Control Depth 2
	//		r*	GS_EXCLUSIVE($40,$03,$1F,  1);	// EFX Send EQ Switch
}}}}
Switch(SynthType){
//_Instulment Setup
	Case(7){
//_  XG MU1000/2000
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,LPF,Res,HPF,Atc,Dec,Rel,BR,LwF,LwG,TrF,TrG
	TR( 1) Time( -4:1: 0) IsuXG(  0, 36, 82,120, 64,127, 60,  0, 40, 69, 67, 74,104, 74, 74, 44, 84, 54,12, 12, 64, 54, 64);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuXG(  0,  8, 82,100, 64,127, 40,  0,  0, 69, 66, 74, 94, 74, 74, 44, 84, 54,12, 12, 64, 54, 64);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuXG(  0,  6, 40,120, 64,127,  0,  0,  0, 64, 64, 64, 64, 74, 64, 44, 64, 54,12, 14, 84, 54, 64);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuXG(  0, 87, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 84, 64, 39, 64, 39,12, 12, 64, 54, 64);Null;	// 
	TR( 5) Time( -4:3: 0) IsuXG(  0, 79, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 84, 64, 39, 64, 54,12, 12, 64, 54, 64);Null;	// 
	TR( 6) Time( -4:3:48) IsuXG(  0, 67, 82, 80, 24,127,  0, 80, 40, 64, 64, 64,104, 99, 84,  1, 94, 34,12, 12, 64, 48, 79);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuXG(  0, 67, 82, 80,104,127,  0, 80, 40, 84, 67, 64,104, 99, 84,  1, 94, 34,12, 12, 64, 48, 79);Null;Mono;FINE($0F,$08);	// 
	TR( 8) Time( -4:4:48) IsuXG(  0, 69, 81,100,  1,127,  0, 40, 40, 64, 64, 64, 64, 94, 64, 54, 64, 54,12, 28, 84, 54, 64);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuXG( 48, 64,  1, 80, 64,127,100,  0,120, 64, 64, 64, 47, 64, 64, 84, 64,104,12, 24, 80, 44,104);Null;	// 
	TR(10) Time( -3:1:48) IsuXG(127,  0, 28,120, 64,127, 40,  0,  0, 64, 64, 64, 64, 84, 64, 64, 64, 64,12, 12, 84, 54, 74);Null;	// 
			Dlv( 28,127); Drs( 28.127); Deg( 28, 64, 79);
			Dpt( 36, 60); Dlv( 36,127); Drs( 36,  0);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuXG(127,  0, 31,120, 64,127, 40,  0,  0, 64, 64, 64,104, 84, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
			Dpn( 40, 68); Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 64);
			Dpn( 46, 24); Dpt( 46, 64);
			Dpn( 51,104); Dpt( 51, 63); Dlv( 51,110);
			Dpn( 55,127); Dlv( 55,127); Dpt( 55, 62); Deg( 55, 64, 52);
			Dpn( 57,  1); Dlv( 57,120); 
	TR(12) Time( -3:2:48) IsuXG(127,  0, 31,110, 64,127,127,  0,  0, 64, 64, 64,104, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
			Dlv( 36,127); Dpt( 36, 56); Drs( 36,127);
			Dlv( 39,127); Dpt( 39, 68); Drs( 39,127);
	TR(13) Time( -3:3: 0) IsuXG(  0, 68, 51, 60, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 84, 69, 84, 67,12, 12, 64, 54, 64);Null;	// 
	TR(14) Time( -3:3:48) IsuXG(  0, 68, 51, 60, 96,127, 80, 60,  0, 84, 65, 64, 44, 64, 84, 69, 84, 67,12, 12, 64, 54, 64);Null;FINE($0F,$08);	// 
	TR(15) Time( -3:4: 0) IsuXG(  0, 76, 82,100, 16,127,  0, 30, 80, 64, 64, 64, 84, 74, 74, 44, 79, 44,12, 12, 64, 54, 64);Null;	// 
	TR(16) Time( -3:4:48) IsuXG(  0, 69, 88, 70, 84,127, 30, 20, 40, 64, 64, 64, 64, 84, 64, 54, 74, 34,12, 12, 64, 54, 64);Null;	// 
//	TR(17) Time( -2:1: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(18) Time( -2:1:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(19) Time( -2:2: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(20) Time( -2:2:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(21) Time( -2:3: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(22) Time( -2:3:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(23) Time( -2:4: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(24) Time( -2:4:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(25) Time( -1:1: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(26) Time( -1:1:48) IsuXG(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(27) Time( -1:2: 0) IsuXG(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(28) Time( -1:2:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(29) Time( -1:3: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(30) Time( -1:3:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(31) Time( -1:4: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(32) Time( -1:4:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
	}Case(6){
//_  XG MU100/128
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,LPF,Res,HPF,Atc,Dec,Rel,BR,LwF,LwG,TrF,TrG
	TR( 1) Time( -4:1: 0) IsuXG(  0, 36, 82,120, 64,127, 60,  0, 40, 69, 67, 74,104, 74, 74, 44, 84, 54,12, 12, 64, 54, 64);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuXG(  0,  8, 82,100, 64,127, 40,  0,  0, 69, 66, 74, 94, 74, 74, 44, 84, 54,12, 12, 64, 54, 64);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuXG(  0,  6, 40,120, 64,127,  0,  0,  0, 64, 64, 64, 64, 74, 64, 44, 64, 54,12, 14, 84, 54, 64);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuXG(  0, 78, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 84, 64, 39, 64, 39,12, 12, 64, 54, 64);Null;	// 
	TR( 5) Time( -4:3: 0) IsuXG(  0, 79, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 84, 64, 39, 64, 54,12, 12, 64, 54, 64);Null;	// 
	TR( 6) Time( -4:3:48) IsuXG(  0, 67, 82, 80, 24,127,  0, 80, 40, 64, 64, 64,104, 99, 84,  1, 94, 34,12, 12, 64, 48, 79);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuXG(  0, 67, 82, 80,104,127,  0, 80, 40, 84, 67, 64,104, 99, 84,  1, 94, 34,12, 12, 64, 48, 79);Null;Mono;FINE($0F,$08);	// 
	TR( 8) Time( -4:4:48) IsuXG(  0, 69, 81,100,  1,127,  0, 40, 40, 64, 64, 64, 64, 94, 64, 54, 64, 54,12, 28, 84, 54, 64);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuXG( 48, 64,  1, 80, 64,127,100,  0,120, 64, 64, 64, 47, 64, 64, 84, 64,104,12, 24, 80, 44,104);Null;	// 
	TR(10) Time( -3:1:48) IsuXG(127,  0, 28,120, 64,127, 40,  0,  0, 64, 64, 64, 64, 84, 64, 64, 64, 64,12, 12, 84, 54, 74);Null;	// 
			Dlv( 28,127); Drs( 28.127); Deg( 28, 64, 79);
			Dpt( 36, 60); Dlv( 36,127); Drs( 36,  0);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuXG(127,  0, 31,120, 64,127, 40,  0,  0, 64, 64, 64,104, 84, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
			Dpn( 40, 68); Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 64);
			Dpn( 46, 24); Dpt( 46, 64);
			Dpn( 51,104); Dpt( 51, 63); Dlv( 51,110);
			Dpn( 55,127); Dlv( 55,127); Dpt( 55, 62); Deg( 55, 64, 52);
			Dpn( 57,  1); Dlv( 57,120); 
	TR(12) Time( -3:2:48) IsuXG(127,  0, 31,110, 64,127,127,  0,  0, 64, 64, 64,104, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
			Dlv( 36,127); Dpt( 36, 56); Drs( 36,127);
			Dlv( 39,127); Dpt( 39, 68); Drs( 39,127);
	TR(13) Time( -3:3: 0) IsuXG(  0, 68, 51, 60, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 84, 69, 84, 67,12, 12, 64, 54, 64);Null;	// 
	TR(14) Time( -3:3:48) IsuXG(  0, 68, 51, 60, 96,127, 80, 60,  0, 84, 65, 64, 44, 64, 84, 69, 84, 67,12, 12, 64, 54, 64);Null;FINE($0F,$08);	// 
	TR(15) Time( -3:4: 0) IsuXG(  0, 76, 82,100, 16,127,  0, 30, 80, 64, 64, 64, 84, 74, 74, 44, 79, 44,12, 12, 64, 54, 64);Null;	// 
	TR(16) Time( -3:4:48) IsuXG(  0, 69, 88, 70, 84,127, 30, 20, 40, 64, 64, 64, 64, 84, 64, 54, 74, 34,12, 12, 64, 54, 64);Null;	// 
//	TR(17) Time( -2:1: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(18) Time( -2:1:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(19) Time( -2:2: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(20) Time( -2:2:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(21) Time( -2:3: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(22) Time( -2:3:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(23) Time( -2:4: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(24) Time( -2:4:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(25) Time( -1:1: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(26) Time( -1:1:48) IsuXG(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(27) Time( -1:2: 0) IsuXG(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(28) Time( -1:2:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(29) Time( -1:3: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(30) Time( -1:3:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(31) Time( -1:4: 0) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
//	TR(32) Time( -1:4:48) IsuXG(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64, 64,12, 12, 64, 54, 64);Null;	// 
	}Case(5){
//_  XG MU50/80/90
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	TR( 1) Time( -4:1: 0) IsuGS(  0, 36, 82,120, 64,127, 60,  0, 40, 69, 67, 74,104, 74, 44, 84, 54,12);Null;Mono;	// 
	TR( 2) Time( -4:2: 0) IsuGS(  0,  8, 82,100, 64,127, 40,  0,  0, 69, 66, 74, 94, 74, 44, 84, 54,12);Null;Mono;	// 
	TR( 3) Time( -4:3: 0) IsuGS(  0,  6, 40,120, 64,127,  0,  0,  0, 64, 64, 64, 64, 74, 44, 64, 54,12);Null;Mono;	// 
	TR( 4) Time( -4:4: 0) IsuGS(  0, 24, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 84, 39, 64, 39,12);Null;	// 
	TR( 5) Time( -3:1: 0) IsuGS(  0, 32, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 84, 39, 64, 54,12);Null;	// 
	TR( 6) Time( -3:2: 0) IsuGS(  0,  0, 51, 80, 24,127,  0, 80, 40, 64, 64, 64,104, 99,  1, 94, 34,12);Null;Mono;	// 
	TR( 7) Time( -3:3: 0) IsuGS(  0,  0, 51, 80,104,127,  0, 80, 40, 84, 67, 64,104, 99,  1, 94, 34,12);Null;Mono;p%=256;	// 
	TR( 8) Time( -3:4: 0) IsuGS(  0, 67, 81,100,  1,127,  0, 40, 40, 64, 64, 64, 64, 94, 54, 64, 54,12);Null;Mono;	// 
	TR( 9) Time( -2:1: 0) IsuGS( 48, 64,  1, 80, 64,127,100,  0,120, 64, 64, 64, 47, 64, 84, 64,104,12);Null;	// 
	TR(10) Time( -2:2: 0) IsuGS(127,  0, 25,120, 64,127, 40,  0,  0, 64, 64, 64, 64, 74, 64, 64, 64,12);Null;	// 
			Dlv( 28,127); Drs( 28.127); Deg( 28, 64, 79);
			Dpt( 35, 66); Dlv( 35,127); Drs( 35,  0);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -2:3: 0) IsuGS(127,  0, 26,120, 64,127, 40,  0,  0, 64, 64, 64, 94, 84, 64, 64, 64,12);Null;	// 
			Dpn( 40, 68); Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 64);
			Dpn( 46, 24); Dpt( 46, 64);
			Dpn( 51,104); Dpt( 51, 63); Dlv( 51,110);
			Dpn( 55,127); Dlv( 55,127); Dpt( 55, 62); Deg( 55, 64, 52);
			Dpn( 57,  1); Dlv( 57,120); 
	TR(12) Time( -2:4: 0) IsuGS(127,  0, 26,110, 64,127,127,  0,  0, 64, 64, 64,104, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,127); Dpt( 36, 56); Drs( 36,127);
			Dlv( 39,127); Dpt( 39, 68); Drs( 39,127);
	TR(13) Time( -1:1: 0) IsuGS(  0, 16, 90, 80, 32,127, 80, 60,  0, 64, 64, 64, 69, 64, 64, 84, 67,12);Null;	// 
	TR(14) Time( -1:2: 0) IsuGS(  0, 16, 90, 80, 96,127, 80, 60,  0, 84, 65, 64, 69, 64, 64, 84, 67,12);Null;p%=256;	// 
	TR(15) Time( -1:3: 0) IsuGS(  0, 41, 82,100, 16,127,  0, 30, 80, 64, 64, 64, 84, 74, 44, 79, 44,12);Null;	// 
	TR(16) Time( -1:4: 0) IsuGS(  0,  0, 39,100, 84,127, 30, 20, 40, 64, 64, 64, 64, 84, 54, 74, 34,12);Null;	// 
	}Case(4){
//_  GS SC-8850
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	TR( 1) Time( -4:1: 0) IsuGS(  4,  4, 84,110, 64,127, 60,  0, 40, 74, 69, 74, 84, 74, 44, 84, 54,12);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuGS(  4,  2, 82,100, 64,127, 40,  0,  0, 74, 69, 74, 74, 69, 44, 84, 54,12);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuGS(  5,  3, 88,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuGS( 33,  3, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 5) Time( -4:3: 0) IsuGS( 34,  3, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 6) Time( -4:3:48) IsuGS( 15,  4, 82, 80, 24,127,  0, 80, 40, 64, 64, 64,104, 84, 24,104, 34,12);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuGS( 15,  4, 82, 80,104,127,  0, 80, 40, 94,104, 24,104, 84, 24,104, 34,12);Null;Mono;FINE($54,$3D);	// 
	TR( 8) Time( -4:4:48) IsuGS( 10,  4, 82, 80,  1,127,  0, 40, 40, 64, 64, 64, 74, 84, 44, 94, 34,12);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuGS(  3,  1,123, 60, 64,127,100,  0,120, 64, 64, 64, 64,112, 64,114, 59,12);Null;	// 
	TR(10) Time( -3:1:48) IsuGS(  0,  4, 10,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,127);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuGS(  0,  3, 31,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	TR(12) Time( -3:2:48) IsuGS(  0,  3, 31,127, 64,127,127,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 13,127); Dpt( 13, 42); Drs( 13,127);
			Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 58);
			Dpn( 46, 24); Dpt( 46, 58);
			Dpn( 51,104); Dpt( 51, 62); Dlv( 51,120);
			Dpn( 49,  1);
			Dpn( 57,127);
	TR(13) Time( -3:3: 0) IsuGS(  4,  4, 51, 70, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 34, 94, 54,12);Null;	// 
	TR(14) Time( -3:3:48) IsuGS(  4,  4, 51, 70, 96,127, 80, 60,  0, 94, 74, 34, 44, 64, 34, 94, 54,12);Null;FINE($4F,$2E);		// 
	TR(15) Time( -3:4: 0) IsuGS( 29,  3, 82,100, 16,127,  0, 30, 80, 64, 64, 64, 84, 84, 24, 74, 24,12);Null;	// 
	TR(16) Time( -3:4:48) IsuGS( 11,  3, 91,100, 84,127, 30, 20, 40, 64, 64, 64,104, 64, 24, 74, 24,12);Null;	// 
//	TR(17) Time( -2:1: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(18) Time( -2:1:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(19) Time( -2:2: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(20) Time( -2:2:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(21) Time( -2:3: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(22) Time( -2:3:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(23) Time( -2:4: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(24) Time( -2:4:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(25) Time( -1:1: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(26) Time( -1:1:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(27) Time( -1:2: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(28) Time( -1:2:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(29) Time( -1:3: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(30) Time( -1:3:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(31) Time( -1:4: 0) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(32) Time( -1:4:48) IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	}Case(3){
//_  GS SC-88pro
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	TR( 1) Time( -4:1: 0) IsuGS(  8,  1, 82,110, 64,127, 60,  0, 40, 74, 69, 74, 84, 74, 44, 84, 54,12);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuGS(  4,  2, 82,100, 64,127, 40,  0,  0, 74, 69, 74, 74, 69, 44, 84, 54,12);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuGS(  5,  3, 88,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuGS( 33,  3, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 5) Time( -4:3: 0) IsuGS( 34,  3, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 6) Time( -4:3:48) IsuGS(  1,  3, 63,110, 24,127,  0, 80, 40, 64, 64, 64,104, 84, 24,104, 34,12);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuGS(  1,  3, 63,110,104,127,  0, 80, 40, 94,104, 24,104, 84, 24,104, 34,12);Null;Mono;FINE($54,$3D);	// 
	TR( 8) Time( -4:4:48) IsuGS(  1,  3, 81,100,  1,127,  0, 40, 40, 64, 64, 64, 74, 84, 44, 94, 34,12);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuGS(  3,  1,123, 60, 64,127,100,  0,120, 64, 64, 64, 64,112, 64,114, 59,12);Null;	// 
	TR(10) Time( -3:1:48) IsuGS(  0,  3, 10,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 15,120);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuGS(  0,  3, 31,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	TR(12) Time( -3:2:48) IsuGS(  0,  3, 31,127, 64,127,127,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 13,127); Dpt( 13, 42); Drs( 13,127);
			Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 58);
			Dpn( 46, 24); Dpt( 46, 58);
			Dpn( 51,104); Dpt( 51, 62); Dlv( 51,120);
			Dpn( 49,  1);
			Dpn( 57,127);
	TR(13) Time( -3:3: 0) IsuGS(  3,  3, 51, 70, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 34, 94, 54,12);Null;	// 
	TR(14) Time( -3:3:48) IsuGS(  3,  3, 51, 70, 96,127, 80, 60,  0, 94, 74, 34, 44, 64, 34, 94, 54,12);Null;FINE($4F,$2E);		// 
	TR(15) Time( -3:4: 0) IsuGS( 29,  3, 82,100, 16,127,  0, 30, 80, 64, 64, 64, 84, 84, 24, 74, 24,12);Null;	// 
	TR(16) Time( -3:4:48) IsuGS( 11,  3, 91,100, 84,127, 30, 20, 40, 64, 64, 64,104, 64, 24, 74, 24,12);Null;	// 
//	TR(17) Time( -2:1: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(18) Time( -2:1:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(19) Time( -2:2: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(20) Time( -2:2:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(21) Time( -2:3: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(22) Time( -2:3:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(23) Time( -2:4: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(24) Time( -2:4:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(25) Time( -1:1: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(26) Time( -1:1:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(27) Time( -1:2: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(28) Time( -1:2:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(29) Time( -1:3: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(30) Time( -1:3:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(31) Time( -1:4: 0) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(32) Time( -1:4:48) IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	}Case(2){
//_  GS SC-88
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	TR( 1) Time( -4:1: 0) IsuGS(  8,  1, 82,110, 64,127, 60,  0, 40, 74, 69, 74, 84, 74, 44, 84, 54,12);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuGS(  4,  2, 82,100, 64,127, 40,  0,  0, 74, 69, 74, 74, 69, 44, 84, 54,12);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuGS( 18,  2, 40,110, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuGS(  7,  2, 82, 70,  1,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 5) Time( -4:3: 0) IsuGS(  3,  2, 82, 70,127,127,  0,  0, 30, 64, 64, 64, 64, 94, 44, 64, 49,12);Null;	// 
	TR( 6) Time( -4:3:48) IsuGS(  8,  1, 51,100, 24,127,  0, 80, 40, 64, 64, 64,104, 84, 24,104, 34,12);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuGS(  8,  1, 51,100,104,127,  0, 80, 40, 94,104, 24,104, 84, 24,104, 34,12);Null;Mono;FINE($54,$3D);	// 
	TR( 8) Time( -4:4:48) IsuGS(  1,  1, 81,100,  1,127,  0, 40, 40, 64, 64, 64, 74, 84, 44, 94, 34,12);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuGS(  3,  1,123, 60, 64,127,100,  0,120, 64, 64, 64, 64,112, 64,114, 59,12);Null;	// 
	TR(10) Time( -3:1:48) IsuGS(  0,  2, 27,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,110);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuGS(  0,  2, 26,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	TR(12) Time( -3:2:48) IsuGS(  0,  2, 26,127, 64,127,127,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,127); Dpt( 36, 42); Drs( 36,127);
			Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 62);
			Dpn( 46, 24); Dpt( 46, 62);
			Dpn( 51,104); Dpt( 51, 62); Dlv( 51,120);
			Dpn( 49,  1);
			Dpn( 57,127);
	TR(13) Time( -3:3: 0) IsuGS(  1,  2, 51, 70, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 34, 94, 54,12);Null;	// 
	TR(14) Time( -3:3:48) IsuGS(  1,  2, 51, 70, 96,127, 80, 60,  0, 94, 74, 34, 44, 64, 34, 94, 54,12);Null;FINE($4F,$2E);		// 
	TR(15) Time( -3:4: 0) IsuGS(  1,  1, 82,110, 16,127,  0, 30, 80, 64, 64, 64, 84, 84, 24, 74, 24,12);Null;	// 
	TR(16) Time( -3:4:48) IsuGS( 16,  2, 39,100, 84,127, 30, 20, 40, 64, 64, 64,104, 64, 24, 74, 24,12);Null;	// 
//	TR(17) Time( -2:1: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(18) Time( -2:1:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(19) Time( -2:2: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(20) Time( -2:2:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(21) Time( -2:3: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(22) Time( -2:3:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(23) Time( -2:4: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(24) Time( -2:4:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(25) Time( -1:1: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(26) Time( -1:1:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(27) Time( -1:2: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(28) Time( -1:2:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(29) Time( -1:3: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(30) Time( -1:3:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(31) Time( -1:4: 0) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
//	TR(32) Time( -1:4:48) IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	}Case(1){
//_  GS SC-55
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	TR( 1) Time( -4:1: 0) IsuGS(  8,  1, 82,110, 64,127, 60,  0,  0, 74, 69, 74, 84, 64, 44, 84, 54,12);Null;Mono;	// 
	TR( 2) Time( -4:1:48) IsuGS(  0,  1, 81,100, 64,127, 40,  0,  0, 74, 69, 74, 74, 64, 44, 84, 54,12);Null;Mono;	// 
	TR( 3) Time( -4:2: 0) IsuGS(  0,  1, 34,110, 64,127,  0,  0,  0, 64, 64, 64, 34, 64, 64, 64, 64,12);Null;Mono;	// 
	TR( 4) Time( -4:2:48) IsuGS(  1,  1, 82, 70,  1,127,  0,  0,  0, 64, 64, 64, 64, 64, 44, 64, 49,12);Null;	// 
	TR( 5) Time( -4:3: 0) IsuGS(  1,  1, 82, 70,127,127,  0,  0,  0, 64, 64, 64, 64, 64, 44, 64, 49,12);Null;	// 
	TR( 6) Time( -4:3:48) IsuGS(  8,  1, 51,100, 24,127,  0, 80,  0, 64, 64, 64,104, 64, 24,104, 34,12);Null;Mono;	// 
	TR( 7) Time( -4:4: 0) IsuGS(  8,  1, 51,100,104,127,  0, 80,  0, 94,104, 24,104, 64, 24,104, 34,12);Null;Mono;p%=256;	// 
	TR( 8) Time( -4:4:48) IsuGS(  1,  1, 81,100,  1,127,  0, 40,  0, 64, 64, 64, 74, 64, 44, 94, 34,12);Null;Mono;	// 
	TR( 9) Time( -3:1: 0) IsuGS(  3,  1,123, 60, 64,127,100,  0,  0, 64, 64, 64, 64, 64, 64,114, 59,12);Null;	// 
	TR(10) Time( -3:1:48) IsuGS(  0,  1, 25,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,110);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	TR(11) Time( -3:2: 0) IsuGS(  0,  1, 26,127, 64,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	TR(12) Time( -3:2:48) IsuGS(  0,  1, 26,127, 64,127,127,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
			Dlv( 36,127); Dpt( 36, 42); Drs( 36,127);
			Dlv( 40,127); Drs( 40, 32);
			Dpn( 42, 24); Dpt( 42, 62);
			Dpn( 46, 24); Dpt( 46, 62);
			Dpn( 51,104); Dpt( 51, 62); Dlv( 51,120);
			Dpn( 49,  1);
			Dpn( 57,127);
	TR(13) Time( -3:3: 0) IsuGS(  0,  1, 51, 70, 32,127, 80, 60,  0, 64, 64, 64, 44, 64, 34, 94, 54,12);Null;	// 
	TR(14) Time( -3:3:48) IsuGS(  0,  1, 51, 70, 96,127, 80, 60,  0, 94, 74, 34, 44, 64, 34, 94, 54,12);Null;p%=256;		// 
	TR(15) Time( -3:4: 0) IsuGS(  1,  1, 82,110, 16,127,  0, 30,  0, 64, 64, 64, 84, 64, 24, 74, 24,12);Null;	// 
	TR(16) Time( -3:4:48) IsuGS(  8,  1, 40,100, 84,127, 30, 20,  0, 64, 64, 64,104, 64, 24, 74, 24,12);Null;	// 
	}Default{
//_  GM
//					     BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,BR
	TR( 1) Time( -4:1: 0) IsuGM(  0,  0, 82,100, 64,127,  0,  0,  0,12);	// 
	TR( 2) Time( -4:2: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 3) Time( -4:3: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 4) Time( -4:4: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 5) Time( -3:1: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 6) Time( -3:2: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 7) Time( -3:3: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 8) Time( -3:4: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR( 9) Time( -2:1: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(10) Time( -2:2: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(11) Time( -2:3: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(12) Time( -2:4: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(13) Time( -1:1: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(14) Time( -1:2: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(15) Time( -1:3: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	TR(16) Time( -1:4: 0) IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
}}
//_Rhythm Macro
Switch(SynthType){
	Case(7){	$k{ n36,} $K{ n36,} $s{ n38,} $S{ n40,} $c{ n57,} $C{ n55,} $b{ n36,} $B{ n35,} $d{ n40,} $D{ n38,} $V{ n28,}	}
	Case(6){	$k{ n36,} $K{ n36,} $s{ n38,} $S{ n40,} $c{ n57,} $C{ n55,} $b{ n36,} $B{ n35,} $d{ n40,} $D{ n38,} $V{ n28,}	}
	Case(5){	$k{ n36,} $K{ n35,} $s{ n38,} $S{ n40,} $c{ n57,} $C{ n55,} $b{ n36,} $B{ n35,} $d{ n40,} $D{ n38,} $V{ n28,}	}
	Case(4){	$k{ n13,} $K{ n36,} $s{ n38,} $S{ n40,} $c{ n49,} $C{ n57,} $b{ n35,} $B{ n36,} $d{ n38,} $D{ n40,} $V{ n52,}	}
	Case(3){	$k{ n13,} $K{ n15,} $s{ n38,} $S{ n40,} $c{ n49,} $C{ n57,} $b{ n35,} $B{ n36,} $d{ n38,} $D{ n40,} $V{ n52,}	}
	Case(2){	$k{ n36,} $K{ n36,} $s{ n38,} $S{ n40,} $c{ n49,} $C{ n57,} $b{ n35,} $B{ n36,} $d{ n38,} $D{ n40,} $V{ n52,}	}
	Case(1){	$k{ n36,} $K{ n36,} $s{ n38,} $S{ n38,} $c{ n49,} $C{ n57,} $b{ n35,} $B{ n36,} $d{ n38,} $D{ n40,} $V{ n52,}	}
	Default{		}
}
$t{ n39,} $h{ n42,} $i{ n44,} $H{ n46,} $R{ n51,}
//---------------------------------------------------------------------------------------------
/** BODY **/
Int Loop = 1;	// ループカウンタ
Int Sabi = 1;	// サビのフレーズ切り替え用フラグ

//_Track 10 [Rhythm 1]
// リズムマシン
#dran={S{
	If(SynthType == 7 || SynthType == 6){	// MU100〜2000
		IsuGM(127,  0, 28,120, 64,127, 40,  0,  0, 12);
			Dlv( 28,127); Drs( 28.127); Deg( 28, 64, 79);
			Dpn( 36, 60); Dlv( 36,127);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}Else{If(SynthType == 5){			// 〜MU90
		IsuGM(127,  0, 26,120, 64,127, 40,  0,  0, 12);
			Dlv( 28,127); Drs( 28.127); Deg( 28, 64, 79);
			Dpn( 35, 60); Dlv( 35,127);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}Else{If(SynthType == 4){			// SC-8850
		IsuGM(  0,  4, 10,127, 64,127, 40,  0,  0, 12);
			Dpn( 36, 60); Dlv( 36,127);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}Else{If(SynthType == 3){			// SC-88pro
		IsuGM(  0,  3, 10,127, 64,127, 40,  0,  0, 12);
			Dpn( 15, 56); Dlv( 15,120);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}Else{If(SynthType == 2){			// SC-88
		IsuGM(  0,  2, 27,127, 64,127, 40,  0,  0, 12);
			Dpn( 36, 52); Dlv( 36,110);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}Else{If(SynthType == 1){			// 〜SC-55
		IsuGM(  0,  1, 25,127, 64,127, 40,  0,  0, 12);
			Dpn( 36, 40); Dlv( 36,110);
			Dpn( 42, 84); Dpt( 42, 68);
			Dpn( 44, 84); Dpt( 44, 68);
			Dpn( 52, 64); Drs( 52,127);
	}}}}}}	l16
}}
// ローファイ
#drlf={S{
	If(SynthType == 7 || SynthType == 6){	// MU100〜2000
		IsuGM(127,  0,  3,127, 64,127,  0,  0,  0, 12);p%=4096;	// 
	}Else{If(SynthType == 5){			// 〜MU90
		IsuGM(127,  0,  1,127, 64,127,  0,  0,  0, 12);p%=-4096;	// 
	}Else{If(SynthType == 4){			// SC-8850
		IsuGM(  0,  4,  9,127, 64,127,  0,  0,  0, 12);p%=4096;	// 
	}Else{If(SynthType == 3){			// SC-88pro
		IsuGM(  0,  2,  2,127, 64,127,  0,  0,  0, 12);p%=4096;	// 
	}Else{If(SynthType == 2){			// SC-88
		IsuGM(  0,  2,  2,100, 64,127,  0,  0,  0, 12);p%=-4096;	// 
	}Else{If(SynthType == 1){			// 〜SC-55
		IsuGM(  0,  1,  1,100, 64,127,  0,  0,  0, 12);p%=-4096;	// 
	}}}}}}	l16
}}

#dr1a={	l16 q100	Rhythm{
	(v127	S){	r-2 V2	}
	(v127	S){	[7[4K4]]	[3K4]K8(v-)K8(v+)	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
}}
#dr1b={	l16 q100	Rhythm{
	(v127	S){	[6[4K4]]	K4r2^8(v-)K8(v+)	K8.K8.K8K4r8(v--)K(v+)K	}
	(v63	S){	[7r1]	r[4K32(v+5)](v-20)r [4K32(v+5)](v-)r[2K32(v+5)] r[6K32(v-5)][4K32(v+)]	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
}}
#dr1c={	l16 q100	Rhythm{
	(v127	S){	[7[4K4]]	K4K4 Krr(v--)K(v++) Kr(v-)K(v+)r	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
}}
#dr1d={	l16 q100	Rhythm{
	(v127	S){	[7[4K4]]	K4 Kr(v-)Kr(v+) Krr(v--)K(v++) Kr(v-)Kr(v+)	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
}}
#dr11={	l16 q100	Rhythm{
	(v127	S){	[7[4K4]]	K4 Krr(v--)K(v++) Kr(v-)Kr(v+) Krr(v--)K	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
}}
#dr12={	l16 q100	Rhythm{
	(v127	S){	[8[3K4]]	Kr(v-)Kr rKr(v-)K(v++) K4	r4K8.K8.K8	}
	(v63	S){	[9r2.]	rr[4K32(v+5)](v-20) r[4K32(v+5)](v-20)r [4K32(v+5)](v-20)r8	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v--)h(v++)i(v-)h(v+)i]
			(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v--)h(v++)i	}
	(v127	S){	[9r2.]	r4V2	}
}}
#dr13={	l16 q100	Rhythm{
	(v127	S){	[2 [3[4K4]]	:	K4K4 Krr(v--)K(v++) Kr(v-)K(v+)r]	}
	(v100	S){	[8(v--)h(v++)i(v--)h(v+)h(v+) i(v--)h(v+)h(v-)i(v++) (v-)h(v-)h(v++)i(v-)h(v+) (v--)h(v++)i(v-)h(v+)i]	}
	}
	If(Sabi == 1 || Sabi == 3){Rhythm{
		(v127 S){	[7r1]	K4 Kr(v-)Kr(v+) Krr(v--)K(v++) Kr(v-)Kr(v+)	}
	}}Else{Rhythm{
		(v127 S){	[7r1]	K(v--)KrK rKrr(v++) K(v--)Krr(v++) Kr(v-)Kr(v+)	}
	}}
	If(Sabi == 3){Rhythm{
		(v127	S){	r-2 V2	}
	}}	
}
#dr1e={	l16 q100	Rhythm{
	(v127	S){	r-2 V2	}
	}
	If(Sabi == 1){Rhythm{
	}}Else{Rhythm{
		(v127	S){	K4r2.	r2.r8(v-)K8(v+)	K4r2.	r2K8.(v--)K8.(v+)K8(v+)
				K4r2r8(v-)K8(v+)	[2K4.(v-)K8(v+)]	K4K4[4K8]	K8.K8.K8K4K4	}
		(v63	S){	[7r1]	r[4K32(v+5)](v-20)r [4K32(v+5)](v-)r[2K32(v+5)] r[6K32(v-5)]	}
	}}
}
#dr14={S{	l8	r-8 #drlf r8	[9r2.]	#dran p%=0;	}
		l16 q100	Rhythm{
	(v120	S){	[2	[2	brrr brrr brrr	:	brrb rrrr rrbr]	brrr brrr brrr]	brrr brrr brrr	}
	(v100	S){	[2	[2	rrrr rBrr rrrr	:	rrrr Brrr Brrr]	rrrB rrrr rrrr]	rrrB rrrr rrrr	}
//	(v80	S){	[2	[2	rrrd rrrr rrrd	:	rrdr rrrd rrrr]	rrrd rrrr rrrr]	rrrd rrrr rrrr	}
	(v110	S){	[2	[2	rrDr rrrD rrDr	:	rDrr rrDr rrDr]	rrDr rDrD rrDr]	rrDr rDrD Drrr	}
}}
#dr1f={	l16 q100	Rhythm{
	(v127 S){	[2	K(v--)KrK rKrr(v++) K(v--)Krr(v++) Kr(v-)Kr(v+)]
			[2K(v--)KrK rKrr(v++)]	[3K(v--)KrK(v++)]K4	}
	(v63	S){	[3r1]	r2.r[6K32(v-5)]	}
	(v127	S){	[4r1] V2	}
}}

//_Track 11 [Rhythm 2]
#dr2a={	l16 q100	Rhythm{
	(v120	S){	c1	}
	(v120	S){	C1	}
}}
#dr2b={	l16 q100	Rhythm{
	(v100	S){	[8[2r4t4]]	}
	(v120	S){	c1	r1	r1	r2.c4		r1	r1	c2^4.r8	c4.r8c4r4	}
	(v120	S){	C1	r1	r1	r2.r4		C1	r1	C2^4.C8	r4.C8r4C4	}
	(v79	S){	[6r1]	[24S(v+2)]	}
}}
#dr2c={	l16 q100	Rhythm{
	(v100	S){	[8[2r4t4]]	}
	(v120	S){	[8[4hrHh]]	}
	(v120	S){	c1	r1	r1	r2.c4		r1	r1	r1	c2r2	}
	(v120	S){	C1	r1	r1	r2.r4		C1	r1	r1	r2C2	}
}}
#dr2d={	l16 q100	Rhythm{
	(v100	S){	[8[2r4t4]]	}
	(v120	S){	[8[4hrHh]]	}
	(v120	S){	c1	r1	r1	r2.c4		r1	r1	c2^4.r8	c2r2	}
	(v120	S){	C1	r1	r1	r2.r4		C1	r1	C2^4.C8	r2C2	}
	(v79	S){	[6r1]	[24S(v+2)][8S]	}
}}
#dr21={	l16 q100	Rhythm{
	(v100	S){	[8[2r4t4]]	}
	(v120	S){	[8[4hrHh]]	}
	(v120	S){	c1	r1	r1	r1		r1	r1	c1	r2c4r4	}
	(v120	S){	C1	r1	r1	r1		r1	r1	r1	C2r4C4	}
	(v127	S){	[7r1]	rrSr(v-5)[8S(v+5)]SrSS	}
}}
#dr22={	l16 q100	Rhythm{
	(v100	S){	[8r4t4r8t8]	r4t4	}
	(v120	S){	[8[3hrHh]]	[3hr:Hh]	}
	(v127	S){	[9[3R4]]	}
	(v120	S){	c2.	r2.	r2.	r2.		r2.	r2.	c2c4	r2.		r2.	}
	(v120	S){	C2.	r2.	r2.	r2.		C2.	r2.	C2r4	r2.		C2.	}
	(v100	S){	[7r2.]	[12S(v+2)]	}
}}
#dr23={	l16 q100	Rhythm{
	(v100	S){	[8[2r4t4]]	}
	(v120	S){	[8[4hrHh]]	}
	(v120	S){	c1	r1	r1	r2.c4		r1	r1	}
	(v120	S){	C1	r1	r1	r2.r4		C1	r1	}
	}
	If(Sabi == 1 || Sabi == 3){Rhythm{
		(v120	S){	[6r1]	r1	c2r2	}
		(v120	S){	[6r1]	r1	r2C2	}
		(v100	S){	[7r1]	[4S8(v+6)][8S]	}
	}}Else{Rhythm{
		(v120	S){	[6r1]	c2^4.r8	c2r2	}
		(v120	S){	[6r1]	C2^4.C8	r2C2	}
		(v79	S){	[6r1]	[24S(v+2)][8S]	}
	}}
}
#dr2e={	l16 q100	Rhythm{
	(v120	S){	c1	r1	r1	r2.c4		r1	r1	}
	(v120	S){	C1	r1	r1	r2.r4		C1	r1	}
	}
	If(Sabi == 1){Rhythm{
		(v120	S){	[6r1]	r1	c2r2	}
		(v120	S){	[6r1]	r1	r2C2	}
	}}Else{Rhythm{
		(v120	S){	[6r1]	c2^4.r8	c2r2	}
		(v120	S){	[6r1]	C2^4.C8	r2C2	}
		(v1	S){	(v.T=15,51,!1^1^1;)[3[8rS]]	(v.T=51,57,!2;)[4rS][2(v-10)[4S(v+5)]]
				(v.T=65,97,!1^1;)[2[16S]]	(v100)[4[4S(v-6)](v+28)] (v.T=112,88,!4;)S[6S32](v.T=87,127,!4;)[4S32]SS(v127)[8S] 	}
	}}
}
#dr24={	l16 q100	Rhythm{
	(v120	S){	c2.	r2.	r2.	r2.		r2.	r2.	c2c4	r2.		r2.	}
	(v120	S){	C2.	r2.	r2.	r2.		C2.	r2.	C2r4	r2.		C2.	}
	(v127	S){	[2	[3	[3S(v-)S(v+)Sr]]	S(v-)S(v+)Sr S(v-)S(v-)S(v+)S(v+) S(v-)S(v+)Sr]	[4S(v-6)][4S(v+6)]S	}
}}
#dr2f={	l16 q100	Rhythm{
	(v120	S){	c1	c1	c2r2	c4c4r4c4	c1	}
	(v120	S){	C1	r2	C2C2	C4r4C4r4	C1	}
}}

//_Track 12 [Rhythm 3]
#dr3b={	l16 q100	Rhythm{
	(v127	S){	[7r1]	r2(p%.T=8192,-8192,!4;)tt32t32trt4(p%=0;)	}
}}
#dr32={	l16 q100	Rhythm{
	(v127	S){	[8r2.]	(p%.T=8192,-8192,!2;)t32t32rt32t32r tt32t32tr t4(p%=0;)		}
}}
#dr3e={	l16 q100	Rhythm{
	(v127	S){	k1	r1	r1	r1		k1	r1	r1	r1	}
}}
#dr34={	l16 q100	Rhythm{
	(v127	S){	[8r2.]	r2k1	}
}}
#dr3f={	l16 q100	Rhythm{
	(v127	S){	[4r1]	k1	}
}}

//_Track 26 []
//_Track 27 []
//_Track  1 [Vocal]
// Aメロ
#vc11={S{	l8
	r4 Ben(-256,!16);r4rr16r8. Ben(256,!16);r
	Ben(-256,!16);rr16 Ben(-384,!8);Vib(104,!2.);S{y11.T=112,127,!8;r2y11.T=126,95,!4^16;r4.y11(127);}r2.^16
	r4 Ben(-256,!16);r4rr16r8. Ben(-256,!16);r
	Ben(-256,!16);rr16 Ben(-384,!8);Vib(104,!2.);S{y11.T=112,127,!8;r2y11.T=126,95,!4^16;r4.y11(127);}r2.^16
	r4 Ben(-256,!16);r4rr16r8. Ben(256,!16);r
	Ben(-256,!16);rrrr16 Ben(-384,!8);Vib(40,!4^16);r4^16rr
	rrr Ben(-256,!16);rrrrr
	Ben(-384,!8);Vib(72,!2^8);S{y11.T=112,127,!8;r4.y11.T=126,95,!4;r4.y11(127);}r2^8
	}	o6 v110 q98 l8
	r4e-4de-16d8.<b-
	b->c16c2.^16
	r4e-4de-16d8.f
	fg16e-2.^16
	r4e-4de-16d8.<b-
	b-a-b->e-16<b-4^16rb-
	a-ga->e-dc<b->c
	c2^8
}
// Bメロ
#vc12={S{	l8
	r-4rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rrrr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
	Ben(-384,!8);Vib(64,!2);S{y11.T=112,127,!8;r4y11.T=126,103,!4;r4.y11(127);}r2rr
	rrrrrr
	Ben(-384,!8);Vib(88,!2.);S{y11.T=112,127,!8;r4.y11.T=126,95,!4^16;r4.y11(127);}r2^8.
	}	o6 v110 q98 l8
	r-4<a>c+
	dc+df+ec+
	dc+dgf+r
	dc+dgf+d
	eder<b>d
	edeagf+
	fe-fagb-
	>c2rc<
	b-afe-c<b->
	d2^8.
}
// サビ
#vc13={S{	l8
	If(Sabi == 1 || Sabi == 3){	// サビ1
		r-2 r8.r8.r
	}
	S{If(SynthType > 1){ y94=20; }}
	Ben(-384,!8);Vib(48,!4.);r4.r16r16 Ben(256,!16);r4 Ben(-256,!16);r4
	r4r4 Ben(-384,!8);Vib(48,!4.);r4.r
	Ben(-384,!8);r4rrrrrr
	Ben(-384,!8);r4rr Ben(-384,!8);Vib(48,!4.);r4.r
	Ben(-384,!8);Vib(48,!4.);r4.r Ben(-256,!16);r4 Ben(-256,!16);r4
	r4r4 Ben(-384,!8);Vib(48,!4.);r4.r
	If(Sabi == 1 || Sabi == 3){	// サビ1
		Ben(-384,!8);r4.rrrr Ben(-384,!8);Vib(80,!8^2);S{y11.T=112,127,!8;r4.y11.T=126,103,!4;}r8
		^2 Ben(256,!8);Vib(48,!4.);S{y11.T=112,127,!8;}r4.r
	}Else{
		Ben(-256,!16);rrrr Ben(-256,!16);rrr
		If(Sabi == 4){
			Ben(-384,!8);S{y1.T=1,127,!1;r8^1^1^1y1(0);}S{y11.T=112,127,!8;r8^2y11.T=126,110,!1,109,85,!1,84,68,!2;r2^1^1^4y11(127);}r8^1^1^1
		}Else{
			Ben(-384,!8);S{y1.T=1,127,!1;r8^1y1(0);}S{y11.T=112,127,!8;r8^4y11.T=126,110,!2,109,93,!4;r1y11(127);}r8^1
		}
	}
	}	o6 v110 q98 l8
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(2);
	}
	If(Sabi == 1 || Sabi == 3){	// サビ1
		r-2 d8.e-8.f
	}
	g4.e-16g16f4a4
	b-4>c4d4.r
	e-4de-dc<b-g
	b-4>c<b-a4.r
	g4.gf4a4
	b-4>c4d4.r
	If(Sabi == 1 || Sabi == 3){	// サビ1
		e-4.dc<b->c<b-8
		^2a4.r
	}Else{
		e-dce-d<af
		If(Sabi == 4){
			g8^1^1^1
		}Else{
			g8^1
		}
	}
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(0);
	}
}
// Bメロ3
#vc14={S{	l8
	r-4rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rrrr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
	Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
	Ben(-384,!8);Vib(64,!2);S{y11.T=112,127,!8;r4y11.T=126,103,!4;r4.y11(127);}r2rr
	rrrrrr
	Ben(-384,!8);Vib(88,!2.);S{y11.T=112,127,!8;r4.y11.T=126,95,!4^16;r4.y11(127);}r2^8.
	}	o6 v110 q98 l8
	r-4<a>c+
	dc+df+ec+
	dc+dgf+r
	dc+dgf+d
	eder
	Key(2);
	<b>d
	edeagf+
	fe-fagb-
	>c2rc<
	b-afe-c<b->
	d2^8
	Key(0);
}

//_Track  2 [Chorus]
// Aメロ
#vc21={S{	l8
//	r4 Ben(-256,!16);r4rr16r8. Ben(256,!16);r
//	Ben(-256,!16);rr16 Ben(-384,!8);Vib(104,!2.);S{y11.T=112,127,!8;r2y11.T=126,95,!4^16;r4.y11(127);}r2.^16
//	r4 Ben(-256,!16);r4rr16r8. Ben(-256,!16);r
//	Ben(-256,!16);rr16 Ben(-384,!8);Vib(104,!2.);S{y11.T=112,127,!8;r2y11.T=126,95,!4^16;r4.y11(127);}r2.^16
	[4r1]
	r4 Ben(-256,!16);r4rr16r8. Ben(256,!16);r
	Ben(-256,!16);rrrr16 Ben(-384,!8);Vib(40,!4^16);r4^16rr
	rrr Ben(-256,!16);rrrrr
	Ben(-384,!8);Vib(72,!2^8);S{y11.T=112,127,!8;r4.y11.T=126,95,!4;r4.y11(127);}r2^8
	}	o6 v110 q98 l8
//	r4c4<b->c16<b-8.g
//	ga-16a-2.^16>
//	r4c4<b->c16<b-8.>d
//	de-16c2.^16
	[4r1]
	r4c4<b-b-16b-8.g
	gfgg16g4^16rg
	fe-f>c<b-a-ga-
	g2^8
}
// Bメロ
#vc22={S{	l8
	If(Loop == 1){	// 1回目
		[2r2.]
	}Else{
		r-4rr
		Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
		Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
	}
//	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
//	Ben(256,!16);rr Ben(-256,!16);rrrr
//	Ben(256,!16);rr Ben(-256,!16);rr Ben(256,!16);rr
//	Ben(256,!16);rr Ben(-256,!16);rr Ben(-256,!16);rr
//	Ben(-384,!8);Vib(64,!2);S{y11.T=112,127,!8;r4y11.T=126,103,!4;r4.y11(127);}r2rr
	[4r2.]
	r2rr
	rrrrrr
	Ben(-384,!8);Vib(88,!2.);S{y11.T=112,127,!8;r4.y11.T=126,95,!4^16;r4.y11(127);}r2^8.
	}	o6 v110 q98 l8
	If(Loop == 1){	// 1回目
		[2r2.]
	}Else{
		r-4<f+a
		bab>dc+<a
		bab>edr
	}
//	bab>ed<b>
//	c+<b>c+r<gb>
//	c+<b>c+f+ed
//	dcdfe-g
//	a2ra
	[4r2.]
	r2ra
	gfdc<ag
	a2^8.
}
// サビ
#vc23={S{	l8
	If(Sabi == 1 || Sabi == 3){	// サビ1
		r-2 r8.r8.r
	}
	Ben(-384,!8);Vib(48,!4.);r4.r16r16 Ben(256,!16);r4 Ben(-256,!16);r4
	r4r4 Ben(-384,!8);Vib(48,!4.);r4.r
	Ben(-384,!8);r4rrrrrr
	Ben(-384,!8);r4rr Ben(-384,!8);Vib(48,!4.);r4.r
	Ben(-384,!8);Vib(48,!4.);r4.r Ben(-256,!16);r4 Ben(-256,!16);r4
	r4r4 Ben(-384,!8);Vib(48,!4.);r4.r
	If(Sabi == 1 || Sabi == 3){	// サビ1
		Ben(-384,!8);r4.rrrr Ben(-384,!8);Vib(80,!8^2);S{y11.T=112,127,!8;r4.y11.T=126,103,!4;}r8
		^2 Ben(256,!8);Vib(48,!4.);S{y11.T=112,127,!8;}r4.r
	}Else{
		Ben(-256,!16);rrrr Ben(-256,!16);rrr
		If(Sabi == 4){
			Ben(-384,!8);S{y1.T=1,127,!1;r8^1^1^1y1(0);}S{y11.T=112,127,!8;r8^2y11.T=126,110,!1,109,85,!1,84,68,!2;r2^1^1^4y11(127);}r8^1^1^1
		}Else{
			Ben(-384,!8);S{y1.T=1,127,!1;r8^1y1(0);}S{y11.T=112,127,!8;r8^4y11.T=126,110,!2,109,93,!4;r1y11(127);}r8^1
		}
	}
	}	o6 v110 q98 l8
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(2);
	}
	If(Sabi == 1 || Sabi == 3){	// サビ1
		r-2 <b-8.>c8.d
	}
	e-4.c16e-16d4e-4
	f4g4a4.r
	b-4ab-b-gfe-
	f4gff4.r
	e-4.dd4e-4
	f4g4a4.r
	If(Sabi == 1 || Sabi == 3){	// サビ1
		b-4.agfe-f8
		^2f4.r
	}Else{
		b-agage-d
		If(Sabi == 4){
			d8^1^1^1
		}Else{
			d8^1
		}
	}
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(0);
	}
}
// Bメロ3
#vc24={S{	l8
	[6r2.]
	r2rr
	rrrrrr
	Ben(-384,!8);Vib(88,!2.);S{y11.T=112,127,!8;r4.y11.T=126,95,!4^16;r4.y11(127);}r2^8.
	}	o6 v110 q98 l8
	[6r2.]
	Key(2);
	r2ra
	gfdc<ag
	a2^8
	Key(0);
}

//_Track  3 [Bass]
#bsp1={	<v-#?1rv+>#?1^ <v-#?1,50v+>#?1^v-#?1,50v+	}
#bsp2={	<v-#?1rv+>#?1^ <v-#?2,50v+>#?2^v-#?2,50v+	}
#bsp3={	<v-#?1rv+>#?1^ <v-#?1,50v+>#?1^v-#?2,50v+	}
#bs1a={	o3 v127 q90 l16
	[3	[2 #bsp1({d})]	#bsp1({d}) #bsp2({d},{c})]
		[2 #bsp1({d})]	< #bsp1({b-}) > #bsp1({c})
}
#bs11={	o3 v127 q90 l16
	[3	[2 #bsp1({c})]	#bsp1({c}) < #bsp2({a-},{b-}) > ]
	< #bsp1({a-}) #bsp1({b-}) >	[2 #bsp1({c})]
}
#bsp4={	<v-#?1rv+>#?1^ <v-#?1,50v+>#?1^v-#?1,50v+ <v-#?1rv+>#?1^	}
#bs12={	o3 v127 q90 l16
	[4 #bsp4({d})]
	#bsp4({d})	#bsp4({e-})	#bsp4({f})	<v-frv+>f^ <v-f,50v+>f^v-f,50v+ <v-e-rv+>e-^	<v-drv+>d^ <v-d,50v+>d^v-d,50v+ d^rr
}
#bs13={	o3 v127 q90 l16
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(2);
	}
	[2	[2	#bsp1({e-}) #bsp1({f})	:	#bsp1({g}) #bsp1({d})]	:	#bsp1({g}) #bsp2({g},{d})]
	If(Sabi == 1){
		#bsp1({g}) #bsp2({g},{f})
	}Else{
		#bsp1({g}) #bsp1({g})
	}
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(0);
	}
}
#bsp1e={	rr#?1^ r#?1^v-#?1,50v+	}
#bsp2e={	rr#?1^ r#?2^v-#?2,50v+	}
#bs1e={	o3 v127 q90 l16
	[2	[2	#bsp1e({e-}) #bsp1e({f})	:	#bsp1e({g}) #bsp1e({d})]	:	#bsp1e({g}) #bsp2e({g},{d})]
	If(Sabi == 1){
		#bsp1e({g}) #bsp2e({g},{f})
	}Else{
		#bsp1e({g}) #bsp1e({g})
	}
}
#bs14={	o3 v127 q90 l16
	[4 #bsp4({d})]
	Key(2);
	#bsp4({d})	#bsp4({e-})	#bsp4({f})	<v-frv+>f^ <v-f,50v+>f^v-f,50v+ <v-e-rv+>e-^	<v-drv+>d^ <v-d,50v+>d^v-d,50v+ d^rr
	Key(0);
}
#bsp1h={	<v-#?1,50v+>#?1^v-#?1,50v+	}
#bsp1q={	<v-#?1,50v+>#?1	}
#bs1f={	o3 v127 q90 l16
	Key(2);
	#bsp1({g}) #bsp1({g})
	#bsp1({g}) #bsp1({g})
	[4#bsp1h({g})]
	[8#bsp1q({g})]
	g4
	Key(0);
}

//_Track  4 [Synth 1 L]
#sn11={	o6 v127 q66 l8
	y74.T=32,96,!2.^2.^2.^2.^2.^2.^2.^2.^2.;
	[4[3r'dg']]
	[3r'dg'] [3r'e-g'] [2[3r'e-a']]	r'e-a'r'e-a''e-a'r
}
#sn14={	o6 v127 q66 l8
	y74.T=32,96,!2.^2.^2.^2.^2.^2.^2.^2.^2.;
	[4[3r'dg']]
	Key(2);
	[3r'dg'] [3r'e-g'] [2[3r'e-a']]	r'e-a'r'e-a''e-a'r
	Key(0);
}
//_Track  5 [Synth 1 R]

//_Track  6 [Synth 2 Lay1]
#sn23={S{	o6 v127 q99 l16
		If(Sabi == 3 || Sabi == 4){	// 3回目
			Key(2);
		}
		[2	rrgr gfrg rrar agra	rrb-r b-arb- : rrb-r b->crd<] rrb-r b->cr<a
		[2	rrgr gfrg rrar agra	: rrb-r b-arb- rrb-r b->crd<] 
		If(Sabi == 1){
			rrgr gfrg rrfr farb-
		}Else{
//			rrgr gfrg rrgr gfrg
			rrb-r b-arb- rrb-r b-arb-
		}
		If(Sabi == 3 || Sabi == 4){	// 3回目
			Key(0);
		}
	}	o6 v115 q66 l16
		If(Sabi == 3 || Sabi == 4){	// 3回目
			Key(2);
		}
		[2	e-<b->re- rr<b->r fcrf rrcr	gdrg rrdr : gdrg r>r<g>r<] gdrg r>r<dr
		[2	e-<b->re- rr<b->r fcrf rrcr	: gdrg rrdr gdrg r>r<g>r<] 
		If(Sabi == 1){
			e-<b->re- rr<b->r d<a>rd rrdr
		}Else{
//			e-<b->re- rr<b->r e-<b->re- rr<b->r
			gdrg rrdr gdrg rrdr
		}
		If(Sabi == 3 || Sabi == 4){	// 3回目
			Key(0);
		}
}
#sn2e={
	If(Sabi == 1){
		y74.T=8,56,!1^1,56,8,!1^1,8,56,!1^1,56,8,!1^1;
	}Else{
		y74.T=8,56,!1^1,56,8,!1^1,8,56,!1^1,56,104,!1^1;
	}
	S{#sn23}
}
#sn2f={S{	o6 v127 q99 l16
		Key(2);
		rrb-r b-arb- rrb-r b-arb-
		rrb-r b-arb- rrb-r b-arb-
		b-arb- b-arb- b-arb- b-arb-
		b-ab-a b-ab-a b-ab-a b-ab-a
		b-4
		Key(0);
	}	o6 v115 q66 l16
		Key(2);
		gdrg rrdr gdrg rrdr
		gdrg rrdr gdrg rrdr
		rrdr rrdr rrdr rrdr
		rrrr rrrr rrrr rrrr
		Key(0);
}

//_Track  7 [Synth 2 Lay2]

//_Track  8 [Synth 3]
#sn31={	l8
//   周期の長さ, 半径(0〜63), 中心パン, 初期位相, 回転方向(1,-1:正,負), 回転回数, 書込頻度
	TDAuto(!1^1,63,64,135,1,4,8);
	y74.T=32,96,!1^1,96,32,!1^1,32,96,!1^1,96,32,!1^1;
	S{	o6 v127 q99 l16
		[2	rre-r rcr<b- drrg rre-r		rrdr rfra- drrb- rr>dr
		:	rre-r rcr<b- drrg rre-r		rrdr rfrb- e-rra- rr>dr]
			rrcr r<a-rf <b->rrg rrdr	rre-r rgrb- frr>e- rrcr
	}	o5 v105 q66 l16
		[2	e-rrr drrr rr<b-r rb-rr		a-rrr a-rrr rr>cr rdrr
		:	e-rrr drrr rr<b-r rb-rr		a-rrr b-rrr rrb-r> rdrr]
			crrr <a-rrr rrgr rb-rr		>crrr <a->rrr rrcr re-rr
}

//_Track  9 [SFX]
#fx10={	o6 v127 q99 l1
	If(SynthType >= 5){
		r
		y74.T=32,127,!1,127,0,!1^1;
		y71.T=48,127,!1,127,64,!1^1.;
		[3[8e-8]]
		r r
		y74.T=32,127,!1^1;
		y71.T=48,127,!1^1;
		[2[8e-8]]
	}Else{
		r
		y74.T=32,104,!2,104,56,!1^2,55,39,!2,38,6,!4;
		e-1^1^1
		r r
		y74.T=6,46,!2.,47,127,!1;
		e-1^1
	}
}
#fx11={	o6 v127 q99 l2.
	If(SynthType >= 5){
		[7r]
		y74.T=32,127,!2.^2.^2.;
		y71.T=48,127,!2.^2.^2.;
		[3[6e-8]]e-8e-8
	}Else{
		[7r]
		y74.T=6,46,!2.,47,127,!2.^2.;
		e-2.^2.^2.^4
	}
}
#fx12={	o6 v127 q99 l2.
	If(SynthType >= 5){
		[3r]
		y74.T=32,127,!1^1;
		y71.T=48,127,!1^1.;
		[2[8e-8]]
	}Else{
		[3r]
		y74.T=6,46,!2.,47,127,!4^1;
		e-1^1
	}
}

//_Track 13 [Pad Lay1]
#pd12={	o5 v100 q97 l2.
	'dfb-'2.^2.^2.^2.
	'dgb-'	'e-g>c<'	'fg>c<'	'e-fb-'
	'dfa'2^8
}
#pd13={	o5 v100 q97 l2
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(2);
	}
	[2	[2	'e-gb-''fa>c<'	:	'gb->d<''fa>d<']	:	'gb->d<'2.'fb->d<'4]
	If(Sabi == 1){
		'gb->d<'2.'fb->c<'4
	}Else{
		'gb->d<'1
	}
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(0);
	}
}
#pd14={	o5 v100 q97 l2.
	'dfb-'2.^2.^2.^2.
	Key(2);
	'dgb-'	'e-g>c<'	'fg>c<'	'e-fb-'
	'dfa'2^8
	Key(0);
}
#pd1f={	o5 v100 q97 l2
	Key(2);
	'gb->d<'1	'gb->d<'1	[2'gb->d<'2]	[4'gb->d<'4]	'gb->d<'4
	Key(0);
}
//_Track 14 [Pad Lay2]

//_Track 15 [Synth 4]
#sn4a={	o7 q95 l16
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(2);
	}
	r1
	v127 y10(16); v---- <g>cde- v++ <g>cde- v++ <g>cde- v-- <g>cde-
	[4v--<g>cde-]	r1
	r1
	v127 y10(111); v---- e-dc<g> v++ e-dc<g> v++ e-dc<g> v-- e-dc<g>
	[4v--e-dc<g>]	r1
	If(Sabi == 3 || Sabi == 4){	// 3回目
		Key(0);
	}
}

//_Track 16 [Synth 5]
#sn5p={	#?1 < v- #?1,50 > v+ #?1^	}
#sn5a={	o6 v127 q75 l16
	S{[2y74.T=80,112,!1,112,48,!1^1,48,80,!1;[4r1]]}
	Unison({
		#sn5p(g); > #sn5p(e-); #sn5p(d); < #sn5p(b-);	#sn5p(g); > #sn5p(c); #sn5p(d); #sn5p(f); <
		#sn5p(g); > #sn5p(e-); #sn5p(d); < #sn5p(b-);	#sn5p(g); > #sn5p(f); #sn5p(e-); #sn5p(d); <
		#sn5p(g); > #sn5p(e-); #sn5p(d); < #sn5p(b-);	#sn5p(g); > #sn5p(c); #sn5p(d); #sn5p(f); <
		#sn5p(g); > #sn5p(e-); #sn5p(d); < #sn5p(b-);	#sn5p(g); > #sn5p(c); #sn5p(d); #sn5p(e-); <
	},7);
}
//_Track 17 []
//_Track 18 []
//_Track 19 []
//_Track 20 []
//_Track 21 []
//_Track 22 []
//_Track 23 []
//_Track 24 []
//_Track 25 []
//_Track 28 []
//_Track 29 []
//_Track 30 []
//_Track 31 []
//_Track 32 []
//_Track  0 [MetaEvent & SysEx]
#Int1={		#ts44		#kyGm	}					// イントロ1
#Aml1={		#ts44		#kyCm	}					// Aメロ1
#Bml1={	l4	#ts34	r-	#kyDM r4	[5r2.]	#kyGm	}	// Bメロ1
#sab1={	l2	#ts44	r-	#kyGm	}					// サビ1
#Bml3={	S{	l2.	r-8
			If(SynthType == 3 || SynthType == 4){
				GS_EXCLUSIVE($40,$40,$22,  1);	// EFX On [A10]
			}
			If(SynthType == 6 || SynthType == 7){
				XG_EXCLUSIVE(  3,  0, 12,  9);	// Insertion Part               0-63:Part 64-126:A/D 127:OFF
			}
			r8	[9r]
			If(SynthType == 3 || SynthType == 4){
				GS_EXCLUSIVE($40,$40,$22,  0);	// EFX Off [A10]
			}
			If(SynthType == 6 || SynthType == 7){
				XG_EXCLUSIVE(  3,  0, 12,127);	// Insertion Part               0-63:Part 64-126:A/D 127:OFF
			}
		}
		l4	#ts34		#kyDM 	[3r2.] r2	#kyEM	r2.	#kyAm	}	// Bメロ3
#sab3={	l2.	#ts44	r-1-8	#kyAm	}					// サビ3
#Out1={		#ts44		#kyAm	}					// アウトロ1

//---------------------------------------------------------------------------------------------
//_Track List
//	Tr			Meta	 1	 2	 3	 4	 5	 6	 7	 8	 9	10	11	12	13	14	15	16
//				
Loop = 1;
Sabi = 1;
Time(  1:1:0)S{	Play(#Int1;     ;     ;#bs1a;     ;     ;     ;     ;     ;     ;#dr1a;#dr2a;     ;     ;     ;     ;     ;);}
l1[8r*]	S{	Play(     ;     ;     ;#bs1a;     ;     ;     ;     ;     ;     ;#dr1b;#dr2b;#dr3b;     ;     ;#sn4a;     ;);}
l1[8r*]	S{	Play(     ;     ;     ;#bs1a;     ;     ;     ;     ;     ;     ;#dr1c;#dr2c;     ;     ;     ;#sn4a;#sn5a;);}
l1[8r*]	S{	Play(     ;     ;     ;#bs1a;     ;     ;     ;     ;     ;     ;#dr1d;#dr2d;     ;     ;     ;#sn4a;#sn5a;);}
l1[8r*]	S{	Play(#Aml1;#vc11;     ;#bs11;     ;     ;     ;     ;#sn31;     ;#dr11;#dr21;     ;     ;     ;     ;#sn5a;);}
l1[8r*]	S{	Play(#Bml1;#vc12;#vc22;#bs12;#sn11;#sn11;     ;     ;     ;     ;#dr12;#dr22;#dr32;#pd12;#pd12;     ;     ;);}
l2.[10r*]	S{	Play(#sab1;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 2;
l1[8r*]	S{	Play(     ;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 1;
l1[8r*]	S{	Play(     ;     ;     ;#bs1a;     ;     ;     ;     ;     ;#fx10;#dr1c;#dr2c;     ;     ;     ;#sn4a;     ;);}
l1[8r*]	S{	Play(     ;     ;     ;#bs1a;     ;     ;     ;     ;     ;     ;#dr1d;#dr2d;     ;     ;     ;#sn4a;#sn5a;);}	Loop = 2;
l1[8r*]	S{	Play(#Aml1;#vc11;     ;#bs11;     ;     ;     ;     ;#sn31;     ;#dr11;#dr21;     ;     ;     ;     ;#sn5a;);}
l1[8r*]	S{	Play(#Bml1;#vc12;#vc22;#bs12;#sn11;#sn11;     ;     ;     ;#fx11;#dr12;#dr22;#dr32;#pd12;#pd12;     ;     ;);}
l2.[10r*]	S{	Play(#sab1;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 2;
l1[8r*]	S{	Play(     ;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 1;
l1[9r*]	S{	Play(     ;     ;     ;     ;     ;     ;#sn2e;#sn2e;     ;#fx10;#dr1e;#dr2e;#dr3e;#pd13;#pd13;#sn4a;     ;);}	Sabi = 2;
l1[8r*]	S{	Play(     ;     ;     ;#bs1e;     ;     ;#sn2e;#sn2e;     ;     ;#dr1e;#dr2e;     ;#pd13;#pd13;#sn4a;     ;);}	Sabi = 3;	Loop = 3;
l1[8r*]	S{	Play(#Bml3;#vc14;#vc24;#bs14;#sn14;#sn14;     ;     ;     ;#fx11;#dr14;#dr24;#dr34;#pd14;#pd14;     ;     ;);}	Sabi = 3;
l2.[10r*]	S{	Play(#sab3;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 4;
l1[8r*]	S{	Play(     ;#vc13;#vc23;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;     ;     ;);}	Sabi = 3;
l1[8r*]	S{	Play(#sab3;     ;     ;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;#sn4a;     ;);}	Sabi = 4;
l1[8r*]	S{	Play(     ;     ;     ;#bs13;     ;     ;#sn23;#sn23;     ;     ;#dr13;#dr23;     ;#pd13;#pd13;#sn4a;     ;);}	Sabi = 3;
l1[8r*]	S{	Play(     ;     ;     ;#bs1f;     ;     ;#sn2f;#sn2f;     ;#fx12;#dr1f;#dr2f;#dr3f;#pd1f;#pd1f;     ;     ;);}
l1[5r*] v0 a
//l1[8r*]	S{	Play(     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;     ;);}
//---------------------------------------------------------------------------------------------
//_Memo
/*
	If(SynthType==7)	{		}
Else{	If(SynthType==6)	{		}
Else{	If(SynthType==5)	{		}
Else{	If(SynthType==4)	{		}
Else{	If(SynthType==3)	{		}
Else{	If(SynthType==2)	{		}
Else{	If(SynthType==1)	{		}
Else{	If(SynthType==0)	{		}
}}}}}}}

Switch(SynthType){
	Case(7){		}
	Case(6){		}
	Case(5){		}
	Case(4){		}
	Case(3){		}
	Case(2){		}
	Case(1){		}
	Default{		}
}
*/