//_初期設定

TrackName     = {"青と黒で"}//曲名を書き込みます
Copyright     = {"騎士王321"}//作者の名前を書き込みます
MetaText      = {"blue & black、モダンに。"}//ひとことコーナーです

テンポ 127;
拍子   4,4;//DTMにおいて拍子は気休め以下です。
TimeBase = 96;//四分音符のステップ数の設定です。tの指定とかをする人には重要です。

TrackSync;

Include(gs.h);//XG音源でない人はこれを絶対に書き込んでおきましょう
Include(delay.h);Include(groove.h);Include(unison.h);//これくらいあればだいたい事足ります。
//あとはお好みでギターとかコードとかのインクルードファイルでも
System.MeasureShift(1);ResetGS;

TrackSync;

//リズムトラックの拡張です。それぞれの行の『//』を外すことによって有効になります。
CH(11) SysEx$ = f0,41,10,42,12,{40,1a,15,02},f7;//トラック11
CH(12) SysEx$ = f0,41,10,42,12,{40,1b,15,02},f7;//トラック12
CH(13) SysEx$ = f0,41,10,42,12,{40,1c,15,02},f7;//トラック13
CH(14) SysEx$ = f0,41,10,42,12,{40,1d,15,02},f7;//トラック14

//音の基準の高さを決めるチューニング(0~127)です。どれかひとつを有効にしておきましょう
//GSScaleTuning(3,3,3,3,3,3,3,3,3,3,3,3);//424Hz
//GSScaleTuning(25,25,25,25,25,25,25,25,25,25,25,25);//430Hz
//GSScaleTuning(64,64,64,64,64,64,64,64,64,64,64,64);//440Hz
//GSScaleTuning(74,74,74,74,74,74,74,74,74,74,74,74);//442Hz
GSScaleTuning(80,80,80,80,80,80,80,80,80,80,80,80);//443Hz
//BR(2);においてp%(512);はだいたい442Hz

//知る人ぞ知るTW-Music2のパラメータ設定。リバーブとコーラスを扱います
//ReverbSetting    Time Dpth High
CuePoint={"TwmParam( 64,120, 60)"}//リバーブ。各値は上記を参照
//ChorusSetting     Wave Mix Dpth FB Freq Dly Phs
CuePoint={"TwmChorus(  0,127, 16, 30, 64, 20, 1)"}
//CuePoint={"TwmChorus(  1,127, 32, 80,127,  2, 1)"}
/*
	パワーコーラス　(三番目の値〔Dpth〕を動かすと少しずつ変化します)
	クラブトラック向け。深いリバーブに合う。ディチューンや音の割れ具合がカッコイイ
	基本的に高域が強調された音色に合うのでクラブ方面でなくてもいける。
*/
//CuePoint={"TwmChorus(  0,127, 16, 88,127, 48, 1)"}
/*
	ポリコーラス
	パワーコーラスが原音を強化するタイプに対し、こちらはディチューンを強くかける。
	最大までかけると@39とかが別の音色みたいになる。ほんと、パワーコーラスといい勝負。
*/
//CuePoint={"TwmChorus(  0,127, 16, 25, 32, 40, 1)"}
/*
	ジャズコーラス(アンプの名前ではない)
	エレガントなコーラス
	あんまりこだわりのないときにコンプレッサと一緒にちょっと通すと音がまとまるくん
	V.W(100,120,!8);//みたいにアタックの強い音は出だしの音を小さくする//Compresser
*/
//CuePoint={"TwmChorus(  1,127,  0, 64,  8, 64, 1)"}
/*
	ピアノ用コーラス　(三番目の値〔Dpth〕は0固定)
	名前そのまま。ピアノソロの曲とかにどうぞ。少しは「らしく」なります。
	ほかのトラックに使ってもあんまり意味のない特化型コーラス
*/
//CuePoint={"TwmChorus(  1,127, 30, 60,  1, 50, 0)"}
/*
	高い天井コーラス　(故　梅本先生の作品『高い天井』で使われていた設定です)
	ロングトーンやハイハットの音色とかに良く効く設定です。
	以下、本人によるメモです。
	ゆらぎの周期を最も遅くし、フランジャー設定
	ディレイを長めにとって、擬似ステレオに
*/
//CuePoint={"TwmChorus(  1,127, 40, 16, 16, 24, 1)"}
/*
	ステレオ&エンハンサー
	微妙にリバーブがかかったみたいにこもって聞こえる。
	低音はかなり高域強調。音色によっては和音で音割れ(というか音域をつぶしあうことも)
*/
//CuePoint={"TwmChorus(  1,127,120, 64, 88,120, 1)"}
/*
	メジャーキーコーラス(不思議ちゃん)
	なぜか和音が出来ちゃう!!　(正確にはトレモロ)
	面白トラックを作るときとか。そういうときは真面目なトラックはコーラスなしで我慢(ディチューンがあるよ)
	p%(250);//複数トラックを使い、それぞれのトラックのピッチベンドを微妙にずらすこと//Detune
*/

//Slur(1);//スラーの種類を指定します

//==================================================================================================

//_作曲時に役立つツールたち

//PlayFrom(1:0:0);//途中から演奏するときにつかいます
//Solo();//『,』で複数トラック指定可
//Mute();//『,』で複数トラック指定可

STR KeyP = {KeyFlag-(bea);Key(0);}//各トラックの頭に書き込んでおくと転調するタイプの曲で便利です
STR KEEP = {}//なにもしない
STR RS08 = {r%3072}//8小節休み
STR RS16 = {r%6144}//16小節休み

//通常トラック用
/*
TR(1);KeyP;
@1,0,0;
V(120);EP(127);P(64);M(0);p%(0);
REV(0);CHO(0);
o5;l4;q99;v120;t0;r1//予動。プレカウントとも
*/

//リズムトラック用
/*
TR(10);KeyFlag+();Key(0);//ドラムトラックはいつでも同じキーにしておきましょう
@1,0,0;
V(120);EP(127);P(64);BR(12);p%(0);
REV(0);CHO(0);
o3;l16;q9;v120;t0;r1//予動はとりあえず1小節にしてます。4拍子が多いから
*/

//↓仕切り線です。ご自由にお使いください
//==================================================================================================
//--------------------------------------------------------------------------------------------------

/*演奏情報
TR1	Bass
TR2	Guitar
TR3	Organ
TR4	Combo
TR5	
TR6	
TR7	ElectricPiano(left)
TR8	ElectricPiano(right)
TR9	
TR10	Kick
TR11	Snare
TR12	HiHat
TR13	Cymbal(left,right,China,Splash)
TR14	TomTom
TR15	
TR16	
--------------------------------------------------------------------------------------------------*/
STR BA90 = {[16 r1]r2d-^"d-,29f&g"a^^}
STR BA01 = {[2
		c^^^^^c,29c,29|d32,,80&e8^32e^"e,29"g^|"a^a"a,29"g^"g32"a32|"b^^b"f,29"g^g"g
		c^^^^^"c,29d|e[2 [2 "e,29,60]:"e]"f"g|"a^"a,59"bc^c&d|"b^b"b,29"g,29"g^^
		c^^^^^c,29c,29|d32,,80&e8^32e^"e,29"g^|"a^a"a,29"g^"g32"a32|"b^^b"f,29"g^g"g
		c^^^^^c,29d,29|e8"e,29"g^"g,29"e"e+|"f^^^^^"a&"b|"g^"b,59cdf&g"b,29]}
STR BA02 = {g-^^^"g-^"a,29"b,29|"f^e&f"a^"a+^|"b^b,29"b"bab"b|"f,29`d-`e`d-baf&e
		g-^^^"g-^[2 "g-,29]|"f^e&fe^`d-`e|b^^^"b^"b,29"f,29|ab,,80a,,100b,,60d-abd-,29
		"g-^^^^^[2 "g-,29]|"f^e&f"a^"a+^|"b^b,29"b"bab"b|[2 "b,29]ab"f^"a^
		"g-^^^^^[2 "g-,29]|"f^e&fe^`d-`e|"b^ab"b,29ab"b|"b,199b"aa"g-,29g-"f"f
		Key(+3);
		g-^^^"g-^"a,29"b,29|"f^e&f"a^"a+^|"b^b,29"b"bab"b|"f,29`d-`e`d-baf&e
		g-^^^"g-^[2 "g-,29]|"f^e&fe^`d-`e|b^^^"b^"b,29"f,29|ab,,80a,,100b,,60d-abd-,29
		"g-^^^^^[2 "g-,29]|"f^e&f"a^"a+^|"b^b,29"b"bab"b|[2 "b,29]ab"f^"a^
		"g-^^^^^[2 "g-,29]|"f^e&fe^`d-`e|"b^ab"b,29ab"b|"b,29ab"b,29ab"f,29"a
		Key(0);}
STR BA51 = {e^^^"g^"g,29e"gg"bb"f,29"f,29ef"fa+"f,29a+
		g-^^^"g-^"g-,29g-"b,29bd-`d-"a^a"a"a+^a+"a+
		"b^"b,29"b,29b"ba&b"b,29bab"ff"aa|e^^"g^^"b,29"b,29"f^f^"f+^f+^|g2"g4"b4}
STR BA52 = {l8
		c^^^^^c,29c,29|d16,,80&e4^16e^"e,29"g^|"a^a"a,29"g^"g16"a16|"b^^b"f,29"g^g"g
		c^^^^^"c,29d|e[2 [2 "e,29,60]:"e]"f"g|"a^"a,59"bc^c&d|"b^b"b,29"g,29"g^^
		c^^^^^c,29c,29|d16,,80&e4^16e^"e,29"g^|"a^a"a,29"g^"g16"a16|"b^^b"f,29"g^g"g
		c^^^^^c,29d,29|e4"e,29"g^"g,29"e"e+|"f^^^^^"a&"b|"g^"b,59cdf&g"b,29
		@34,0,0;/*途中で音色変えるのは苦渋の選択だった!!*/
		c2^4^8[2 "g16,29]c2c8^16d8^16e8|"a1^1
		c[2 "g,29]gfg"b"b+c"g"g"bc"b"e"g,,80|"a2^4^8"g"aeagfg"e"e+
		"f2^4^8[2 "f16,29]"ffec"f"a"bc|d2"f8^16"a8^16f8g2"g2
		c4"b4"a4"g4"f4"b4"a+2|"a2e2f2g2|c1^1		
		@37,0,0;l16
		/*[2 [4 c4^8"g,29"g,29[2 c^c,29]cc,29|d&e^"e^"e,29"g"g,29"b4"e4:
		"a4^8"a,29"a,29"a^"a,29"b^"b,29c"e,29|"b^b"b,29c^d-"f,29"g^g"g,29"b^b"b,29]
		"f4^8"f,29"f,29ef"f"fef"f,29"f"a^"b^|"g4^8"g,29"g,29"gfg"gfg"g"b]*/}
STR BA71 = {Sub{[3 r1^1]r1rr`cc"b^b"b,29|"g^g"g^"f^c,29
			[4 r1]r1c,29r`c24`d24&`e24^16r`e24`f24&`f+24^16"g,29`g`fb`cfg}
		[4 "f^^^^^"f,29"f,29"g^g"g,29"bb"bc^r1r-16
		   "f^^^^^"f,29"f,29"g^"g,29"b^b,29"b32"b+32,49,60c^r1r-16]}
STR BA79 = {[2
		c^^^^^c,29c,29|d32,,80&e8^32e^"e,29"g^|"f^f"f,29"e^"e32"f32|"g^^g"g,29"b^b"b
		c^^^^^c,29c,29|d32,,80&e8^32e^"e,29"g^|"f^f"f,29"g^"g32"a32|"b^^b"f,29"g^g"g
		c^^^^^c,29c,29|d32,,80&e8^32e^"e,29"g^|"f^f"f,29"e^"e32"f32|"g^^g"g,29"b^b"b:
		"a^"a,59"bc^c&d|e^"b+b+"b^"aa|"b^b"b,29"f,29"f^^|"b^b"b,29"a,29d^^]
		"a2"f2"b2b2}
STR BA72 = {c1^1^1^2^4^8[2 c16,29]}
TR(1);KeyP;
@37,0,0;
V(125);EP(127);P(72);M(0);p%(0);
REV(2);CHO(60);
o3;l16;q99;v125;t0;r1
BA90
BA01 BA02 BA01 BA02
BA51 BA52
BA02 BA01 BA71 BA72
//--------------------------------------------------------------------------------------------------
STR GT90 = {[16 r1]r2^4[4 'ceg']}
STR GT01 = {[2
		[3
			'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
			[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
			'""a"e"gce'^[4 '""a"e"gce',11][2 '""a"e"gce']
			[2 [2 '""b"f"bdf',11]'""b"f"bdf'][2 '""g"d"f"b+d',11]]
		'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
		[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
		'""f"c"f"a+f'^[4 '""f"c"f"a+f',11][2 '""f"c"f"a+f']
		[2 [2 '""g"d"f"b+d',11]'""g"d"f"b+d'][2 '""g"d"f"b+d',11]]}
STR GT11 = {[2
		'""g-"d-"f"bd-'^[4 '""g-d-"f"bd-',11][2 '""g-"d-"f"bd-']
		[2 '""f"e"f"a+d-'^'""f"e"f"a+d-',11][2 '""f"e"f"a+d-']
		'""b"f"ad-f'^[4 '""b"f"ad-f',11][2 '""b"f"ad-f']
		[2 [2 '""b"f"ad-f',11][2 '""b"f"ad-f']]//1st roop
		'""g-"d-"f"bd-'^[4 '""g-d-"f"bd-',11][2 '""g-"d-"f"bd-']
		[2 '""f"e"f"a+d-'^'""f"e"f"a+d-',11][2 '""f"e"f"a+d-']
		'""b"f"ad-f'^[4 '""b"f"ad-f',11][2 '""b"f"ad-f']://roop out
		[2 [2 '"d-"f"ac-f',11]'"d-"f"ac-f'][2 '"d-"f"ac-f',11]//2nd roop
		]
		[2 [2 '""b"f"adf',11]'""b"f"adf'][2 '""b"f"adf',11]
		Key(+3);
		[2
		'""g-"d-"f"bd-'^[4 '""g-d-"f"bd-',11][2 '""g-"d-"f"bd-']
		[2 '""f"e"f"a+d-'^'""f"e"f"a+d-',11][2 '""f"e"f"a+d-']
		'""b"f"ad-f'^[4 '""b"f"ad-f',11][2 '""b"f"ad-f']
		[2 [2 '""b"f"ad-f',11][2 '""b"f"ad-f']]//1st roop
		'""g-"d-"f"bd-'^[4 '""g-d-"f"bd-',11][2 '""g-"d-"f"bd-']
		[2 '""f"e"f"a+d-'^'""f"e"f"a+d-',11][2 '""f"e"f"a+d-']
		'""b"f"ad-f'^[4 '""b"f"ad-f',11][2 '""b"f"ad-f']://roop out
		[2 [2 '"d-"f"ac-f',11]'"d-"f"ac-f'][2 '"d-"f"ac-f',11]//2nd roop
		]
		[2 [2 '""b"f"a+df',11]'""b"f"a+df'][2 '""b"f"a+df',11]
		Key(0);}
STR GT51 = {[2 '""b"e"bdg',11][2 '""b"e"bdg'^'""b"e"bdg',11][2 '""b"e"bdg''""b"e"bdg',11]|[2 '"c"f"a+cf',11]'"c"f"a+cf'^[2 '"c"f"a+cf',11][2 '"c"f"a+cf']
		[2 '""g-"d-"bd-f',11][2 '""g-"d-"bd-f'^'""g-"d-"bd-f',11][2 '""g-"d-"bd-f''""g-"d-"bd-f',11]|[2 '""a"e"ace',11]'""a"e"ace'^[2 '""a"e"ace',11][2 '""a"e"ace']
		[2 '""b"f"ace',11][2 '""b"f"ace'^'""b"f"ace',11][3 '""b"f"adf'^:'""b"f"adf',11]
		[2 '""b"e"bdg',11][2 '""b"e"bdg'^'""b"e"bdg',11][3 '"c"f"a+cf'^:'"c"f"a+cf',11]
		'"f"b+efb'1}
STR GT52 = {l8 [3
			'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
			[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
			'""a"e"gce'^[4 '""a"e"gce',11][2 '""a"e"gce']
			[2 [2 '""b"f"bdf',11]'""b"f"bdf'][2 '""g"d"f"b+d',11]]
		'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
		[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
		'""f"c"f"a+f'^[4 '""f"c"f"a+f',11][2 '""f"c"f"a+f']
		[2 [2 '""g"d"f"b+d',11]'""g"d"f"b+d'][2 '""g"d"f"b+d',11]
		q291
		r""g"c"gdeb"g"c"gdebdeb|""a"e"gc""a""b""ar""a"e"g"aceg^
		r""g"c"gdegb`d`e`dbgedc|""a"e"g"a"bceba"aceg^^^
		r""f"c"f"g"acea"f"ace""ffe|d"d"f"a"b+df12e12d12'""g"d,,,3'"f"a"b+""g"d"f"b+
		r""g"c"gdeb^"d"f"bdc+"a+"e+""a+|""a"e"a"bcegb'""f"c,,,3'"f"ae'""g"d,,,3'"f"b+d
		M.T(0,120,!1);'""g"c,,,100"e,,,200"g,,,300c,,,400e,,,410'1^1 l16 M(0);}
STR GT71 = {Sub{[5 r1]>EP.T(80,127,!2);v125 "b24,11f24,11[10 b24,71]q191 bgfgf+fec[2 r1]
			[3 r1]EP.T(127,80,!2,80,127,!2);[6 f24g24][2 '"beg''"beg',11]'egb',11'egb'^^
			EP(100);q91<}
		[8 '""f"c"ace'4[2 '""f"c"ace':[2 '""f"c"ace',11]]
		   [2 '""g"d"f"bd'][2 '""g"d"f"bd',11][2 '""g"d"f"bd']'""g"c"e"be'8r1]}
STR GT79 = {[2
		//12
		'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
		[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
		'""f"c"ace'^[4 '""f"c"ace',11][2 '""f"c"ace']
		[2 [2 '""g"d"f"bd',11]'""g"d"f"bd'][2 '""g"d"f"bd',11]
		//34
		'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
		[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
		'""f"c"ace'^[4 '""f"c"ace',11][2 '""f"c"ace']
		[2 [2 '""b"f"adf',11]'""b"f"adf'][2 '""b"f"adf',11]
		//56
		'"c"e"bdg'^[4 '"c"e"bdg',11][2 '"c"e"bdg']
		[2 '""b"e"g"bd'^'""b"e"g"bd',11][2 '""b"e"g"bd']
		'""f"c"ace'^[4 '""f"c"ace',11][2 '""f"c"ace']
		[2 [2 '""g"d"f"b+d',11]'""g"d"f"b+d'][2 '""g"d"f"b+d',11]
		://78(roop out)
		'""a"eceg'^[4 '""a"eceg',11][2 '""a"eceg']
		[2 '""a"eceg'^'""a"eceg',11][2 '""a"eceg']
		'""b"f"adf'^[4 '""b"f"adf',11][2 '""b"f"adf']
		[2 [2 '""b"f"adf',11]'""b"f"adf'][2 '""b"f"adf',11]
		]
		[4 [2 '""a"eceg',11][2 '""a"eceg']]
		TempoChange(127,116,!1);[3 [2 '""b"f"adf',11][2 '""b"f"adf']][4 '""b"f"adf']}
STR GT72 = {'"c"g,,,12"b,,,24e,,,32g,,,40'1^1^1^1,100}
TR(2);KeyP;
@25,8,0;
V(120);EP(100);P(32);M(0);p%(0);
REV(30);CHO(90);
o5;l16;q91;v125;t.N(0,1,2,3,4);r1
GT90
GT01 GT11 GT01 GT11
GT51 GT52
GT11 GT01 GT71 GT72
//--------------------------------------------------------------------------------------------------
STR OR90 = {q103 EP.T(80,127,6144);r1^1d8&&e1^4^8f2|'e,,80g'1c4^8e24f24g24b2
		`c6b6g6'e,,60f'2'c,,80e'2'"b,,80e+'2|'f,,80g'1^4^8r8a4^6'c,,80g'12
		'd,,80g'2'd,,80f'2'd,,80a'2'b+,,80g'2|'g,,80`d'4`c4b4g4|d4^6'f+,,80b+'4^12a+6b+12|`c4b4g4f4e2'"ad-'2,,100c2^4,,80r4}
STR OR01 = {[2
			[2 r4'degb'^^'degb'r2|"ar'cdg'^r'"bce'^^'"bdf'^^'dfg'^"g'dfb'^:
			r4'deg'^^'deg'r2|r4^8"b24c24c+24'"bd'^^'"bf'^^'"b+d'^]
		r4'deg'^^'deg'r2|:rcefef'cg'^'cfa+'4'"b+dfb'4
		]
		'"a+cf'^^'"a+cg'r4 q379 DIV{bag-ed-<bag-ed-<bag-ed->>}(2);q79}
STR OR02 = {/*B-moll*/
		a32a+32b4^16aba^^f^^e^|e^,129"a,29c,29ed-ee&&f2|f4^8e&f'fb'8,103"c,29'ea'^^e8&&f1
		d-2^8,,110cd-efaf|ab`d-babaf|bafee+fe"b
		"a4^8,103,100cd-e4^8d-8|'d-f'4^8'fa'8'fb'^^'ea'^^f^
		/*Cis-moll*/KeyFlag+(fcgd);
		g2^8g8"g,29b8 Sub{g1^16}b&|`c1|^2`d32`e8^32`d^^'g,,80b'8|^2,103"b,29gfgfd"b"g
		'"b,,110e,,100'2"a,29e,29defefg|fgbgb`cg`c`e`f`f+`fe`cb`c|cgbcgbfg'd,,80f'4^8ef|'c,,80f'4^8'c"g,,100e,,60'2^8
		KeyFlag-(bea);}
STR OR03 = {/*B-moll*/
		[2 r8^16e32e+32'"b,,80f'4r4r-32f32'"a+,,80d-,,80a'4|'d-,,80f,,80b'^r'c,,80f,,80a'^r'"a,,80d-,,80f'8^2
		   r8^16f32a32'f,,80b'4'e,,80a'^r'"a+,,80f'^r'"a+,,80e'^:'"a,,80e'^^d-'d-,29e'd-e'"b+,,80f'2^16]
		   'd-,,80f'^r'"b,,80a'^r32a+32'd,,80b'8^2
		/*Cis-moll*/KeyFlag+(fcgd);
		'c,,80e,,80g'8r4^8fgbf`c`c+`cb|'c,,80e,,80g'8r4^8`cbgfef+fe/*2bars*/
		'c,,80e,,80g'8rrrrfg'c,,80e,,80b'8rrrrgb|`c8rr`e`d`cbgec4r8/*2bars*/
		r4'ceg'^^'ceg'rrr'"b+eb'^^'"b+eb'^|rr'eg`c''eg`c'rr'egb'`crr'cef'gf+fec
		'eg'4r8'eg'r'eg'^^'gb'^^'eb'^|'egb'4^8'e+g`c'2^8
		KeyFlag-(bea);}
STR OR13 = {/*B-moll*/
		[2 r8^16e32e+32'"b,,80f'4r4r-32f32'"a+,,80d-,,80a'4|'d-,,80f,,80b'^r'c,,80f,,80a'^r'"a,,80d-,,80f'8^2
		   r8^16f32a32'f,,80b'4'e,,80a'^r'"a+,,80f'^r'"a+,,80e'^:'"a,,80e'^^d-'d-,29e'd-e'"b+,,80f'2^16]
		   'd-,,80f'^r'"b,,80a'^r32a+32'd,,80b'8^2
		/*Cis-moll*/KeyFlag+(fcgd);
		'c,,80e,,80g'8r4^8fgbf`c`c+`cb|'c,,80e,,80g'8r4^8`cbgfef+fe/*2bars*/
		'c,,80e,,80g'8rrrrfg'c,,80e,,80b'8rrrrgb|`c8rr`e`d`cbgec4r8/*2bars*/
		[4 r1]
		KeyFlag-(bea);}
STR OR51 = {/*'"bdg'r`d`f`c`db`cgbfg 'fa+'^"f'fa+`c'^"f'a+`d'^|[2 '"b,109b'rfa]"bfab 'ceb'^r'g`c'^r'ce'^*/
		[2 'gb`d'^^'gb`c'^^]fga+`c`fga+`c|[2 'fb`d-'^^'fa`c'^^]eab`c`eb`c`e
		[3 `f:`e`c]r`f`g`f`d`cbgf|'"bdg'6'"bdf'6'"gd'6'"fc'6'"fd'6'"ff'6|'"b+da'4^8g24a24a+24'"b+fb'2}
STR OR61 = {r2^4^2 r2^4^2 r1^1^1}
STR OR52 = {r-4`cbgf q103
		d&e1|^4^8^16f4^8g8|^1|^4f4g8^16a32a+32b12r12g12|^1|^1|`c2^4`g4|'b,,60`f'4'`c,,60`g'4'f,,60`d'4'f,,60b'4/*8*/
		`c2`g4`e4|`f2`g4`a4|`f4`g2^4|`d4`e2^8b+8|`c1|f2g2|c1|d1
		r1^1d8&&e1^4^8f2|'e,,80g'1c4^8e24f24g24b2
		`c6b6g6'e,,60f'2'c,,80e'2'"b,,80e+'2|'f,,80g'1^4^8r8a4^6'c,,80g'12
		'd,,80g'2'd,,80f'2'd,,80a'2'b+,,80g'2|'g,,80`d'4`c4b4g4
		d4^6'e+,,80b+'4^12a+6b+12|`c4b4g4f4e2'"gd'2,,100c1^2^4,,80r4}
STR OR71 = {Sub{r1"e"f"g"bceff+gb`cgb`cc"c,,60}
		[4 r4'"ace'^^'"ace'rrr'"f"bd'^^'"e"gc'rr1]
		'"ace'2'"f"b+f'4"g16"b16'"gcg'8r1|'"acg'2'"f"b+f'4"g16"b16'ceg'8r1
		'eg`c'2'"b+fb'4"g16d16'ceg'8r1|'"acg'2'"f"b+f'4"g16"b16'ceg'8r1}
STR OR72 = {M.T(0,64,!1^1^1^1);EP.T(127,64,!1^1,64,127,!1^1);
		Sub{r1^1'b`e'1^1,100,100}v80 '"g"bde,,100'1^1^1^1,101}
STR OR79 = {r1"e"f"g"bceff+gb`cgb`cc"c,,60}
TR(3);KeyP;
@18,0,0;
V(55);EP(127);P(96);M(0);p%(0);
REV(30);CHO(120);
o6;l16;q79;v120;t0;r1
OR90 q79
OR01 OR02 OR01 OR03
OR51 OR52 q79
OR03 OR01 OR71 OR72
//--------------------------------------------------------------------------------------------------
TR(4);KeyP;
@82,111,3;
V(75);EP(127);P(96);M(40);p%(0);
REV(120);CHO(90);
o4;l16;q83;v120;t0;r1
OR90 q83
RS16 OR02 RS16 OR13
OR61 OR52 q83
OR13 RS16 OR79
//--------------------------------------------------------------------------------------------------
STR EF90 = {'cg,,,10b,,,20`d,,,30`e,,,40`g,,,50`b,,,60'1^1'"ae,,,10a,,,20b,,,30`c,,,40`e,,,50`g,,,60'1^1
		'cg,,,10b,,,20`d,,,30`e,,,40`g,,,50`b,,,60'1^1'"ae,,,10a,,,20b,,,30`c,,,40`e,,,50`g,,,60'1^2'"gc,,,10e+,,,20b,,,30`e,,,40`b,,,50'2
		'"fc,,,10f,,,20a,,,30`c,,,40`e,,,50`g,,,60'1^1'"dd,,,10f,,,20a,,,30b+,,,40`d,,,50`f,,,60'1^1/*'"ba,,,10b,,,20`c+,,,30`e+,,,40`a,,,50'1^1*/
		'"e"b,,,5e,,,10g,,,15b,,,20`d,,,25`f,,,30'1'"dd,,,5f+,,,10a+,,,15`c+,,,20`f+,,,30'1
		'"d-a,,,10d-,,,20a,,,30`c,,,40`f,,,50`g,,,60'1^1r1
		/*'"e"b,,,5e,,,10g,,,15b,,,20`d,,,25`f,,,30'1'"fc,,,5f,,,10a+,,,15`c,,,20`g,,,30'1
		'"gd,,,10g,,,20b+,,,30`d,,,40`f,,,50`b,,,60'1^1r1*/}
STR EF01 = {v64[2
		[3 'cgb`d`e'2'egb`d`f'2'"aeb`c`g'2'"bfb`d`f'4'"gfb+`d`f'4]
		'cgb`d`e'2'egb`d`f'2'"ffa+`c`f'2'"gdgb+`d'2]}
STR EF02 = {v64[2
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'1
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'2:'"afb+`d-`f'2]'"bfa`d`f'2
		Key(+3);[2
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'1
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'2:'"afb+`d-`f'2]'"bfa+`d`f'2
		Key(0);}
STR EF03 = {Sub{v125 o6 <rrcd^^'ce'^'df'^r'eg'16^4|^4>r2rgfg|dfcdr2^4|r4'"c"e'4rrr"f"b"f"bf
				<rrcd^^'ce'^'df'^r'eg'16^4|^4>r2rgfg|dfcdr4rededegb16|^4r<cdef>rfdc"b"g"f|
				<rcdedefgfgb`cgb`c`d|`e`f`f+`f`e`cbgbgfeff+e"b|gfegfec"bf+fef+fe"b32c32"b|"ggfgb32`c32`e`c`f`ggb`c`e`f`g^,199
				r2'b`b'`g`f4^16r|r2'g`g'`f`e`cb4^16|>r"ggfgfgfgbrefgr|fdcdfgb^`c2}
		v90 o4[2
		[3 'ceb'2'deb'2|'cega'2Sub{b4b+4}'df'2]
		'ceb'2'deb'2'cfa+'2'dgb+'2]}
STR EF04 = {v64[2
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'1
		'"g-d-b`d-`f'2'"fea+`d-`a'2|'"bfa`d-`f'2:'"afb+`d-`f'2]
		Sub{'"bfa`d`f'2}v125 o4 rab`d-`e`f`a`f>/*roop out*/
		KeyFlag+(fcgd);Sub{
		fgefgb`c^r2|r-32b32`cbgfegb^r2|g^fgb4b^gb`c4|`c^`e`f`g`f`e`cbgec"g4
		'"bc'4^8,,80ede"bcdefgf|gb`c`e`dbgfgfgeceff+
		gcefgcgfefbefbef|bgfgfec"bc2}v90 o4
		[2
		'ga`c`e'2'fgb+`d+'2|'egb`c'1
		'ga`c`e'2'fgb+`d+'2|'egb`c'2:'egb`c+'2]'egb`d'2
		KeyFlag-(bea);}
STR EF51 = {Sub{v100 o5 [2 fb`f]`c`dgb`c`d fga+`ca`c`e`f|[2 g-b`g-]`d-`eab`d-`e ab`c`ef`fb`c
		rrra'`e`a'4rrra'`d-`a'4|r4`c`d`c`dr4`c`d`f`g|r4fgb`c'b`e'4'b+`f`b'4}v90 o4
		'egb`d'2^4'fa+`c`d'2|'g-b`d-`f'2^4'a`c`e`f'2
		'"bf,,,10a,,,20`c,,,30`e,,,40'2'"b"f,,,10a,,,20`c,,,30`d,,,40'2
		'"eeb`d`f`g'2'"fcfa+`c`f`a+'2|'"gfb+`e`f`b'1}
STR EF52 = {Sub{o5 v100 l8
		r4^8'deg'4^8'egb'4|^4^8'gb`c'4^8'cef'4/*2*/
		v110 r-32d32edefgb`d`f,,80|v100'`c`e'8'g`c`f'4'gb`e'4'gb`d'4'dfb'8/*4*/
		v110 'eg`c'b+`c'gb`d'`e`f`f+`g|'g`c`f'`g`b`f16`f+16`g`f'g`c`e'b/*6*/
		`cg'egb'`cf'eg'be|dega'egb'`c`d`e/*8*/
		r4'b`d,,,3`f,,,6',49`er4'gb,,,3`e,,,6',49`d,49|r4'gb`d'`e`dbge/*10*/
		'eg'2'df'2|'cg'4'"be'4'df'4'eg'4/*12*/
		b`cgfgf+fe|cdefgb`c`d/*14*/
		'`c`e'`f`f+`g'b`f'`e`cb|`cgbf'dg'f'"b+e'^/*16*/'deg'1^1}
		o4 v90 l16
		[4 'cegb'1|'degb'1:'cega'1|'dfb'2'dfb+'2]'cfa+'1|'dgb+'1
		'ce,,,10g,,,20b,,,30'1^1'"ae,,,10a,,,20b,,,30`c,,,40`e,,,50`g,,,60'1^1
		'cg,,,10b,,,20`d,,,30`e,,,40`g,,,50`b,,,60'1^1
		'"ae,,,10a,,,20b,,,30`c,,,40`e,,,50`g,,,60'1^2'"gc,,,10e+,,,20b,,,30`e,,,40`b,,,50'2
		'"fc,,,10f,,,20a,,,30`c,,,40`e,,,50`g,,,60'1^1
		'"dd,,,10f,,,20a,,,30b+,,,40`d,,,50`f,,,60'1'"gd,,,10f,,,20b+,,,30`d+,,,40`f,,,50'1
		'"cc,,,5g,,,10b,,,15`d,,,20`e,,,25`g,,,30'1'"bd,,,5f,,,10a+,,,15`d,,,20`f,,,30'2'"a+e+,,,5g,,,10`c+,,,15`e+,,,20`b+,,,30'2
		'"ae,,,10a,,,20b,,,30`c,,,40`e,,,50`g,,,60'1'"ff,,,10a,,,20`c,,,30`e,,,40`g,,,50`a,,,60'2'"gd,,,10g,,,20b+,,,30`d,,,40`f,,,50`b,,,60'2
		'"cc,,,10g,,,20b,,,30`d,,,40`e,,,50`g,,,60'1^1}
STR EF59 = {v80'"eeb`d`f`g'2^4'"fcfa+`c`d'2|'"g-d-ab`d-`f'2^4'"aea`c`e`f'2
		'"bfa`c`e`g'2'"b"fa`c`d`f'2|'"eeb`d`f`g'2'"fcfa+`c`f`a+'2|'"gfb+`e`f`b'1}
STR EF71 = {Sub{[2 r1]r1'ce''"be'e'"be''ce'fe'gb'|"c'c`c'"c'b`b''g`g''f`f''e`e''c`c'[4 r1]
			r1""c'`e`g`b'r""c'b`e`g'r""c'b`c`f+'""f"f'g`c`f'""g"g'gb`e'""c^}
		[8 '"fcfa`e'2'"gdfb`d'4^8'"cceg`c'8r1]}
STR EF79 = {[2 'cgb`d`e'1'"ffa`c`e'2'"gfb`d`f'2
		'cgb`d`e'1'"ffa`c`e'2'"bfb`d`f'2
		'cgb`d`e'1'"ffa`c`e'2'"gfb+`d`f'2
		'"agb`c`e'1'"bfa`d`f'1]}
STR EF72 = {Sub{'cgb`d`e'1^1^1^1}
		r2"c2,701 o5 l4 q299 degb>|deff+|gb`d,199'g`g',99}
STR EFP7 = {Sub{[(17+64) [4 V.T(120,80,!8,80,120,!8);p%.T(256,-256,!8,-256,256,!8);r4/*1bar*/]]
		[22 V.T(120,80,!8,80,120,!8);p%.T(256,-256,!8,-256,256,!8);r4/*1bar*/]/*bridge*/
		[(32) [4 V.T(120,80,!8,80,120,!8);p%.T(256,-256,!8,-256,256,!8);r4/*1bar*/]]
		[(32+20) [4 V.T(120,80,!8,80,120,!8);p%.T(256,-256,!8,-256,256,!8);r4/*1bar*/]]}}
STR EFP8 = {Sub{[(17+64) [4 V.T(80,120,!8,120,80,!8);p%.T(-256,256,!8,256,-256,!8);r4/*1bar*/]]
		[22 V.T(80,120,!8,120,80,!8);p%.T(-256,256,!8,256,-256,!8);r4/*1bar*/]/*bridge*/
		[(32) [4 V.T(80,120,!8,120,80,!8);p%.T(-256,256,!8,256,-256,!8);r4/*1bar*/]]
		[(32+20) [4 V.T(80,120,!8,120,80,!8);p%.T(-256,256,!8,256,-256,!8);r4/*1bar*/]]}}
TR(7);KeyP;
@6,8,0;
V(80);EP(127);P(0);M(20);p%(0);
REV(50);CHO(20);
o4;l16;q99;v120;t0;r1;EFP7
EF90//17
EF01 EF02 EF03 EF04//64
EF51 EF52//bridge & slow
EF04 EF03 EF71 EF72
//--------------------------------------------------------------------------------------------------
TR(8);KeyP;
@6,8,0;
V(0);EP(127);P(127);M(20);p%(0);
REV(50);CHO(20);
o4;l16;q99;v120;t0;r1;EFP8
EF90
EF01 EF02 EF03 EF04
EF51 EF52//機関車の形式みたいだ
EF04 EF03 EF71 EF72
//==================================================================================================
/*
<<rythm paturn>>
you write a note in 1bar to this STR.
you can compose with the relation in DRUM.
*/
//Solo(10,11,12,13,14)
//--------------------------------------------------------------------------------------------------
//basic
STR B001 = {"b4"b4"b4"b4}
STR B004 = {"b4"b4"b8r16'"bc'16,,,12'"bc'16"b16,,60'"bc'8}
STR B005 = {"b4"b4"b8"b8"b4}
STR S001 = {r4e4r4e4}
STR H001 = {[4 rf+,,60g+f+,,100]/*ra+,,100g+f+,,60*/}
STR H004 = {[3 rf+,,60g+f+,,100][3 f+24,,80]a+8,,100}
STR H005 = {f+8[3 f+24,,80]a+8,,100f+g+,,60[2 rf+,,60g+f+,,100]}
STR T001 = {}
//--------------------------------------------------------------------------------------------------
//Fill-1
STR BFL1 = {}
STR SFL1 = {}
STR HFL1 = {}
STR TFL1 = {}
//--------------------------------------------------------------------------------------------------
//4step to 2step
STR B002 = {[2 "b4^8"b4^8"b4"b4]"b4^8"b16"b16r4^8"b8|"b8^16"b8^16"b8r4^8"b16"b16|"b2^4'"bc'4}
STR S002 = {[2 rre,,80,6e,,100,4|e,,,-2rrr|e,,80,6e,,100,4e,,,-2r|rr32e32,,60ee,,,-2|rrdr]
		r2e2|r2e2|r4^8e24,,40e24,,60e24,,80e2}
STR H002 = {[2 [3 rf+,,60g+,,60f+]|[4 f+]|f+g+,,60a+g,,60]|[3 [4 f+8g+8,,80]]}
STR T002 = {[2 r1^8^16a16]r2r8^16a8^16f8|r8f8,,60f8,,80f8,,100r2|r2^4f4}
STR C002 = {`c+4r1|`a4r1|`g1|r4`a4r4`c+4|v40[4 `e4 v+20]v125}
//--------------------------------------------------------------------------------------------------
STR BD90 = {[6 "b1,,60r2^4"b4,,60]/*12bars*/
		[2 "b2,,80r4^6"b12,,80"b4,,80"b4,,80r2]/*4bars*/
		"b16"b16r4^8r-24"b24"b4"b8^16"b16}
STR BD01 = {[16 B001]}
STR BD02 = {[15 B001]"b1}
STR BD03 = {[7 B001]B004[8 B001]}
STR BD04 = {[8 B001][3 B001]B005[4 B001]}
STR BD51 = {B002}
STR BD52 = {[16 '"bc'8^16'"bc'8^16'"bc'8r4^8'"bc'16'"bc'16|'"bc'2^4'"bc'4]/*32bars*/
		r1^2^4'"bc'4}
STR BD71 = {"b1r1^1^1r-16"b16,,60}
TR(10);KeyFlag+();Key(0);
@27,7,0;
V(120);EP(127);P(64);BR(12);p%(0);
REV(0);CHO(0);
o3;l4;q9;v120;t0;r1
BD90
BD01 BD01 BD03 BD04
BD51 BD52
BD01 BD01 BD02 BD71
//--------------------------------------------------------------------------------------------------
STR SD90 = {[12 r1][2 r2[4 d32,,40]d8,,60r4|r2d2,,80]r16^32e32,,60e,,100eeer8r4d4}
STR SD01 = {[7 [2 r4e4]]r4e4r v50[7 e v+10]
		[7 [2 r4e4]]r4e4r8[3 e24,,100]e,,100ee,,40e}
STR SD02 = {[8 [2 r4e4]]
		[7 [2 r4e4]]r1}
STR SD51 = {S002}
STR SD52 = {[8 r2e2|r4^8e24,,40e24,,60e24,,80e2]
		[8 r4c+4r4r-32c+32,,60c+4|r4c+4r4^8c+8/*2bars*/]r1^2^4e4}
TR(11);KeyFlag+();Key(0);
@33,90,1;
V(120);EP(127);P(64);BR(12);p%(1000);
REV(50);CHO(0);
o3;l16;q9;v120;t0;r1
SD90
SD01 SD02 SD01 SD01
SD51 SD52
SD02 SD01 SD02
//--------------------------------------------------------------------------------------------------
STR HH90 = {[12 r2g+2,,60][4 r4g+4,,60r2]/*16bars*/[4 r8g+8]}
STR HH01 = {[16 H001]}
STR HH02 = {[8 H001]H001|H004[6 H001]}
STR HH03 = {[3 H001]H005[4 H001][8 H001]}
STR HH51 = {H002}
STR HH52 = {[8 a+g+,,60[6 f+,,60][3 g+24,,100]a+g+,,60g+,,80f+[2 g+,,60]
		a+g+,,60[6 f+,,60]a+4a+8,,60g+g+,,60]
		[12 r2g+2,,60][4 r4g+4,,60r2]r1^2^4^8[3 f+24,,60]}
STR HH71 = {r1^1^1^1r-8f+g+,,60}
TR(12);KeyFlag+();Key(0);
@1,0,0;
V(120);EP(127);P(84);BR(12);p%(-1000);
REV(20);CHO(0);
o3;l16;q9;v120;t.onCycle(!16,0,2);r1
HH90
HH01 HH02 HH01 HH03
HH51 HH52
HH03 HH01 HH01 HH71
//--------------------------------------------------------------------------------------------------
STR CC90 = {[8 r2^4`d+6,,100`d+12,,60:r2^4`b6,,100`b12,,60]v5[24 `g24 v+5]v125 r2`e4r4}
STR CC01 = {`c+1[7 r1]`a1[7 r1]}
STR CC02 = {r4`c+2^4[7 r1]`a1[7 r1]}
STR CC03 = {`c+2`a2[7 r1]`e1[6 r1]r4`g4r4`e4}
STR CC51 = {C002}
STR CC52 = {v40[4 `d+4`g4,,100`d+4`d+4|[4 `b4]|[4 `d+4]:`c+4,,60`b4`a4,,60`b4]r1
		v125[2 `d+1,,100r1^1^1r-8[3 `b24,,60]`b1,,100r1^1^1r-8[3 `d+24,,60]]
		`d+1r1}
STR CC71 = {'`c+`a'1,,60r-8[3 `d+24,,60]`d+2,,80`g2,,60`e4^8,,100[3 `b24,,60]`b,,80[7 r1]EP(0);r1`a1}
TR(13);KeyFlag+();Key(0);
@25,0,0;
V(110);EP(127);P(64);BR(12);p%(2000);
REV(70);CHO(10);
o3;l1;q9;v125;t0;r1
CC90
CC01 CC01 CC01 CC01
CC51 CC52
CC03 CC02 CC01 CC71
//--------------------------------------------------------------------------------------------------
STR TM90 = {[4 r1^1^1^8a4^8,,60f2,,50]r2ra32,,60a32,,60r`craff,,100}
STR TM01 = {[7 r1]r2^4^8r-32a32,,60af[7 r1]rrr32`c32,,60`carar|ff,,60`caa,,80ff^,,60}
STR TM02 = {[7 r1]r2^4^8r-32a32,,60af[7 r1]rfaarraf|rfaarr`ca}
STR TM51 = {T002}
STR TM52 = {[2 r1^1^1r2r8a8r16f8^16|r1^1^1^1]
		[16 r1]r1^1}
TR(14);KeyFlag+();Key(0);
@25,0,0;
V(120);EP(127);P(64);BR(12);p%(1500);
REV(40);CHO(100);
o3;l16;q9;v120;t0;r1
TM90
RS16 TM01 RS16 RS16
TM51 TM52
TM02 RS16 TM02
//==================================================================================================

