//_初期設定

TrackName     = {"浮幽さくら"}//曲名を書き込みます
Copyright     = {"騎士王321"}//作者の名前を書き込みます
MetaText      = {"基本的にインターネット接続しているコンピュータのみで演奏可能です"}//ひとことコーナーです

CuePoint={"TwmDlsUrl(http://dlsterminal.hp2.jp/DLS/speak_eng_f.dls)"}
CuePoint={"TwmDlsUrl(http://dlsterminal.hp2.jp/DLS/hinoSynthPack1.dls)"}

テンポ 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(40,40,40,40,40,40,40,40,40,40,40,40);//古風な低めのチューニング
GSScaleTuning(64,64,64,64,64,64,64,64,64,64,64,64);//ごく一般的なチューニング
//GSScaleTuning(80,80,80,80,80,80,80,80,80,80,80,80);//YMO風の高めのチューニング

//知る人ぞ知るTW-Music2のパラメータ設定。リバーブとコーラスを扱います
//ReverbSetting    Time Dpth High
CuePoint={"TwmParam(108,116, 20)"}//リバーブ。各値は下記を参照
//ChorusSetting     Wave Mix Dpth FB Freq Dly Phs
CuePoint={"TwmChorus(1,127, 30, 30, 30, 30,  1)"}//コーラス。各値は下記を参照

//Slur(1);//スラーの種類を指定します

//==================================================================================================

//_作曲時に役立つツールたち

//PlayFrom(1:0:0);//途中から演奏するときにつかいます
//Solo();//『,』で複数トラック指定可
//Mute();//『,』で複数トラック指定可

STR KeyP = {KeyFlag-();Key(0);}//各トラックの頭に書き込んでおくと転調するタイプの曲で便利です
STR KEEP = {}//なにもしない
STR RS02 = {r1r1}
STR RS08 = {r%3072}//8小節休み
STR RS04 = {r1r1r1r1}//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拍子が多いから
*/

/*==================================================================================================
XX31	イントロ(4)
XX11	ピアノメロディ(8)
XX91	ベースソロ推移部(2)
XX01	ピアノメロディ(8)
XX51	もう一度繰り返し(8)
*/
//_演奏情報
STR BA01 = {[2
		f4,99&&`f8,99`f8,99&`g8,99g8g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c]
		Key(4);
		f4,99&&`f8,99`f8,99&`g8,99g8g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c
		Key(0);
		f4,99&&`f8,99`f8,99&`g8,99g8g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c}
STR BA11 = {[4
		a4,99&&`a8,99`a8,99&`g8,99g8,29g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c]}
STR BA09 = {Sub{[2 [4 V.T(60,120,!4);r4]]}
		aaaa,19aa,19`g,19`a|`cc,19c,19``cc,19c,19`c``c|ff,19f,19`g+&`g`f,59`c&f|ff,19`fff,19`ffg
		aaaa,19aa,19`g,19`a|`cc,19c,19``cc,19c,19`c``c|dd,19d,19`f&`e`d,59a&d|dd,19`ddd,19`dde}
STR BA21 = {Sub{[2 [4 V.T(60,120,!4);r4]]}
		[3 a^`aa,19a,19`aa,19`a]b^`bb,19`c,19``c`c,19``c}
STR BA31 = {[4 r1]}
STR BA51 = {Key(4);q99
		f4,99&&`f8,99`f8,99&`g8,99g8g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c
		Key(7);q99
		f4,99&&`f8,99`f8,99&`g8,99g8g8,,100g8,99
		`a,99&&a,99`a^a,19`aa,19`a|a,99,100&g,19`g^,99&a,19``c`c,19``c
		Key(0);
		`c2`d2|b2g2|M.T(0,127,!1);e1|^1,101}
STR BA91 = {a4,99&&`a8,99`a8,99&b8,99b8b8,,100`c8,99
		``c2&&`c2}
TR(16);KeyP;
@20,20,2;
V(90);EP(127);P(64);M(0);p%(0);
REV(10);CHO.W(20,60,!8);
o2;l16;q129;v100;t.onCycle(!16,0,3);r1
BA31 BA11 BA91 BA01 BA51
//--------------------------------------------------------------------------------------------------
STR GT01 = {[8 [2 "a"a,19a"ade"a,19g]/*1bar*/]}
STR GT11 = {[8 [2 "a"a,19a"ade"a,19g]/*1bar*/]}
STR GT31 = {[4 [2 "a"a,19a"ade"a,19g]/*1bar*/]}
STR GT51 = {}
STR GT91 = {[2 [2 "a"a,19a"ade"a,19g]/*1bar*/]}
TR(1);KeyP;
@26,0,0;
V(100);EP(127);P(32);M(0);p%(0);
REV(40);CHO(0);
o4;l16;q99;v100;t.onCycle(!16,0,6);r1
GT31 GT11 GT91 GT01 GT51
//--------------------------------------------------------------------------------------------------
STR GS01 = {[8 [2 rgag`crga]/*1bar*/]}
STR GS11 = {[8 [2 rgag`crga]/*1bar*/]}
STR GS31 = {[4 [2 rgag`crga]/*1bar*/]}
STR GS51 = {}
STR GS91 = {[2 [2 rgag`crga]/*1bar*/]}
TR(2);KeyP;
@25,8,0;
V(100);EP(127);P(96);M(0);p%(0);
REV(40);CHO(0);
o5;l16;q99;v100;t.onCycle(!16,0,5);r1
GS31 GS11 GS91 GS01 GS51
/*--------------------------------------------------------------------------------------------------
TR(3);KeyP;
@82,1,0;
V(120);EP(127);P(16);M(0);p%(0);
REV(0);CHO(90);
o5;l4;q99;v120;t0;r1
//--------------------------------------------------------------------------------------------------
TR(4);KeyP;
@82,110,0;
V(120);EP(127);P(112);M(0);p%(0);
REV(0);CHO(90);
o5;l4;q99;v120;t0;r1
--------------------------------------------------------------------------------------------------*/
STR PF01 = {MidiDelay({
		`c`d`cageag|edc"acdeg|aga`cagag|aga`c`d`e`g`e
		`c`d`cageag|edc"acdeg|aga`cagag|aga`c`d`e`g`a
		`c`d`cageag|edc"acdeg|aga`cagag|aga`c`d`e`g`e
		`c`d`cageag|edc"acdeg|aga`cagag|agab-`d`e`g`a
		},3,!8^16);}
STR PF11 = {[8 r1]}
STR PF31 = {[4 r1]}
STR PF51 = {Key(4)MidiDelay({
		`c`d`cageag|edc"acdeg|aga`cagag|a`cagagec
		},3,!8^16);
		Key(7)MidiDelay({
		cdc"a"g"e"a"g|"acdega`cc|"a"g"ac"a"g"a"g|"a"g"acdega
		},3,!8^16);
		Key(0);
		MidiDelay({
		`c`d`cageag|edcdedc"a|"bdedef+ab|ab`dab`d`e`f+|`g+^^^^^^|^^^^^^^^|^^^^^^^^|^^^^^^^^
		},3,!8^16);
		}
STR PF91 = {r1^2r
		MidiDelay({
		"g"acdega
		},3,!8^16);}
STR PF09 = {r'c`c''"bb''"gg'|'"ee'8^16'"gg'8^16'"dd'8'"ee'8^16'"cc'8^16'"dd'8}
TR(5);KeyP;
@20,20,3;
V(80);EP(127);P(64);M(0);p%(0);
REV(90);CHO(120);
o6;l16;q99;v120;t.onCycle(!16,0,6);r1
PF31 PF11 PF91 PF01 PF51
//--------------------------------------------------------------------------------------------------
TR(6);KeyP;
@18,0,0;
V(100);EP(127);P(64);M(0);p%(1024);
REV(0);CHO(100);
o5;l16;q99;v120;t.onCycle(!16,0,6);r1
PF31 PF11 PF91 PF01 PF51
//--------------------------------------------------------------------------------------------------
STR PD01 = {[4 '""fcga`e''""gdgb`e':'""a"aeb`c+'^]
		'""a"aeb`c+''"ccgb-`e'}
STR PD11 = {EP.T(64,127,3072);[4 '""a"aea`d'^^'""g"aea`d']}
STR PD31 = {EP.T(32,64,1536);[2 '""a"aea`d'^^'""g"aea`d']}
STR PD51 = {Key(4);
		'""fcga`e''""gdgb`e'|'""a"aeb`c+'^|'""a-e-gb-`c''""b-"b-fb-`d'|'"cceg`d'^
		Key(0);
		'"ccg`e`g''"dd`e`f+`a''""bbf+`d+`b''""gda`f+``d''""eeb`g+``e'1^1}
STR PD91 = {EP.T(0,127,!1);'"ccg`c`e'1^1}
STR PD99 = {'""a"ag`c`e''"ccg`c`e''""fcfa`e'^'""a"ag`c`e''"ccg`c`e''"ddf+a`e'^}
TR(7);KeyP;
@20,20,3;
V.WR(10,80,!4);EP(127);P(64);M(120);p%(0);
REV(20);CHO(30);
o4;l2;q99;v120;t0;r1
//Sub{[32 [16 V(Random(30,120));r16]]}
PD31 PD11 PD91 PD01 PD51
//--------------------------------------------------------------------------------------------------
TR(8);KeyP;
@49,90,1;
EP(127);P(0);M(10);p%(-256);
REV(120);CHO(100);
o5;l2;q99;v100;t0;r1
Sub{[32 [16 V(Random(30,90));r16]]}
PD31 PD11 PD91 PD01 PD51
//--------------------------------------------------------------------------------------------------
TR(9);KeyP;
@50,90,1;
EP(127);P(127);M(20);p%(256);
REV(120);CHO(100);
o5;l2;q99;v100;t0;r1
Sub{[32 [16 V(Random(30,90));r16]]}
PD31 PD11 PD91 PD01 PD51
//--------------------------------------------------------------------------------------------------
STR DU = {'"d+"g+"a"bc',}
STR BD01 = {[8 [4 DU]]}
STR BD11 = {l16[8 DU rrr|r DU r DU|DU r DU r|r4]l4}
STR BD31 = {[4 r1]}
STR BD51 = {[6 [4 DU]]DU l8^16 DU l48 [3 DU][4 l8 DU]l8^16[3 DU]}
STR BD91 = {Sub{DU}r1^1}
TR(10);KeyFlag-();Key(0);
@27,7,0;
V.W(127,0,!8);EP(127);P(64);BR(12);p%(-4000);
REV(0);CHO(40);
o3;l4;q99;v127;t.onCycle(!16,0,5);r1
BD31 BD11 BD91 BD01 BD51
//--------------------------------------------------------------------------------------------------
STR HH01 = {[8 [4 f+g+a+g+]]}
STR HH11 = {[8 [4 f+g+a+g+]]}
STR HH31 = {[4 r1]}
STR HH51 = {[7 [4 f+g+a+g+]]a+1}
STR HH91 = {[2 [4 r8g+8]]}
TR(11);KeyFlag-();Key(0);
@25,90,1;
V(120);EP(127);P(0);BR(12);p%(0);
REV(0);CHO(0);
o3;l16;q99;v120;t0;r1
Sub{[16 p%.T(1500,-1500,!1,-1500,1500,!1);r1^1]}
HH31 HH11 HH91 HH01 HH51
//--------------------------------------------------------------------------------------------------
TR(12);KeyFlag-();Key(0);
@1,100,0;
V(120);EP(127);P(96);BR(12);p%(0);
REV(0);CHO(0);
o3;l16;q99;v120;t0;r1
Sub{[16 p%.T(0,-1500,!2,-1500,1500,!1,1500,0,!2);r1^1]}
HH31 HH11 HH91 HH01 HH51
//--------------------------------------------------------------------------------------------------
STR SD01 = {[8 [2 r4'""d+dd+'4]]}
STR SD11 = {[8 [2 r4'""d+dd+'4]]}
STR SD31 = {[3 r1]EP.T(0,127,!1);[16 e16]}
STR SD51 = {[6 [2 r4'""d+dd+'4]]r1[3 '""d+dd+'16:[3 d24,,60]]}
STR SD91 = {r1^1}
TR(13);KeyFlag-();Key(0);
@27,90,0;
V.W(120,0,!8);EP(127);P(64);BR(12);p%(-1000);
REV(2);CHO(40);
o3;l4;q99;v120;t0;r1
SD31 SD11 SD91 SD01 SD51
//--------------------------------------------------------------------------------------------------
STR CC01 = {Sub{'`c+`a'}[8 r1]}
STR CC11 = {Sub{'`c+`a',,100}[8 r1]}
STR CC31 = {[4 r1]}
STR CC51 = {'`c+`a'1^1^1^1`c+2`a2`e2`g2'`c+`a'1}
STR CC91 = {r1^1}
TR(14);KeyFlag-();Key(0);
@1,100,0;
V(120);EP(127);P(64);BR(12);p%(4000);
REV(120);CHO(10);
o3;l16;q99;v120;t0;r1
CC31 CC11 CC91 CC01 CC51
//--------------------------------------------------------------------------------------------------
STR VO01 = {[8 r1]}
STR VO11 = {[8 r1]}
STR VO31 = {[4 r1]}
STR VO51 = {Sub{b2""d8`f+8,,,8``cf+}[8 r1]}
STR VO91 = {Sub{b2""d8`f+8,,,8``cf+/*SAKURA It's the virtual power.*/}r1^1}
TR(15);KeyP;
@127,32,1;
V(80);EP(127);P(64);M(0);p%(0);
REV(0);CHO(120);
o5;l4;q99;v120;t0;r1
VO31 VO11 VO91 VO01 VO51
//--------------------------------------------------------------------------------------------------
TR(3);KeyP;
@127,32,1;
V(80);EP(127);P(0);M(0);p%(1024);
REV(60);CHO(120);
o5;l4;q99;v120;t0;r1
Sub{VO31 VO11 VO91 VO01 VO51}r8^16 v-20
Sub{VO31 VO11 VO91 VO01 VO51}r4^8^8^16 v-40
VO31 VO11 VO91 VO01 VO51
//--------------------------------------------------------------------------------------------------
TR(4);KeyP;
@127,32,1;
V(80);EP(127);P(127);M(0);p%(-1024);
REV(60);CHO(120);
o5;l4;q99;v120;t0;r1
Sub{VO31 VO11 VO91 VO01 VO51}r4^8 v-40
Sub{VO31 VO11 VO91 VO01 VO51}r4^8^4^8 v-40
VO31 VO11 VO91 VO01 VO51
/*以下、しゃべる音色のノート割り振り----------------------------------------------------------------
<C0 to B0>
A
Again
Ahead
Alive
All
Am
And
Are
At
B
Best
C

<C1 to B1>
Can
Computer
Cool
Cute
D
Dance
Day
Doller
Down
Dream
E
Energy

<C2 to B2>
F
Fever
G
Get
Give
Go
H
Have
He
Hello
Here
House

<C3 to B3>
House
How
I
Is
It's
J
K
L
Language
Let's
Love
M
Macro

<C4 to B4>
May
Me
Midi
More
Morning
Most
Music
Must
N
Nice
Night
No

<C5 to B5>
Not
O
Of
Or
P
People
Power
Q
R
Rock
S
SAKURA

<C6 to B6>
Say
Shall
She
Smile
T
Technology
The
They
Trance
U
Up
V

<C7 to B7>
Virtual
W
We
With
X
Y
Yes
You
Z
First
Second
Third

<C8 to B8>
One
Two
Three
Four
Five
Six
Seven
Eight
Nine
Ten
Eleven
Twelve

<C9 to B9>
Thirteen
Fourteen
Fifteen
Sixteen
Seventeen
Eighteen
Nineteen
Twenty
Forty
Fifty
Sixty

<C10 to G10>
Seventy
Eighty
Ninety
Hundred
Thousand
Million
Hour
Minute

*/
//ここまで

//↓仕切り線です。ご自由にお使いください
//==================================================================================================
//--------------------------------------------------------------------------------------------------