/** TOP - Base template : ver3.00 **/
/*￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
                ■   風  の  唄  - H A R D C O R E  M I X -   ■

【 作曲・著作権 】H.YAMANOI
【対  象  音  源】TW-MUSIC2
【使  用  音  源】TW-MUSIC2
【再  生  確  認】TW-MUSIC2 ver1.120
【 サクラのVer. 】2.375
【注  意  事  項】非商用に限り転載・再配布許可
【 連   絡   先 】blog : http://ykun.exblog.jp/
【 そ   の   他 】ニコニコ動画
                  http://www.nicovideo.jp/watch/sm19174560
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿

ダウンロードしていただきありがとうございました。

◆曲のこと

これはM3-2012秋にてSakura New Generationより頒布される騎士王さん主催のコンビCDへ
収録予定の曲です。

紆余曲折１
　当初この曲は、同じくM3-2012秋にてさくら置き場（J02b）で頒布するさくらもどきさん
  主催のBPM175ノンストップコンビCD「Connected-Style -Case:175-」に収録する予定でした。
　しかし、1ヶ月程入院するハメとなり間に合わず。
　でも折角なので、騎士王さんの方に寄せさせてもらいました。

紆余曲折２
　この曲はRemixなんですが、オリジナル版はまだ作っていません。
  本当はオリジナルを先に公開したかったのですが、そんな余裕もなく・・・
  そのうち作ります・・・。多分・・・。


◆歌詞

(*) 風の唄聞こえるよ
　　新しい旅立ちの唄
　　希望の帆で風を受け
　　彼方まで突き進め

　　鳥の唄聞こえるよ
　　前へ進む勇気の唄
　　歩き続ける限り
　　答えは必ず見つかる


時には自分で選んだ道が
荒れ果てていることもある

今日も明日も手探りの日々で
道を見失っても
決して止まらず歩き続ける
風まかせでいい

(*)繰り返し


幼い頃に流れ星へ
託した夢を今も追って

光る朝も星降る夜も
七つの海超えてゆけ
一つだけの答えを探す
我らは宇宙の子

大地の唄聞こえるよ
夢を追う旅人の唄
限界を超えた先に
新しい道ができる

星の唄聞こえるよ
前へ進む力の唄
繰り返す日々の中
君の道を切り開け


◆更新履歴
2012/10/21　Ver1.00　完成
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿*/

//------------------------------------------------------------------------------
/** HEADER **/
//------------------------------------------------------------------------------
//_System Setting
//------------------------------------------------------------------------------
//_Synth Type
		Int	SynthType	=	1	; // 音源のタイプ -1〜8まで 初期値:8
		Int	UsePF		=	0	; // XG音源でPLG150-PFを使用する
		Int	UseDX		=	0	; // XG音源でPLG150-DXを使用する

Include			(stdmsg.h);
//System.MeasureShift	(4);
System.TimeBase		(96);
System.vAdd			(10);
System.qAdd			(10);
Str Tmp_Title	=	{"風の唄 -HARDCORE MIX-"};
Str Tmp_Ver		=	{"1.00"};
Str Tmp_Copyright	=	{"10/21/2012  H.YAMANOI"}
Int PortNum		=	2;

// SynthType Definition
If(SynthType == 8){
	Switch(SoundType){
		Case(1){	SynthType = 1;	}
		Case(2){	SynthType = 5;	}
		Default{	SynthType = 0;	}
	}
}
If((SynthType > 8) || (SynthType < -1)){
	SynthType = 0;
}

// Track Definition
For(Int Tmp_i = 0; Tmp_i < 32; Tmp_i++){
	TR(Tmp_i + 1) Port(Tmp_i / 16) CH(Tmp_i % 16 + 1)
}
TR(33) Port(0) CH( 1)
TR(34) Port(1) CH( 1)

//------------------------------------------------------------------------------
//_Function
//------------------------------------------------------------------------------
//_ Common
// 調号メタイベント
//	sf ＝ n:＃の数 -n:♭の数	mi ＝ 0:メジャー 1:マイナー
Function MetaKey(Int sf, Int 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;
}
// Length => Tick
Function LEN2TICK(Str Length) {
	Int Len;
	If(ASC(MID(Length,0,2)) == ASC("!")){
		Len = StrToLen(Replace(Length,{!},{},off));
	}Else{
		Len = Length;
	}
	Result = Len;
}

//_ for GM
// Instrument SetUp
Function IsuGM(Int Ibm, Int Ibl, Int Ipc, Int Ivol, Int Ipan, Int Iexp, Int Irev, Int Icho, Int Idly, Int Ips) {
	// BankMSB, BankLSB, PC#
	y0(Ibm);r*%1 y32(Ibl);r*%1 @(Ipc);r*%1
	// Vol, Pan, Exp
	y7(Ivol);r*%1 y10(Ipan);r*%1 y11(Iexp);r*%1
	// Rev, Cho, Dly/Var
	y91(Irev);r*%1 y93(Icho);r*%1 y94(Idly);r*%1
	// PitchBendSensitivity
	y100(0);r*%1 y101(0);r*%1 y6(Ips);r*%1
}
// PitchBend Sensitivity Null
Function Null() {
	y101(127); r*%1 y100(127); r*%1
}
// Mono Mode
Function Mono() {
	y126(0); r*%1
}
// Poly Mode
Function Poly() {
	y127(0); r*%1
}
// Master Volume
Function MasterVolume(Int Value) {
	SysEx = $F0,$7F,$7F,$04,$01,$00,(Value),$F7;
}
// Polyphonic Key Pressure
Function PKP(Str Note, Int Val){
	Int No = NoteNo(Note);
	DirectSMF(($A0 + Channel - 1),No,Val);r*%1
}

//_ for GS
// System Exclusive
Function GS_EXCLUSIVE(Array Data) {
	SysEx = $F0,$41,$10,$42,$12,{(Data)},$F7;
}
// Instrument SetUp
Function IsuGS(Int Ibm, Int Ibl, Int Ipc, Int Ivol, Int Ipan, Int Iexp, Int Irev, Int Icho, Int Idly,
			Int Ivrt, Int Ivdp, Int Ivdl, Int Iflpf, Int Ires, Int Ieatk, Int Iedc, Int Ierel, Int Ips) {
	// BankMSB, BankLSB, PC#, Vol, Pan, Exp, Rev, Cho, Dly, PitchBendSensitivity
	IsuGM(Ibm, Ibl, Ipc, Ivol, Ipan, Iexp, Irev, Icho, Idly, Ips);r*%1
	// Vibrato  Rate, Depth, Delay
	y99(1);r*%1 y98(8);r*%1 y6(Ivrt);r*%1 y99(1);r*%1 y98(9);r*%1 y6(Ivdp);r*%1 y99(1);r*%1 y98(10);r*%1 y6(Ivdl);r*%1
	// Filter  LPF, Res
	y99(1);r*%1 y98(32);r*%1 y6(Iflpf);r*%1 y99(1);r*%1 y98(33);r*%1 y6(Ires);r*%1
	// Envelope  Attack, Decay, Release
	y99(1);r*%1 y98(99);r*%1 y6(Ieatk);r*%1 y99(1);r*%1 y98(100);r*%1 y6(Iedc);r*%1 y99(1);r*%1 y98(102);r*%1 y6(Ierel);r*%1
}
// System EQ
Function EQ(Int Ilf, Int Ilg, Int Ihf, Int Ihg){
	// LowFreq, LowGain, HiFreq, HiGain
	GS_EXCLUSIVE($40,$02,$00,(Ilf     ));r*%1	// EQ Low Freq
	GS_EXCLUSIVE($40,$02,$01,(Ilg + 64));r*%1	// EQ Low Gain
	GS_EXCLUSIVE($40,$02,$02,(Ihf     ));r*%1	// EQ Hi Freq
	GS_EXCLUSIVE($40,$02,$03,(Ihg + 64));r*%1	// EQ Hi Gain
}
// Setup User Drum
Function USER_DRUM(Int Iudno, Int Inno, Int Isrcmap, Int Isrcpc, Int Isrcnote, Int Ilv, Int Ipan) {
	// UserDrumNo[1,2], NoteNo, SourceMAP, SourcePC#, SorceNote, Level, Pan
	GS_EXCLUSIVE(($20 + Iudno),$0A,(Inno),(Isrcmap   )); r*%1	// SOURCE DRUM SET# (MAP)
	GS_EXCLUSIVE(($20 + Iudno),$0B,(Inno),(Isrcpc - 1)); r*%1	// SOURCE DRUM SET# (PC#)
	GS_EXCLUSIVE(($20 + Iudno),$0C,(Inno),(Isrcnote  )); r*%1	// SOURCE DRUM SET NUMBER
	GS_EXCLUSIVE(($20 + Iudno),$02,(Inno),(Ilv       )); r*%1	// LEVEL
	GS_EXCLUSIVE(($20 + Iudno),$04,(Inno),(Ipan      )); r*%1	// PAN
}
// Drum Instrument Assian Group
Function DAG(Int Map, Int No, Int Gp){
	Map--;
	GS_EXCLUSIVE($41,(Map * 16 + 3),(No),(Gp));r*%1
}
// Drum Instrument Rx Note Off
Function DRN(Int No){
	GS_EXCLUSIVE($41,$07,(No),$01);r*%1
}

//_ for XG
// System Exclusive [XG Common]
Function XG_EXCLUSIVE(Array Data) {
	SysEx	= $F0,$43,$10,$4C,(Data),$F7;
}
// System Exclusive [PLG150-DX]
Function DX_EXCLUSIVE(Array Data) {
	SysEx	= $F0,$43,$10,$62,(Data),$F7;
}
// System Exclusive [PLG150-PF]
Function PF_EXCLUSIVE(Array Data) {
	SysEx	= $F0,$43,$10,$67,(Data),$F7;
}
// Instrument SetUp
Function IsuXG(Int Ibm, Int Ibl, Int Ipc, Int Ivol, Int Ipan, Int Iexp, Int Irev, Int Icho, Int Idly,
			Int Ivrt, Int Ivdp, Int Ivdl, Int Iflpf, Int Ires, Int Ifhpf, Int Ieatk, Int Iedc, Int Ierel, Int Ips, 
			Int Ieqlf, Int Ieqlg, Int Ieqhf, Int Ieqhg) {
	// BankMSB, BankLSB, PC#, Vol, Pan, Exp, Rev, Cho, Dly
	// Vibrato  Rate, Depth, Delay
	// Filter  LPF, HPF, Res
	// Envelope  Attack, Decay, Release
	// PitchBendSensitivity
	IsuGS(Ibm, Ibl, Ipc, Ivol, Ipan, Iexp, Irev, Icho, Idly, Ivrt, Ivdp, Ivdl, Iflpf, Ires, Ieatk, Iedc, Ierel, Ips);
	// Filter  HPF
	y99(1);r*%1 y98(36);r*%1 y6(Ifhpf);r*%1
	// EQ Low Frequency, Low Gain, Treble Frequency, Treble Gain
	y99(1);r*%1 y98(52);r*%1 y6(Ieqlf);r*%1 y99(1);r*%1 y98(48);r*%1 y6(Ieqlg);r*%1
	y99(1);r*%1 y98(53);r*%1 y6(Ieqhf);r*%1 y99(1);r*%1 y98(49);r*%1 y6(Ieqhg);r*%1
}
// Drum Instrument  Pitch Fine
Function Dpf(Int Note,Int Value) {
	y99(25);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
// Drum Instrument  Fillter  LPF , Resonance , HPF
Function Dfl(Array Data) {
	y99(20);r*%1 y98(Data(0));r*%1 y6(Data(1));r*%1 y99(21);r*%1 y98(Data(0));r*%1 y6(Data(2));r*%1 y99(36);r*%1 y98(Data(0));r*%1 y6(Data(3));r*%1
}
// Drum Instrument  Envelope  Attack , Decay
Function Deg(Array Data) {
	y99(22);r*%1 y98(Data(0));r*%1 y6(Data(1));r*%1 y99(23);r*%1 y98(Data(0));r*%1 y6(Data(2));r*%1
}
// Drum Instrument  EQ  Low Frequency , Low Gain , Treble Frequency , Treble Gain
Function Deq(Array Data) {
	y99(52);r*%1 y98(Data(0));r*%1 y6(Data(1));r*%1 y99(48);r*%1 y98(Data(0));r*%1 y6(Data(2));r*%1
	y99(53);r*%1 y98(Data(0));r*%1 y6(Data(3));r*%1 y99(49);r*%1 y98(Data(0));r*%1 y6(Data(4));r*%1
}
// Delay Time => Data
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
// Drum Instrument  Pitch Coarse
Function Dpt(Int Note, Int Value) {
	y99(24);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Dpt2(Int Note, Int Value) {
	r*-%3 Dpt(Note, Value);
}
// Drum Instrument  Level
Function Dlv(Int Note, Int Value) {
	y99(26);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Dlv2(Int Note, Int Value) {
	r*-%3 Dlv(Note, Value);
}
// Drum Instrument  Pan
Function Dpn(Int Note, Int Value) {
	y99(28);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Dpn2(Int Note, Int Value) {
	r*-%3 Dpn(Note, Value);
}
// Drum Instrument  Reverb Send Level
Function Drs(Int Note, Int Value) {
	y99(29);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Drs2(Int Note, Int Value) {
	r*-%3 Drs(Note, Value);
}
// Drum Instrument  Chorus Send Level
Function Dcs(Int Note, Int Value) {
	y99(30);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Dcs2(Int Note, Int Value) {
	r*-%3 Dcs(Note, Value);
}
// Drum Instrument  Delay/Variation Send Level
Function Dds(Int Note, Int Value) {
	y99(31);r*%1 y98(Note);r*%1 y6(Value);r*%1
}
Function Dds2(Int Note, Int Value) {
	r*-%3 Dds(Note, Value);
}
// Insertion Effect Output Level
Function FXOutputLevel(Array Data) {
	// GS:Gain  XG:FX No, Gain
	If(SynthType <= 7 && SynthType >= 6){
		XG_EXCLUSIVE($03,($00 + (Data(0))),$05,(Data(1)));r*%1
	}Else{If(SynthType <= 4 && SynthType >= 3){
		GS_EXCLUSIVE($40,$03,$16,(Data(0)));r*%1
	}}
}
// Polyphonic Key Pressure => Bend Up
Function PKP2BendUp(Int Rng){
	Int Chn = Channel;
	If(SynthType <= 7 && SynthType >= 6){
		XG_EXCLUSIVE($08,(MML(Port) * 16 + Chn - 1),$53,($40 + Rng));r*%1
	}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));r*%1
	}}
}
// Rx MIDI Ch
Function Rx_CH(Int Val){
	Int Chn = Channel;
	If(SynthType <= 7 && SynthType >= 6){
		XG_EXCLUSIVE($08,(MML(Port) * 16 + Chn - 1),$04,(Val - 1));r*%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));r*%1
	}}
}
// Fine Tune
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));r*%1
	}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));r*%1
	}}
}

//_ Effect
// Bending
Function Ben(Int Gain, Int Len){
	If((Len <= 0) || (Gain < -8192) || (Gain > 8191)){
		Print("Function Ben : illegal argument.");
		End;
	}
	Sub{	p%.onTime=(Gain),0,(Len);	}
}
// Vibrato
Function Vib(Int Gain, Int Len){
	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, Int Len) {
	Int Loop;
	Str Tmp_MML;
	Int Tmp_i;
	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;
}
// Mute
Function Mt(Int Len)	{
	If(Len <= 0){
		Print("Function Mt : illegal argument.");
		End;
	}
	Sub{	r%8 y11.onTime=126,64,(Len - 8); r%(Len - 8) y11=127;	}
}
// Unison (Unison.hより抜粋)
Function Unison(Str S, Int Value){
	Sub{ Key(Value); S; Key(0); } S;
}
// 3D Auto Pan (R社のパクリ)
//   周期の長さ, 半径(0〜63), 中心パン, 初期位相, 回転方向(1,-1:正,負), 回転回数, 書込頻度
Function TDAuto(Array Opt){
	Int Len = Opt(0);		// 周期（Step）
	Int Radii = Opt(1);	// 半径
	Int Center = Opt(2);	// 中心パン
	Int IPhase = Opt(3);	// 初期位相
	Int Direction = Opt(4);	// 回転方向
	Int Loop = Opt(5);	// 回転回数
	Int Freq = Opt(6);	// 書込頻度
	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(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, Int Rate, Int Len){
	If(SynthType <= 0){
		Exit;
	}
	Int Loop;
	Str Tmp_MML;

	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;
}
// Fade Out
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);
	}
}

//------------------------------------------------------------------------------
/** BODY **/
//------------------------------------------------------------------------------
//_Rhythm Macro
//------------------------------------------------------------------------------
Switch(SynthType){
	Case(7){
	}Case(6){
	}Case(5){
	}Case(4){
	}Case(3){
	}Case(2){
	}Case(1){
		$k{ n36,} $s{ n38,} $T{ n39,} $P{ n37,}
		$h{ n42,} $H{ n46,} $c{ n49,} $C{ n57,} $S{ n82,} 　
	}Default{
		$k{ n36,} $K{ n36,} $s{ n38,} $S{ n40,} $T{ n39,}　
		$h{ n42,} $H{ n46,} $c{ n49,} $C{ n57,} $t{ n82,}　
	}
}

//------------------------------------------------------------------------------
//_Sequence
// マクロでパターンを定義
//------------------------------------------------------------------------------
//_ 音源初期化:XG PLG-150DX
#SetUpSynth_PLG150DX={
	XG_EXCLUSIVE($70,$02,$00,$0D);r*%1	// PLG150-DX Part Assign
//	DX_EXCLUSIVE($60,$0D,$0B, 75);r*%1	// Carrier1
//	DX_EXCLUSIVE($60,$0D,$0C, 64);r*%1	// Carrier2
//	DX_EXCLUSIVE($60,$0D,$0D, 92);r*%1	// Carrier3
//	DX_EXCLUSIVE($60,$0D,$0E, 64);r*%1	// Carrier4
//	DX_EXCLUSIVE($60,$0D,$0F,126);r*%1	// Carrier5
//	DX_EXCLUSIVE($60,$0D,$10, 64);r*%1	// Carrier6
//	DX_EXCLUSIVE($60,$0D,$13, 64);r*%1	// Modulator1
//	DX_EXCLUSIVE($60,$0D,$14, 69);r*%1	// Modulator2
//	DX_EXCLUSIVE($60,$0D,$15, 64);r*%1	// Modulator3
//	DX_EXCLUSIVE($60,$0D,$16, 56);r*%1	// Modulator4
//	DX_EXCLUSIVE($60,$0D,$17, 64);r*%1	// Modulator5
//	DX_EXCLUSIVE($60,$0D,$18, 51);r*%1	// Modulator6
//	DX_EXCLUSIVE($60,$0D,$1B, 65);r*%1	// FeedBack
}

//_ 音源初期化:XG PLG-150PF
#SetUpSynth_PLG150PF={
	XG_EXCLUSIVE($70,$04,$00,$00);r*%1	// PLG150-PF Part Assign
//	PF_EXCLUSIVE($60,$00,$00,$43);r*%1	// Bass Freq
//	PF_EXCLUSIVE($60,$00,$01,$3F);r*%1	// Bass Gain
//	PF_EXCLUSIVE($60,$00,$02,$3B);r*%1	// Treble Freq
//	PF_EXCLUSIVE($60,$00,$03,$44);r*%1	// Treble Gain
//	PF_EXCLUSIVE($60,$00,$04,$01);r*%1	// PF Mode
//	PF_EXCLUSIVE($60,$00,$05,$01);r*%1	// SusCurve
//	PF_EXCLUSIVE($60,$00,$06,$42);r*%1	// EL1 Level
//	PF_EXCLUSIVE($60,$00,$07,$41);r*%1	// EL2 Level
}

//_ 音源初期化:XG
#SetUpSynth_XG={
	#TR_SYSEXA

	// リセット
	XG_EXCLUSIVE($00,$00,$7E,$00);r*4	// XG System On

	// Map設定
	If(SynthType == 5){
		SysEx$ = F0,43,10,49,00,00,12,00,F7;r*8	// Select MU Basic MAP
	}Else{
		SysEx$ = F0,43,10,49,00,00,12,01,F7;r*8	// Select MU100 Native MAP
	}

	// パート設定
	XG_EXCLUSIVE($08,$00,$07,$02);r*%1	// Part Mode Drum1 [A10]
	XG_EXCLUSIVE($08,$0A,$07,$03);r*%1	// Part Mode Drum2 [A11]
	If(SynthType >= 6 && PortNum == 2){
		XG_EXCLUSIVE($08,$10,$07,$04);r*%1	// Part Mode Drum3 [B10]
		XG_EXCLUSIVE($08,$1A,$07,$05);r*%1	// Part Mode Drum4 [B11]
	}

	// XG PLG-150DX
	If(UseDX == 1){
		#SetUpSynth_PLG150DX
	}

	// XG PLG-150PF
	If(UsePF == 1){
		#SetUpSynth_PLG150PF
	}
}

//_ 音源初期化:GS
#SetUpSynth_GS={
	#TR_SYSEXA

	// リセット
	GS_EXCLUSIVE($40,$00,$7F,$00);r*4	// GS Reset

	// パート設定
	GS_EXCLUSIVE($40,$10,$15,$01);r*%1	// Use for Rhythm Part 1 [CH A10]
	GS_EXCLUSIVE($40,$1A,$15,$02);r*%1	// Use for Rhythm Part 2 [CH A11]
	If((SynthType >= 2 || SynthType <= 4) && PortNum == 2){
		TrackSync;
		#TR_SYSEXB
		GS_EXCLUSIVE($40,$10,$15,$01);r*%1	// Use for Rhythm Part 1 [CH B10]
		GS_EXCLUSIVE($40,$1A,$15,$02);r*%1	// Use for Rhythm Part 2 [CH B11]
	}
}

//_ 音源初期化:GM
#SetUpSynth_GM={
	#TR_SYSEXA

	// リセット
	SysEx$ = F0,7E,7F,09,01,F7;r*4	// GM System On
 	MasterVolume(127);r*4
}

//------------------------------------------------------------------------------
//_ エフェクタ設定:XG Reverb
#SetUpEffect_XG_Rev={
//	XG_EXCLUSIVE(  2,  1,  0,  1,  1);r*%1	// Reverb Type [HALL 2]
//	XG_EXCLUSIVE(  2,  1,  2,$0E);r*%1	// Reverb Time     0- 69(18)    0.3〜30.0s            T#4
//	XG_EXCLUSIVE(  2,  1,  3,$0A);r*%1	// Diffusion       0- 10(10)    0〜10
//	XG_EXCLUSIVE(  2,  1,  4,$1B);r*%1	// Initial Delay   0- 63(8)     0.1〜99.3ms           T#5
//	XG_EXCLUSIVE(  2,  1,  5,$14);r*%1	// HPF Cutoff      0- 52(13)    Thru〜8.0kHz          T#3
//	XG_EXCLUSIVE(  2,  1,  6,$34);r*%1	// LPF Cutoff     34- 60(49)    1.0k〜Thru            T#3
//	XG_EXCLUSIVE(  2,  1, 16,$0E);r*%1	// Rev Delay       0- 63(0)     0.1〜99.3ms           T#5
//	XG_EXCLUSIVE(  2,  1, 17,$04);r*%1	// Density         0-  4(4)     0〜4
//	XG_EXCLUSIVE(  2,  1, 18,$40);r*%1	// Er/Rev Balance  1-127(50)    E63>R〜E=R〜E<R63
//	XG_EXCLUSIVE(  2,  1, 19,$06);r*%1	// High Damp       1- 10(8)     0.1〜1.0
//	XG_EXCLUSIVE(  2,  1, 20,$40);r*%1	// Feedback Level  1-127(64)    -63〜+63
//	XG_EXCLUSIVE(  2,  1, 12,$40);r*%1	// Reverb Return                0-127(64)
//	XG_EXCLUSIVE(  2,  1, 13,$40);r*%1	// Reverb Pan                   1-127(64)
}

//_ エフェクタ設定:XG Chorus
#SetUpEffect_XG_Cho={
//	XG_EXCLUSIVE(  2,  1, 32, 65, 2);r*%1	// Chorus Type [CHORUS 3]
//	XG_EXCLUSIVE(  2,  1, 34,$0E);r*%1	// LFO Frequency      0-127(12)   0.00Hz〜39.7Hz      T#1
//	XG_EXCLUSIVE(  2,  1, 35,$19);r*%1	// LFO Depth          0-127(32)   0〜127
//	XG_EXCLUSIVE(  2,  1, 36,$45);r*%1	// Feedback Level     1-127(64)   -63〜+63
//	XG_EXCLUSIVE(  2,  1, 37,$00);r*%1	// Delay Offset       0-127(0)    0.0〜50             T#2
//	XG_EXCLUSIVE(  2,  1, 39,$1F);r*%1	// EQ Low Frequency   4- 40(28)   32Hz〜2.0kHz        T#3
//	XG_EXCLUSIVE(  2,  1, 40,$42);r*%1	// EQ Low Gain       52- 76(64)   -12〜+12dB
//	XG_EXCLUSIVE(  2,  1, 41,$30);r*%1	// EQ High Frequency 28- 58(46)   500Hz〜16.0kHz      T#3
//	XG_EXCLUSIVE(  2,  1, 42,$41);r*%1	// EQ High Gain      52- 76(64)   -12〜+12dB
//	XG_EXCLUSIVE(  2,  1, 52,$01);r*%1	// Input Mode         0-  1(0)    mono/stereo
//	XG_EXCLUSIVE(  2,  1, 45,$40);r*%1	// Chorus Pan                   1-127(64)
//	XG_EXCLUSIVE(  2,  1, 46,$00);r*%1	// Send Cho. to Rev.            0-127(0)
}

//_ エフェクタ設定:XG Variation
#SetUpEffect_XG_Var={
	XG_EXCLUSIVE($02,$01,$5A,$01);r*%1	// Variation Connect [System]
//	XG_EXCLUSIVE(  2,  1, 64,  5,  0);r*%1	// Variation Type [DELAY L,C,R]

	XG_EXCLUSIVE(  2,  1, 87, 64);r*%1	// Variation Pan                1-127(64)
	XG_EXCLUSIVE(  2,  1, 88,  0);r*%1	// Send Variation to Reverb     0-127(0)
	XG_EXCLUSIVE(  2,  1, 89,  0);r*%1	// Send Variation to Chorus     0-127(0)
}

//_ エフェクタ設定:XG Insertion1
#SetUpEffect_XG_INS1={
	XG_EXCLUSIVE(  3,  0,  0, 64,  0);r*%1	// Insertion1 Type [THRU]
	XG_EXCLUSIVE(  3,  0, 12,127);r*%1	// Insertion1 Part [0-63:Part 64-126:A/D 127:OFF]
}

//_ エフェクタ設定:XG Insertion2
#SetUpEffect_XG_INS2={
	XG_EXCLUSIVE(  3,  1,  0, 64,  0);r*%1	// Insertion2 Type [THRU]
	XG_EXCLUSIVE(  3,  1, 12,127);r*%1	// Insertion2 Part [0-63:Part 64-126:A/D 127:OFF]
}

//_ エフェクタ設定:XG Insertion3
#SetUpEffect_XG_INS3={
	XG_EXCLUSIVE(  3,  2,  0, 64,  0);r*%1	// Insertion3 Type [THRU]
	XG_EXCLUSIVE(  3,  2, 12,127);r*%1	// Insertion3 Part [0-63:Part 64-126:A/D 127:OFF]
}

//_ エフェクタ設定:XG Insertion4
#SetUpEffect_XG_INS4={
	XG_EXCLUSIVE(  3,  3,  0, 64,  0);r*%1	// Insertion4 Type [THRU]
	XG_EXCLUSIVE(  3,  3, 12,127);r*%1	// Insertion4 Part [0-63:Part 64-126:A/D 127:OFF]
}

//_ エフェクタ設定:XG 5-Band EQ
#SetUpEffect_XG_EQ={
	XG_EXCLUSIVE(  2, 64,  0,  0);r*%1	// EQ Type 0:FLAT 1:JAZZ 2:POPS 3:ROCK 4:CLASSIC
//	XG_EXCLUSIVE(  2, 64,  1, 65);r*%1	// EQ Gain1      52-76  (-12-+12dB)
//	XG_EXCLUSIVE(  2, 64,  5, 59);r*%1	// EQ Gain2      52-76  (-12-+12dB)
//	XG_EXCLUSIVE(  2, 64,  9, 64);r*%1	// EQ Gain3      52-76  (-12-+12dB)
//	XG_EXCLUSIVE(  2, 64, 13, 58);r*%1	// EQ Gain4      52-76  (-12-+12dB)
//	XG_EXCLUSIVE(  2, 64, 17, 62);r*%1	// EQ Gain5      52-76  (-12-+12dB)
//	XG_EXCLUSIVE(  2, 64,  2, 15);r*%1	// EQ Frequency1  4-40  (32-2000Hz)
//	XG_EXCLUSIVE(  2, 64,  6, 24);r*%1	// EQ Frequency2 14-54  (100-10kHz)
//	XG_EXCLUSIVE(  2, 64, 10, 32);r*%1	// EQ Frequency3 14-54  (100-10kHz)
//	XG_EXCLUSIVE(  2, 64, 14, 44);r*%1	// EQ Frequency4 14-54  (100-10kHz)
//	XG_EXCLUSIVE(  2, 64, 18, 51);r*%1	// EQ Frequency5 28-58  (500-16kHz)
//	XG_EXCLUSIVE(  2, 64,  3,  8);r*%1	// EQ Q1          1-120 (0.1-12.0)
//	XG_EXCLUSIVE(  2, 64,  7, 12);r*%1	// EQ Q2          1-120 (0.1-12.0)
//	XG_EXCLUSIVE(  2, 64, 11, 10);r*%1	// EQ Q3          1-120 (0.1-12.0)
//	XG_EXCLUSIVE(  2, 64, 15, 14);r*%1	// EQ Q4          1-120 (0.1-12.0)
//	XG_EXCLUSIVE(  2, 64, 19, 12);r*%1	// EQ Q5          1-120 (0.1-12.0)
//	XG_EXCLUSIVE(  2 ,64,  4,  0);r*%1	// EQ Shape1      0-1   (0:Shelving 1:Peaking)
//	XG_EXCLUSIVE(  2, 64, 20,  0);r*%1	// EQ Shape5      0-1   (0:Shelving 1:Peaking)
}

//_ エフェクタ設定:XG  
#SetUpEffect_XG={
	// Reverb
	#SetUpEffect_XG_Rev

	// Chorus
	#SetUpEffect_XG_Cho

	// Variation
	#SetUpEffect_XG_Var

	If(SynthType >= 6){
		// 5-BAND EQUALIZER
		#SetUpEffect_XG_EQ

		// Insertion1
		#SetUpEffect_XG_INS1

		// Insertion2
		#SetUpEffect_XG_INS2

		If(SynthType == 7){
			// Insertion3
			#SetUpEffect_XG_INS3

			// Insertion4
			#SetUpEffect_XG_INS4
		}
	}
}

//_ エフェクタ設定:GS Reverb
#SetUpEffect_GS_Rev={
//	GS_EXCLUSIVE($40,$01,$30,$04);r*%1	// Reverb Macro [Hall 2]
//	GS_EXCLUSIVE($40,$01,$31,  4);r*%1	// Reverb Character
//	GS_EXCLUSIVE($40,$01,$32,  0);r*%1	// Reverb Pre-LPF
//	GS_EXCLUSIVE($40,$01,$33, 64);r*%1	// Reverb Level
//	GS_EXCLUSIVE($40,$01,$34, 64);r*%1	// Reverb Time
//	GS_EXCLUSIVE($40,$01,$35,  0);r*%1	// Reverb Delay Feedback
//	GS_EXCLUSIVE($40,$01,$37,  0);r*%1	// Reverb Pre Delay Time
}

//_ エフェクタ設定:GS Chorus
#SetUpEffect_GS_Cho={
//	GS_EXCLUSIVE($40,$01,$38,$02);r*%1	// Chorus Macro [Chorus 3]
//	GS_EXCLUSIVE($40,$01,$39,  3);r*%1	// Chorus Pre-LPF
//	GS_EXCLUSIVE($40,$01,$3A, 64);r*%1	// Chorus Level
//	GS_EXCLUSIVE($40,$01,$3B,  8);r*%1	// Chorus Feedback
//	GS_EXCLUSIVE($40,$01,$3C, 80);r*%1	// Chorus Delay
//	GS_EXCLUSIVE($40,$01,$3D,  3);r*%1	// Chorus Rate
//	GS_EXCLUSIVE($40,$01,$3E, 19);r*%1	// Chorus Depth
//	GS_EXCLUSIVE($40,$01,$3F,  0);r*%1	// Chorus Send Level to Reverb
//	GS_EXCLUSIVE($40,$01,$40,  0);r*%1	// Chorus Send Level to Delay
}

//_ エフェクタ設定:GS Delay
#SetUpEffect_GS_Dly={
	GS_EXCLUSIVE($40,$01,$50,$04);r*%1	// Delay Macro [Pan Delay 1]
//	GS_EXCLUSIVE($40,$01,$51,  0);r*%1	// Delay Pre-LPF
//	GS_EXCLUSIVE($40,$01,$52,110);r*%1	// Delay Time Center
//	GS_EXCLUSIVE($40,$01,$53, 12);r*%1	// Delay Time Ratio Left
//	GS_EXCLUSIVE($40,$01,$54, 24);r*%1	// Delay Time Ratio Right
//	GS_EXCLUSIVE($40,$01,$55,  0);r*%1	// Delay Level Center
//	GS_EXCLUSIVE($40,$01,$56,127);r*%1	// Delay Level Left
//	GS_EXCLUSIVE($40,$01,$57, 64);r*%1	// Delay Level Right
//	GS_EXCLUSIVE($40,$01,$58, 48);r*%1	// Delay Level
//	GS_EXCLUSIVE($40,$01,$59, 80);r*%1	// Delay Feedback
//	GS_EXCLUSIVE($40,$01,$5A,  0);r*%1	// Delay Send Level to Reverbt
}

//_ エフェクタ設定:GS EFX
#SetUpEffect_GS_EFX={
	GS_EXCLUSIVE($40,$03,$00,$00,$00);r*%1	// EFX Type [Thru]
//	GS_EXCLUSIVE($40,$41,$22,  0);r*%1	// EFX On []
//	GS_EXCLUSIVE($40,$03,$03,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$04,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$05,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$06,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$07,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$08,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$09,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$0A,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$0B,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$14,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$15,  0);r*%1	//   
//	GS_EXCLUSIVE($40,$03,$16, 64);r*%1	// EFX Level
//	GS_EXCLUSIVE($40,$03,$17,  0);r*%1	// EFX Send Level to Reverb
//	GS_EXCLUSIVE($40,$03,$18,  0);r*%1	// EFX Send Level to Chorus
//	GS_EXCLUSIVE($40,$03,$19,  0);r*%1	// EFX Send Level to Delay
//	GS_EXCLUSIVE($40,$03,$1B,  0);r*%1	// EFX Control Sorce 1
//	GS_EXCLUSIVE($40,$03,$1C,127);r*%1	// EFX Control Depth 1
//	GS_EXCLUSIVE($40,$03,$1D,  0);r*%1	// EFX Control Sorce 2
//	GS_EXCLUSIVE($40,$03,$1E,127);r*%1	// EFX Control Depth 2
//	GS_EXCLUSIVE($40,$03,$1F,  1);r*%1	// EFX Send EQ Switch
}

//_ エフェクタ設定:GS EQ
#SetUpEffect_GS_EQ={
	EQ(  0,  0,  0,  0);r*%1
}

//_ エフェクタ設定:GS  
#SetUpEffect_GS={
	// Reverb
	#SetUpEffect_GS_Rev

	// Chorus
	#SetUpEffect_GS_Cho

	If(SynthType >= 2){
		// Delay
		#SetUpEffect_GS_Dly

		If(SynthType >= 3){
			// EQ
			#SetUpEffect_GS_EQ

			// EFX
			#SetUpEffect_GS_EFX
		}
	}
}

//------------------------------------------------------------------------------
//_ 音色設定:XG MU1000/2000
#SetUpInst_MU2000={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,LPF,Res,HPF,Atc,Dec,Rel,BR,LwF,LwG,HiF,HiG
	#TR_INST01	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_INST02	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_INST03	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_INST04	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_INST05	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_INST06	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_INST07	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_INST08	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_INST09	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_INST10	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_INST11	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_INST12	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_INST13	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_INST14	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_INST15	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_INST16	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_INST17	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_INST18	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_INST19	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_INST20	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_INST21	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_INST22	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_INST23	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_INST24	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_INST25	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_INST26	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_INST27	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_INST28	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_DRUM1	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_DRUM2	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_DRUM3	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_DRUM4	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;	// 
}

//_ 音色設定:XG MU100/128
#SetUpInst_MU100={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,LPF,Res,HPF,Atc,Dec,Rel,BR,LwF,LwG,HiF,HiG
	#TR_INST01	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_INST02	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_INST03	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_INST04	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_INST05	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_INST06	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_INST07	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_INST08	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_INST09	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_INST10	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_INST11	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_INST12	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_INST13	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_INST14	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_INST15	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_INST16	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_INST17	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_INST18	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_INST19	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_INST20	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_INST21	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_INST22	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_INST23	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_INST24	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_INST25	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_INST26	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_INST27	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_INST28	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_DRUM1	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_DRUM2	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_DRUM3	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_DRUM4	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;	// 
}

//_ 音色設定:XG MU50/80/90
#SetUpInst_XG={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	#TR_INST01	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST02	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST03	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST04	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST05	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST06	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST07	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST08	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST09	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST10	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST11	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST12	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST13	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST14	IsuGS(  0,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM1	IsuGS(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM2	IsuGS(127,  0,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
}

//_ 音色設定:GS SC-8850
#SetUpInst_SC8850={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	#TR_INST01	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST02	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST03	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST04	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST05	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST06	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST07	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST08	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST09	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST10	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST11	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST12	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST13	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST14	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST15	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST16	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST17	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST18	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST19	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST20	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST21	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST22	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST23	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST24	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST25	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST26	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST27	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST28	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM1	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM2	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM3	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM4	IsuGS(  0,  4,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
}

//_ 音色設定:GS SC-88pro
#SetUpInst_SC88pro={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	#TR_INST01	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST02	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST03	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST04	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST05	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST06	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST07	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST08	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST09	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST10	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST11	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST12	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST13	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST14	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST15	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST16	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST17	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST18	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST19	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST20	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST21	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST22	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST23	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST24	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST25	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST26	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST27	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST28	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM1	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM2	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM3	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM4	IsuGS(  0,  3,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
}

//_ 音色設定:GS SC-88 
#SetUpInst_SC88={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	#TR_INST01	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST02	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST03	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST04	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST05	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST06	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST07	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST08	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST09	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST10	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST11	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST12	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST13	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST14	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST15	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST16	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST17	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST18	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST19	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST20	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST21	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST22	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST23	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST24	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST25	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST26	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST27	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST28	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM1	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM2	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM3	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM4	IsuGS(  0,  2,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
}

//_ 音色設定:GS SC-55
#SetUpInst_GS={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,VRt,VDp,VDl,Cut,Res,Atc,Dec,Rel,BR
	#TR_VOCAL1	IsuGS(  8,  0, 82,120, 64,127, 80, 30,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_VOCAL2	IsuGS(  8,  0, 82,110, 64,127, 60, 30,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_BASS	IsuGS( 90,  0, 40,120, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_PIANO	IsuGS(  8,  0,  3,120, 84,127, 40,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_PAD	IsuGS(  8,  0, 51,110, 64, 64,100,100,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH1L	IsuGS(  0,  0, 63, 90, 64,127, 40, 70,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH1H	IsuGS(  0,  0, 63, 90, 64,127, 40, 70,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH2L	IsuGS(  0,  0, 91,110,  1,127, 20,100,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH2R	IsuGS(  0,  0, 91,110,127,127, 20,100,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH3L	IsuGS(  1,  0, 81, 90,  1,127, 30,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_SYNTH3R	IsuGS(  1,  0, 81, 90,127,127, 30,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_STRINGS	IsuGS(  0,  0, 49,110, 34,127, 40, 20,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST13	IsuGS(  0,  1,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_INST14	IsuGS(  0,  1,  1,100, 64,127,  0,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM1	IsuGS(  7,  0, 12,100, 64,127, 10,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
	#TR_DRUM2	IsuGS(  7,  0, 12, 90, 64,127, 50,  0,  0, 64, 64, 64, 64, 64, 64, 64, 64,12);Null;	// 
}

//_ 音色設定:GM
#SetUpInst_GM={
//			       BM, BL, PC,Vol,Pan,Exp,Rev,Cho,Dly,BR
	#TR_INST01	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST02	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST03	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST04	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST05	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST06	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST07	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST08	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST09	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST10	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST11	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST12	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST13	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_INST14	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_DRUM1	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
	#TR_DRUM2	IsuGM(  0,  0,  1,100, 64,127,  0,  0,  0,12);	// 
}
//------------------------------------------------------------------------------
//_ Bass
#bs1c1={	v100 l16 q80	[4 #?1 r > #?1 #?1 <]	}
#bs1c2={	v100 l16 q80	[2 #?1 r > #?1 #?1 <] [2 #21 r > #?2 #?2 <]	}

//_ Synth2
#sn2c1={	v100 l16 q80	[4 rr #?1 #?1]	}
#sn2c2={	v100 l16 q80	[2 rr #?1 #?1] [2 rr #?2 #?2]	}

//_ Kick
#bd1c1={	v127 l16 q100	Rhythm{
	(If(#?1 == 1){	S{)	[4k4]	(}	r1	})
	(If(#?1 == 2){	S{)	[3k4] k8(v-)k8(v+)	(}	r1	})
	(If(#?1 == 3){	S{)	[2k4] k8(v-)k8(v+) k4	(}	r1	})
	(If(#?1 == 4){	S{)	[2k4] k(v--)k(v+)k8(v+) k8(v-)k8(v+)	(}	r1	})
}}

//_ HandClap
#hc1c1={	v110 l16 q100	Rhythm{
	(If(#?1 == 1){	S{)	[2r4T4]	(}	r1	})
	(If(#?1 == 2){	S{)	r4T4 r8(v-)T8(v+)T4	(}	r1	})
	(If(#?1 == 3){	S{)	r4T4 r(v-)T8.(v+)T4	(}	r1	})
	(If(#?1 == 4){	S{)	r4T4 r(v-)T8.(v+)T8(v-)T8(v+)	(}	r1	})
	(If(#?1 == 5){	S{)	r4T8.(v--)T8(v+)T8.(v+)T4	(}	r1	})
	(If(#?1 == 6){	S{)	r4T4r2	(}	r1	})
}}

//_ Snare
#sd1c1={	v110 l16 q100	Rhythm{
	(S{)	[2srs(v-)s(v+)] (v--)s(v+)s(v+)sr sr(v-20)[4(v+5)s32]	(}	r1)
}}
#sd1c2={	v15 l16 q100	Rhythm{
	(S{)	[16(v+5)s]	(}	r1)
}}
#sd1c3={	v110 l16 q100	Rhythm{
	(S{)	s(v-90)[15s(v+6)]
		[3sr(v-25)s32(v+5)s32(v+)s(v+)](v-32)[8s64(v+4)]	(}	r1^1)
}}

//_ HiHat
#hh1c1={	v100 l16 q100	Rhythm{
	(S{)	[4 (v-15)hr(v+15)H(v-30)h(v+30)]	(}	r1)
}}
#hh1c2={	v100 l16 q100	Rhythm{
	(S{)	[4 (v-15)hr(v+15)h(v-30)h(v+30)]	(}	r1)
}}
#hh1c3={	v100 l16 q100	Rhythm{
	(S{)	[2 (v-15)hr(v+15)H(v-30)h(v+30)]	(}	r1)
}}

//_ Shaker
#sh1c1={	v80 l16 q100	Rhythm{
	(S{)	[4 S(v-20)S(v+35)S(v-35)S(v+20)]	(}	r1)
}}
#sh1c2={	v80 l16 q100	Rhythm{
	(S{)	[2 S(v-20)S(v+35)S(v-35)S(v+20)]	(}	r1)
}}

//_ Percussion
#pc1c1={	v120 l16 q100	Rhythm{
	(S{)	[2 (v-20)Pr(v-15)P(v-15)P (v+50)Pr(v-50)P(v+15)P(v+35)]	(}	r1)
}}
#pc1c2={	v120 l16 q100	Rhythm{
	(S{)	(v-20)Pr(v-15)P(v-15)P (v+50)Pr(v-50)P(v+15)P(v+35)	(}	r1)
}}

//------------------------------------------------------------------------------
//_Scene
// 関数でシーンを定義
// 必ずシーン終了ポイントでTrackSync
//------------------------------------------------------------------------------
//_ セットアップ
//    長さは合計２小節まで
//_  メタイベント
#SetUpMetaEvent={
	TR(0) Port(0) CH(1)
	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;
	TimeSignature = 4, 4;
	MetaKey( 0, 0);	//	n:＃の数 -n:♭の数, 0:メジャー 1:マイナー

	// トラック割り当て
	#TR_VOCAL1={	TR( 1)	}	#TR_VOCAL1	TrackName = {"Vocal"}
	#TR_VOCAL2={	TR( 2)	}	#TR_VOCAL2	TrackName = {"Chorus"}
	#TR_BASS={		TR( 3)	}	#TR_BASS	TrackName = {"Bass"}
	#TR_PIANO={		TR( 4)	}	#TR_PIANO	TrackName = {"Piano"}
	#TR_PAD={		TR( 5)	}	#TR_PAD	TrackName = {"Pad"}
	#TR_SYNTH1L={	TR( 6)	}	#TR_SYNTH1L	TrackName = {"Synth1Lo"}
	#TR_SYNTH1H={	TR( 7)	}	#TR_SYNTH1H	TrackName = {"Synth1Hi"}
	#TR_SYNTH2L={	TR( 8)	}	#TR_SYNTH2L	TrackName = {"Synth2L"}
	#TR_SYNTH2R={	TR( 9)	}	#TR_SYNTH2R	TrackName = {"Synth2R"}
	#TR_DRUM1={		TR(10)	}	#TR_DRUM1	TrackName = {"Rhythm 1"}
	#TR_DRUM2={		TR(11)	}	#TR_DRUM2	TrackName = {"Rhythm 2"}
	#TR_SYNTH3L={	TR(12)	}	#TR_SYNTH3L	TrackName = {"Synth3L"}
	#TR_SYNTH3R={	TR(13)	}	#TR_SYNTH3R	TrackName = {"Synth3R"}
	#TR_STRINGS={	TR(14)	}	#TR_STRINGS	TrackName = {"Strings"}
	#TR_INST13={	TR(15)	}	#TR_INST13	TrackName = {""}
	#TR_INST14={	TR(16)	}	#TR_INST14	TrackName = {""}
	#TR_INST15={	TR(17)	}	#TR_INST15	TrackName = {""}
	#TR_INST16={	TR(18)	}	#TR_INST16	TrackName = {""}
	#TR_INST17={	TR(19)	}	#TR_INST17	TrackName = {""}
	#TR_INST18={	TR(20)	}	#TR_INST18	TrackName = {""}
	#TR_INST19={	TR(21)	}	#TR_INST19	TrackName = {""}
	#TR_INST20={	TR(22)	}	#TR_INST20	TrackName = {""}
	#TR_INST21={	TR(23)	}	#TR_INST21	TrackName = {""}
	#TR_INST22={	TR(24)	}	#TR_INST22	TrackName = {""}
	#TR_INST23={	TR(25)	}	#TR_INST23	TrackName = {""}
	#TR_DRUM3={		TR(26)	}	#TR_DRUM3	TrackName = {"Rhythm 3"}
	#TR_DRUM4={		TR(27)	}	#TR_DRUM4	TrackName = {"Rhythm 4"}
	#TR_INST24={	TR(28)	}	#TR_INST24	TrackName = {""}
	#TR_INST25={	TR(29)	}	#TR_INST25	TrackName = {""}
	#TR_INST26={	TR(30)	}	#TR_INST26	TrackName = {""}
	#TR_INST27={	TR(31)	}	#TR_INST27	TrackName = {""}
	#TR_INST28={	TR(32)	}	#TR_INST28	TrackName = {""}
	#TR_SYSEXA={	TR(33)	}	#TR_SYSEXA	TrackName = {"Sys-Ex Port A"}
	#TR_SYSEXB={	TR(34)	}	#TR_SYSEXB	TrackName = {"Sys-Ex Port B"}
}

//_  音源初期化
//     長さは最大１／２小節まで
#SetUpSynth={
	IF(SynthType <= 8 && SynthType >= 5){
		#SetUpSynth_XG
	}Else{If(SynthType >= 1){
		#SetUpSynth_GS
	}Else{
		#SetUpSynth_GM
	}}
}

//_  エフェクタ設定
//     長さは最大１／２小節まで
#SetUpEffect={
	#TR_SYSEXA

	If(SynthType <= 7 && SynthType >= 5){
		#SetUpEffect_XG
	}
	If(SynthType <= 4 && SynthType >= 1){
		#SetUpEffect_GS
	}
}

//_  音色設定
//     長さは最大１小節まで
#SetUpInst={
	Switch(SynthType){
		Case(7){	#SetUpInst_MU2000	}
		Case(6){	#SetUpInst_MU100	}
		Case(5){	#SetUpInst_XG	}
		Case(4){	#SetUpInst_SC8850	}
		Case(3){	#SetUpInst_SC88pro	}
		Case(2){	#SetUpInst_SC88	}
		Case(1){	#SetUpInst_GS	}
		Default{	#SetUpInst_GM	}
	}
}
Function SetUp(){
	l8
	#SetUpMetaEvent		// メタイベント

	S{#SetUpSynth}	r*2	// 音源初期化
	TrackSync;

	S{#SetUpEffect}	r*2	// エフェクタ設定
	TrackSync;

	S{#SetUpInst}	r*1	// 音色設定
	TrackSync;
}

//------------------------------------------------------------------------------
//_ 共通
Function Common(Int num){

	// Bass
	#bs11={	o2 v100 l16 q80
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({g})	#bs1c1({>c<})
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({b})	#bs1c2({>c<},{b-})
	}
	#bs12={	o2 v100 l16 q80
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({g})	#bs1c1({>c<})
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({b})	#bs1c1({>c<})
	}

	// Piano
	#pf11={
		S{	l8
			[2	[3	r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8]
				[2	r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8]	]
		}
			o5 v100 l8 q99
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b->dg<'v-'gb->d<'v- 'b->df<'v++'b->dg<' v-5'gb->d<'16v-5'b->dg<'16v-5'b->df<'16v-5'gb->d<'16 v+'b->df<'v+'b->dg<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'a->cf<'16v-5'>cfb-<'16v-5'>cfa-<'16v-5'b->cf<'16 v+'>cfa-<'v+'>cfg<'
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b >df<'v-'fb >d<'v- 'b >de<'v++'b >df<' v-5'fb >d<'16v-5'b >df<'16v-5'b >de<'16v-5'fb >d<'16 v+'b >de<'v+'b >df<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'g >cd<'16v-5'>cdg <'16v-5'>cdf <'16v-5'g >cd<'16 v+'>cdg <'v+'>cdf <'
	}
	#pf12={
		S{	l8
			[2	[3	r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8]
			:	[2	r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8]	]
					r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8
		}
			o5 v100 l8 q99
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b->dg<'v-'gb->d<'v- 'b->df<'v++'b->dg<' v-5'gb->d<'16v-5'b->dg<'16v-5'b->df<'16v-5'gb->d<'16 v+'b->df<'v+'b->dg<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'a->cf<'16v-5'>cfb-<'16v-5'>cfa-<'16v-5'b->cf<'16 v+'>cfa-<'v+'>cfg<'
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b >df<'v-'fb >d<'v- 'b >de<'v++'b >df<' v-5'fb >d<'16v-5'b >df<'16v-5'b >de<'16v-5'fb >d<'16 v+'b >de<'v+'b >df<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'>e-g>c<<'16v-5'>e-gb-<'16v-5'>ce-g<'16v-5'>ce-f<'16 v+'b->cf<'v+'g>ce-<'
	}

	// Pad
	#pd11={	o4 v100 l1 q99
		'a->cf<'	'b->df<'	'b->dg<'	'>ce-g<'2'b->cf<'2
		'a->cf<'	'b->df<'	'b>df<'	S{>e-2d2<}'>cg<'
	}
	#pd12={	o4 v100 l1 q99
		'a->cf<'	'b->df<'	'b->dg<'	'>ce-g<'2'b->cf<'2
		'a->cf<'	'b->df<'	'b>df<'	'>ce-g<'
	}

	// Synth1
	#s1l1={	o6 v100 l16 q100
		[2 ca-e-a- dc<a->c]
		[2 da-ga- d<b-a->c]
		[2 e-b-gb- fd<b->c]
		fb-gb- ge-<b->c fb-g>c< b-fc<b->
		[2 ca-e-a- dc<a->c]
		db-gb- d<b-a->c db-gb- d<b->c<a->
		dbgb d<ba->c dbgb d<b>c<a->
		c>c<g>c< e-c<b->e- cg>ce- c<gc<g
	}
	#s1l2={	o6 v100 l16 q100
		[2 ca-e-a- dc<a->c]
		[2 da-ga- d<b-a->c]
		[2 e-b-gb- fd<b->c]
		fb-gb- ge-<b->c fb-g>c< b-fc<b->
		[2 ca-e-a- dc<a->c]
		db-gb- d<b-a->c db-gb- d<b->c<a->
		dbgb d<ba->c dbgb d<b>c<a->
		c>c<g>c< e-c<b->e- <e-gb->c e-gb->c<
	}

	// Synth2
	#sn21={
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'g>d<'})	#sn2c1({'g>c<'})
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'b>d<'})	#sn2c2({'>ce-<'},{'b->e-<'})
	}
	#s2l1={	o4	#sn21	}
	#s2r1={	o5	#sn21	}
	#sn22={
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'g>d<'})	#sn2c1({'g>c<'})
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'b>d<'})	#sn2c1({'>ce-<'})
	}
	#s2l2={	o4	#sn22	}
	#s2r2={	o5	#sn22	}

	// Strings
	#st11={	o7 v100 l8 q100
		[2	[4rc]	[3rc]<rb->]
		[4<ra->]	[4<rb->]	[4<rb>]	[3rc]<rb->
	}
	#st12={	o7 v100 l8 q100
		[2	[4rc]	[3rc]<rb->]
		[4<ra->]	[4<rb->]	[4<rb>]	[4rc]
	}

	// Kick
	#bd11={	S{
		#bd1c1(1)	#bd1c1(1)	#bd1c1(1)	#bd1c1(2)
		#bd1c1(1)	#bd1c1(1)	#bd1c1(3)	#bd1c1(4)
	}}

	// HandClap
	#hc11={	S{
		[2	#hc1c1(1)	#hc1c1(2)	#hc1c1(1)	:	#hc1c1(3)]	#hc1c1(4)
	}}

	// Snare
	#sd11={	S{
		[7	r1]	#sd1c1
	}}

	// HiHat
	#hh11={	S{
		[8	#hh1c1]
	}}

	// Shaker
	#sh11={	S{
		[8	#sh1c1]
	}}

	// Percussion
	#pc11={	S{
		[8	#pc1c1]
	}}

	// Cymbsl
	#cmr1={	l16 q100	Rhythm{
		(v100	S){	C!	r1	C1	r1		r1	r1	C1	C2C2	}
	}}
	#cml1={	l16 q100	Rhythm{
		(v100	S){	c1	r1	r1	r1		c1	r1	c1	r4c4c2	}
	}}

}

//------------------------------------------------------------------------------
//_ イントロ
Function Intro(Int num){

	Common(num);

	// Bass
	#bs10={	o2 v100 l16 q80
		[7	r1]	r2>>c<b-a-g fe-dc<
	}
	#bs12={	o2 v100 l16 q80
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({g})	#bs1c1({>c<})
		a-r>a-r<r2.		b-r>b-r<r2.		#bs1c1({b})	[2>cr>cc<<]>>c<b-a-g fe-dc<
	}

	// Piano
	#pf13={
		S{	l8
			[2	[3	r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8]
			:	[2	r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8]	]
					r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8
		}
			o5 v100 l8 q99
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b->dg<'v-'gb->d<'v- 'b->df<'v++'b->dg<' v-5'gb->d<'16v-5'b->dg<'16v-5'b->df<'16v-5'gb->d<'16 v+'b->df<'v+'b->dg<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'a->cf<'16v-5'>cfb-<'16v-5'>cfa-<'16v-5'b->cf<'16 v+'>cfa-<'v+'>cfg<'
		'a->cf<'v-'fa->c<'v- 'a->ce<'v++'a->cf<' v-5'fa->c<'16v-5'a->cf<'16v-5'a->ce<'16v-5'fa->c<'16 v+'a->ce<'v+'a->cf<'
		'b->df<'v-'fb->d<'v- 'b->de<'v++'b->df<' v-5'fb->d<'16v-5'b->df<'16v-5'b->de<'16v-5'fb->d<'16 v+'b->de<'v+'b->df<'
		'b >df<'v-'fb >d<'v- 'b >de<'v++'b >df<' v-5'fb >d<'16v-5'b >df<'16v-5'b >de<'16v-5'fb >d<'16 v+'b >de<'v+'b >df<'
		'>ce-g<'v-'g>ce-<'v- '>ce-f<'v++'>ce-g<' v-5'>e-t4g>t8c<<'4t0
	}

	// Pad
	#pd10={	o4 v100 l1 q99
		y11.T=127,64,!1^1^1^1 ^1^1^1^1;
		'<c>cfa-'	'<d>dfb-'	'<d>dgb-'	'<e->e-g>c<'2'<f>fb->c<'2
		'<a->a->cf<'	'<b->b->df<'	'<b>b>df<'	'c>ce-g<'
	}
	#pd12={	o4 v100 l1 q99
		'a->cf<'	'b->df<'	'b->dg<'	'>ce-g<'2'b->cf<'2
		r		r		'b>df<'	'>ce-g<'
	}

	// Synth1
	#s1h1={	Key(12)	#s1l1	Key(0)	}
	#s1h2={	Key(12)	#s1l2	Key(0)	}

	// Synth2
	#sn22={
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'g>d<'})	#sn2c1({'g>c<'})
		rr'a->c<'rr2.	rr'b->d<'rr2.	#sn2c1({'b>d<'})	#sn2c1({'>ce-<'})
	}
	#s2l2={	o4	#sn22	}
	#s2r2={	o5	#sn22	}

	// Synth3
	#s3l1={	o7 v100 l16 q100
		[7	r1]	r2>c<a-fd <b-ge-c>
	}
	#s3r1={	o7 v100 l16 q100
		[7	r1]	r2>c<a-fd <b-ge-c>
	}
	#s3l2={	o7 v100 l16 q100
		crrr crr<a-> rcrr crrr
		crrr crr<b-> rcrr crrr
		drrr drr<b-> rdrr drrr
		drrr drrc >c<a-fd <b->e-a->d-<
		crrr crr<a-> rcrr crrr
		drrr drr<b-> rdrr drrr
		drrr drr<b> rdrr drrr
		drrr drrc >c<a-fd <b-ge-c>
	}
	#s3r2={	o7 v100 l16 q100
		rr<a->r rrcr cr<a-r rra-r>
		rr<b->r rrcr cr<b-r rrb-r>
		rr<b->r rrdr dr<b-r rrb-r>
		rrcr rrdr >c<a-fd <b->e-a->d-<
		rr<a->r rrcr cr<a-r rra-r>
		rr<b->r rrdr dr<b-r rrb-r>
		rr<b>r rrdr dr<br rrbr>
		rrcr rrdr >c<a-fd <b-ge-c>
	}
	#s3l6={	o7 v100 l16 q100
		[3	r1]	r2>c<a-fd <b->e-a->d-<
	}
	#s3r6={	o7 v100 l16 q100
		[3	r1]	r2>c<a-fd <b->e-a->d-<
	}
	
	// Kick
	#bd13={	l16 q100	Rhythm{
		(v127	S){	k1	k1	k1	k2^4.(v-)k8(v+)
				k1	k2^4.(v-)k8(v+)	k2k4.(v-)k8(v+)	[4k4]	}
	}}
	#bd14={	l16 q100	Rhythm{
		(v127	S){	k1	k2^4.(v-)k8(v+)	k2k2	k2k4k8(v-)k8(v+)
				k2k4.(v-)k8(v+)	k4.(v-)k8(v+)k4k8(v-)k8(v+)
				k4k8(v-)k8.(v-)k8.(v++)k8(v-)k(v-)k(v++)
				k8(v-)k8(v+)k8(v-)k(v-)k(v++) [2k8[4(v-5)k32](v++)]	}
	}}
	#bd1s1={	l16 q100	Rhythm{
		(v127	S){	k1	k2^4.(v-)k8(v+)
				[3k8(v-)k8(v+)]k8(v-)k(v-)k(v++)
				[2k8(v--)[4k32(v+5)]] k(v--)k(v+)k(v-)k8(v+)k(v--)[8k64(v+3)]	}
	}}
	#bd12={	S{
		#bd1c1(1)	#bd1c1(1)	#bd1c1(1)	#bd1c1(2)
		#bd1s1
	}}
	#bd16={	l16 q100	Rhythm{
		(v127	S){	k1	}
	}}

	// Snare
	#sd10={	l16 q100	Rhythm{
		(v1	S){	[7[16s(v+1)]]
				[2s(v-64)s(v+32)[4s32(v+8)]] s(v-32)s(v+16)s(v-48)s(v+64) s(v-64)s(v+32)[4s32(v+8)]	}
	}}
	#sd12={	S{
		[4	r1]	#sd1c2	#sd1c2	#sd1c3
	}}

	// HiHat
	#hh12={	S{
		[4	#hh1c1]	[2	r1]	[2	#hh1c1]
	}}

	// Shaker
	#sh12={	S{
		[4	#sh1c1]	[2	r1]	[2	#sh1c1]
	}}

	// Percussion
	#pc12={	S{
		[4	#pc1c1]	[2	r1]	[2	#pc1c1]
	}}

	// Cymbsl
	#cmr3={	l16 q100	Rhythm{
		(v100	S){	C!	r1	r1	r1		C1	}
	}}
	#cml3={	l16 q100	Rhythm{
		(v100	S){	c1	}
	}}
	#cmr4={	l16 q100	Rhythm{
		(v100	S){	C!	r1	r1	r1		r1	C1	C1	C2C2	}
	}}
	#cml4={	l16 q100	Rhythm{
		(v100	S){	c1	r1	r1	r1		c1	r1	r2c2	^4c4c3	}
	}}
	#cmr2={	l16 q100	Rhythm{
		(v100	S){	C!	r1	C1	r1		r1	C1	C1	C2C2	}
	}}
	#cml2={	l16 q100	Rhythm{
		(v100	S){	c1	r1	r1	r1		c1	r1	r2c2	^4c4c2	}
	}}
	#cmr6={	l16 q100	Rhythm{
		(v100	S){	C!	}
	}}
	#cml6={	l16 q100	Rhythm{
		(v100	S){	c1	}
	}}

	// Play
	S{
		#TR_PIANO	#pf11
		If(num == 1 || num == 3){
			#TR_SYNTH3L	#s3l1
			#TR_SYNTH3R	#s3r1
		}
		If(num == 4){
			#TR_SYNTH3L	#s3l2
			#TR_SYNTH3R	#s3r2
			#TR_PAD	#pd11
		}
		If(num != 2){
			#TR_DRUM1	#bd13
			#TR_DRUM2	#cmr3	#cml3
		}
		If(num == 2){
			#TR_BASS	#bs11
			#TR_PAD	#pd11
			#TR_SYNTH1L	#s1l1
			#TR_SYNTH1H	#s1h1
			#TR_SYNTH2L	#s2l1
			#TR_SYNTH2R	#s2r1
			#TR_DRUM1	#bd11	#sd11	#sh11	#pc11
			#TR_DRUM2	#cmr1	#cml1	#hc11	#hh11
		}
		If(num != 1){
			#TR_STRINGS	#st11
		}
	}
	l1	[8r*]	TrackSync;

	S{
		If(num != 4){
			#TR_PIANO	#pf12
		}Else{
			#TR_PIANO	#pf13
		}
		If(num == 1 || num == 3){
			#TR_BASS	#bs10
			#TR_PAD	#pd10
			#TR_SYNTH3L	#s3l2
			#TR_SYNTH3R	#s3r2
			#TR_DRUM1	#bd14	#sd10
			#TR_DRUM2	#cmr4	#cml4
		}
		If(num == 2){
			#TR_BASS	#bs12
			#TR_PAD	#pd12
			#TR_SYNTH1L	#s1l2
			#TR_SYNTH1H	#s1h2
			#TR_SYNTH2L	#s2l2
			#TR_SYNTH2R	#s2r2
			#TR_DRUM1	#bd12	#sd12	#sh12	#pc12
			#TR_DRUM2	#cmr2	#cml2	#hc11	#hh12
		}
		If(num == 4){
			#TR_SYNTH3L	#s3l6
			#TR_SYNTH3R	#s3r6
			#TR_DRUM1	#bd16
			#TR_DRUM2	#cmr6	#cml6
		}
		If(num == 2 || num == 3){
			#TR_STRINGS	#st12
		}
	}
	If(num != 4){
		l1	[8r*]	TrackSync;
	}Else{
		l1	[9r*]	TrackSync;
	}
}

//------------------------------------------------------------------------------
//_ サビ
Function Sabi(Int num){

	Common(num);

	// Vocal
	#vc11={	o6 v110 l8 q100
		r-4	cg
		f4.e-crce-
		f4g4crcg
		If(#?1 == 1){
			f4.e-<b->cde-
			f4g4crcg
		}
		If(#?1 == 2){
			f4.e-d<b->ce-
			f4fgcrcg
		}
		f4.e-c<b->ce-
		If(#?1 == 1){
			f4g4crcg
			f4.e-crce-
			f4g4c
		}
		If(#?1 == 2){
			f4g4c<b->cg
			f4.e-<b->ce-g
			If(num == 1){
				f4g4c
			}
			If(num == 2){
				f4g4c2
			}
		}
	}
	#vc12={	o6 v110 l8 q100
		If(#?1 == 1){
			r-4.	ccg
		}
		If(#?1 == 2){
			r-4	cg
		}
		f4.e-crce-
		f4g4crcg
		If(#?1 == 1){
			f4fe-<b->cde-
			f4g4crcg
			f4.e-c<b->ce-
		}
		If(#?1 == 2){
			f4.e-d<b->ce-
			f4fgcrcg
			f4.e-crce-
		}
		f4g4crcg
		If(#?1 == 1){
			f4.e-c<b->ce-
			f4g4c
		}
		If(#?1 == 2){
			f4.e-<b->ce-g
			f4g4c2	^1^1^1^1
		}
	}

	// Chorus
	#vc21={	o6 v110 l8 q100
		r-4	<g>d
		c4.<b-grgb->
		c4d4<grg>d
		If(#?1 == 1){
			c4.<b-fga-b->
			c4d4<grg>d
		}
		If(#?1 == 2){
			c4.<b-a-fgb->
			c4cd<grg>d
		}
		c4.<b-gfgb->
		If(#?1 == 1){
			c4d4<grg>d
			c4.<b-grgb->
			c4d4<g
		}
		If(#?1 == 2){
			c4d4<gfg>d
			c4.<b-fgb->d
			If(num == 1){
				c4d4<g
			}
			If(num == 2){
				c4d4<g2
			}
		}
	}
	#vc22={	o6 v110 l8 q100
		If(#?1 == 1){
			r-4.	<gg>d
		}
		If(#?1 == 2){
			r-4	<g>d
		}
		c4.<b-grgb->
		c4d4<grg>d
		If(#?1 == 1){
			c4c<b-fga-b->
			c4d4<grg>d
			c4.<b-gfgb->
		}
		If(#?1 == 2){
			c4.<b-a-fgb->
			c4cd<grg>d
			c4.<b-grgb->
		}
		c4d4<grg>d
		If(#?1 == 1){
			c4.<b-gfgb->
			c4d4<g
		}
		If(#?1 == 2){
			c4.<b-fgb->d
			c4d4<g2	^1^1^1^1
		}
	}

	// Kick
	#bd1s1={	l16 q100	Rhythm{
		(v127	S){	[3k8(v-)k8(v+)]k8(v-)k(v-)k(v++)
				[2k8(v--)[4k32(v+5)]] k(v--)k(v+)k(v-)k8(v+)k(v--)[8k64(v+3)]	}
	}}
	#bd12={	S{
		#bd1c1(1)	#bd1c1(1)	#bd1c1(1)	#bd1c1(2)
		#bd1c1(1)	#bd1c1(1)	#bd1s1
	}}

	// Snare
	#sd12={	S{
		[6	r1]	#sd1c3
	}}

	// Cymbsl
	#cmr2={	l16 q100	Rhythm{
		(v100	S){	C!	r1	C1	r1		r1	r1	C1	C2C2	}
	}}
	#cml2={	l16 q100	Rhythm{
		(v100	S){	c1	r1	r1	r1		c1	r1	r2c2	^4c4c2	}
	}}

	// Play
	S{
		If(num == 1 || num == 2){
			#TR_VOCAL1	#vc11(1)
			#TR_VOCAL2	#vc21(1)
		}
		If(num == 3){
			#TR_VOCAL1	#vc12(1)
			#TR_VOCAL2	#vc22(1)
		}
		#TR_PIANO	#pf11
		#TR_BASS	#bs11
		#TR_PAD	#pd11
		#TR_SYNTH1L	#s1l1
		#TR_SYNTH2L	#s2l1
		#TR_SYNTH2R	#s2r1
		#TR_STRINGS	#st11
		#TR_DRUM1	#bd11	#sd11	#sh11	#pc11
		#TR_DRUM2	#cmr1	#cml1	#hc11	#hh11
	}
	l1	[8r*]	TrackSync;

	S{
		If(num == 1 || num == 2){
			#TR_VOCAL1	#vc11(2)
			#TR_VOCAL2	#vc21(2)
		}
		If(num == 3){
			#TR_VOCAL1	#vc12(2)
			#TR_VOCAL2	#vc22(2)
		}
		#TR_PIANO	#pf12
		#TR_BASS	#bs12
		#TR_PAD	#pd12
		#TR_SYNTH1L	#s1l2
		#TR_SYNTH2L	#s2l2
		#TR_SYNTH2R	#s2r2
		#TR_STRINGS	#st12
		#TR_DRUM1	#bd12	#sd12	#sh11	#pc11
		#TR_DRUM2	#cmr2	#cml2	#hc11	#hh11
	}
	l1	[8r*]	TrackSync;
}

//------------------------------------------------------------------------------
//_ Aメロ
Function Amero(Int num){

	Common(num);

	// Vocal
	#vc11={	o6 v110 l8 q100
		r-4.	<gg>e-
		c2r<gg>e-
		<b-2rgg>d
		c2^8r<g>d
		<b-2^8rg>e-
		c2r<gg>e-
		<b-4.r>c<b->ce-
		g1^2^8
	}
	#vc12={	o6 v110 l8 q100
		r-4	<g>e-
		c2cr<g>e-
		<b-2^8rg>d
		c2^8r<g>d
		<b-2rgg>e-
		c2^8r<g>e-
		<b-2^8rg>d
		c2^8rce-
		g2^8
	}

	// Bass
	#bs11={	o2 v100 l16 q80
		#bs1c1({a-})	#bs1c1({g})		#bs1c1({f})	#bs1c2({f},{g})
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({>c<})	#bs1c2({>c<},{b-})
	}

	// Piano
	#pf11={
		S{	l8
			[2	[3	r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8]
				[2	r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8]	]
		}
			o5 v100 l8 q99
		'a->ce-<'v->c<v-a-v++'a->ce-<'8^2
		'gb->e-<'v-21b-v+7e-v+7gv+7'gb->d<'4v-'gb->e-<'4v+
		'fa->c<'v-a-v-cv++'fa->c<'4.v-'e-a-b-'4v+
		'fb->c<'4v--cv+fv+'gb->d<'v-dv+'g>cd<'4
		'a->ce-<'v->c<v-a-v++'a->ce-<'8^2
		'fa->d<'4.'fb->d<'4.'gb->f<'4
		'g>ce-<'v->c<v-gv++'g>ce-<'8^2
		'>ce-g<'v-15gv+5>cv+5e-<v+5'b->e-f<'v-5b-v-5gv+>d<
	}

	// Pad
	#pd11={	o4 v100 l1 q99
		'a->ce-<'	'g>ce-<'	'fa->c<'	S{>d1<}'fb-'2'g>c<'2
		'a->ce-<'	'b->df<'	'>ce-g<'	S{>e-1<}'>cg<'2'b->f<'2
	}

	// Synth2
	#sn21={
		#sn2c1({'a->c<'})	#sn2c1({'g>c<'})	#sn2c1({'f>c<'})	#sn2c2({'fb-'},{'g>c<'})
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'>ce-<'})	#sn2c2({'>ce-<'},{'b->e-<'})
	}
	#s2l1={	o4	#sn21	}
	#s2r1={	o5	#sn21	}

	// Synth3
	#s3l1={	o7 v100 l16 q100
		[3	r1]	r2>c<a-fd <b->e-a->d-<
		[3	r1]	r2>c<a-fd <b-ge-c>
	}
	#s3r1={	o7 v100 l16 q100
		[3	r1]	r2>c<a-fd <b->e-a->d-<
		[3	r1]	r2>c<a-fd <b-ge-c>
	}

	// Strings
	#st11={	o6 v100 l8 q100
		r1	r1	r1	r4e-4d4c4
		<a-1	b-2g4>d4	c1	^2^8rd4
	}

	// Kick
	#bd1s1={	l16 q100	Rhythm{
		(v127	S){	(v-30)[4k8(v-)k8(v++)](v-)
				k8k8k8k8 k(v--)k(v+)k8(v+)k8(v-)k8(v+)	}
	}}
	#bd12={	S{
		#bd1c1(1)	#bd1c1(1)	#bd1c1(1)	#bd1c1(2)
		r1		r1		#bd1s1
	}}

	// Snare
	#sd11={	v110 l16 q100	Rhythm{
		(v100	S){	[7r1]	(v-40)[4s8(v+)]sss8s8s8	}
	}}

	// HandClap
	#hc11={	S{
		[2	#hc1c1(1)	#hc1c1(1)	#hc1c1(1)	:	#hc1c1(3)]	#hc1c1(4)
	}}

	// HiHat
	#hh11={	S{
		[8	#hh1c2]
	}}

	// Cymbsl
	#cmr1={	l16 q100	Rhythm{
		(v100	S){	C!	}
	}}
	#cml1={	l16 q100	Rhythm{
		(v100	S){	c1	}
	}}

	// Play
	S{
		#TR_PIANO	#pf11
		#TR_BASS	#bs11
		#TR_PAD	#pd11
		#TR_SYNTH2L	#s2l1
		#TR_SYNTH2R	#s2r1
		#TR_SYNTH3L	#s3l1
		#TR_SYNTH3R	#s3r1
		#TR_STRINGS	#st11
		If(num == 1){
			#TR_VOCAL1	#vc11
			#TR_DRUM1	#bd11
		}
		If(num == 2){
			#TR_VOCAL1	#vc12
			#TR_DRUM1	#bd12
		}
		#TR_DRUM1	#sd11	#sh11	#pc11
		#TR_DRUM2	#cmr1	#cml1	#hc11	#hh11
	}
	l1	[8r*]	TrackSync;
}

//------------------------------------------------------------------------------
//_ Bメロ
Function Bmero(Int num){

	Common(num);

	// Vocal
	#vc11={	o6 v110 l8 q100
		r-4	<g>d
		e-r<g>de-4rf
		e-dc<b->c4d4
		<grg>de-re-f
		e-dcgfr<g>d
		e-r<g>de-4rf
		e-dc<b->c4d4
		<grg>dgfe-<b->
		c2^8
	}
	#vc12={	o6 v110 l8 q100
		r-4	<g>d
		e-r<g>de-4.r
		e-dc<b->c4d4
		<grg>de-ce-f
		e-dcgfr<g>d
		e-r<g>de-4rf
		e-dc<b->c4d8.r16
		<gfg>dgfe-<b->
		c2
	}

	// Chorus
	#vc21={	o6 v110 l8 q100
		r-4	<da-
		b-rda-b-4r4
		r1
		r4da-b-rb->c
		<b-a-g>dcr<da-
		b-r8^2.
		r1
		r4da->dc<b-f
		g2^8
	}
	#vc22={	o6 v110 l8 q100
		r-4	<da-
		b-rda-b-4.r
		r1
		r4da-b-gb->c
		<b-a-g>dcr<da-
		b-rda-b-4r4
		r1
		dcda->dc<b-f
		g2
	}

	// Bass
	#bs11={	o2 v100 l16 q80
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({g})	#bs1c1({>c<})
		#bs1c1({a-})	#bs1c1({b-})	#bs1c1({b})	#bs1c2({>c<},{r})
	}

	// Piano
	#pf11={
		S{	l8
			[2	[3	r%8 y64(127); r-%8 r1 r-%8 y64(0); r%8]
			:	[2	r%8 y64(127); r-%8 r2 r-%8 y64(0); r%8]	]
					r%8 y64(127); r-%8 r2^8 r-%8 y64(0); r%8
		}
			o5 v100 l8 q99
		[2>f<a->c<]>f<a-
		[2>df<b-]>df<
		[2b->dg<]b->d<
		>gce-g< b->cf<b-
		[2>cf<a-]>cf<
		[2b->df<]b->d<
		[2>f<b>d<]>f<b
		>e-gce- g<
	}

	// Pad
	#pd11={	o4 v100 l1 q99
		'a->cf<'	'b->df<'	'b->dg<'	'>ce-g<'2'b->cf<'2
		'a->cf<'	'b->df<'	'b>df<'	'>ce-g<'2^8
	}

	// Strings
	#st11={	o6 v100 l1 q100
		e-	g	<b->	e-2d2
		c	g	<b>	c2^8
	}

	// Synth1
	#s1h1={	o6 v100 l8 q100
		r-4.	b->e-b-<
		ra->c<a->a-c<ra-
		rb->d<b->b-d<rb-
		rg>d<g>gd<rg
		rg>cgc>c<rc<
		ra->c<a->a-c<ra-
		rb->d<b->b-d<rb-
		rb>d<b>bd<rb
		r>ce-g>c
	}

	// Synth2
	#sn21={
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'g>d<'})	#sn2c1({'g>c<'})
		#sn2c1({'a->c<'})	#sn2c1({'b->d<'})	#sn2c1({'b>d<'})	#sn2c2({'>ce-<'},{r})
	}
	#s2l1={	o4	#sn21	}
	#s2r1={	o5	#sn21	}

	// Kick
	#bd1s1={	l16 q100	Rhythm{
		(v127	S){	[3k8(v-)k8(v+)]k8(v-)k(v-)k(v++)
				[2k8(v--)[4k64(v+5)]]k	}
	}}
	#bd11={	S{
		#bd1c1(1)	#bd1c1(1)	#bd1c1(1)	#bd1c1(2)
		#bd1c1(1)	#bd1c1(2)	#bd1s1
	}}

	// HandClap
	#hc11={	S{
		[2	#hc1c1(1)	#hc1c1(1)	#hc1c1(1)	:	#hc1c1(5)]	#hc1c1(6)
	}}

	// Snare
	#sd11={	l16 q100	Rhythm{
		(v127	S){	[6	r1]
				s(v-90)[15s(v+6)]
				[2sr(v-25)s32(v+5)s32(v+)s(v+)]s	}
	}}

	// HiHat
	#hh11={	S{
		[7	#hh1c1]	#hh1c3
	}}

	// Shaker
	#sh11={	S{
		[7	#sh1c1]	#sh1c2
	}}

	// Percussion
	#pc11={	S{
		[7	#pc1c1]	#pc1c2
	}}

	// Cymbsl
	#cmr1={	l16 q100	Rhythm{
		(v100	S){	C!	r1	r1	r2.C4		r1	r1	C1	C2C2	}
	}}
	#cml1={	l16 q100	Rhythm{
		(v100	S){	c1	r1	r1	r1		c1	r1	r2c2	^4c4c2	}
	}}

	// Play
	S{
		If(num == 1){
			#TR_VOCAL1	#vc11
			#TR_VOCAL2	#vc21
		}
		If(num == 2){
			#TR_VOCAL1	#vc12
			#TR_VOCAL2	#vc22
		}
		#TR_PIANO	#pf11
		#TR_BASS	#bs11
		#TR_PAD	#pd11
		#TR_SYNTH1H	#s1h1
		#TR_SYNTH2L	#s2l1
		#TR_SYNTH2R	#s2r1
		#TR_STRINGS	#st11
		#TR_DRUM1	#bd11	#sd11	#sh11	#pc11
		#TR_DRUM2	#cmr1	#cml1	#hc11	#hh11
	}
	l1	[8r*]	TrackSync;
}

//------------------------------------------------------------------------------
//_Play 
// シーン関数の呼び出しで演奏
//------------------------------------------------------------------------------
Time(  1:1: 0)	Tempo = 171;
SetUp();
/*
*/
Intro(1);
Intro(2);
Sabi(1);
Amero(1);
Bmero(1);
Intro(3);
Sabi(2);
Intro(2);
Amero(2);
Bmero(2);
Sabi(3);
Intro(2);
Intro(4);
