/*

お久しぶりです。

1年ほど前に曲を投稿しようと思って当時作っていたのですが,、いまいちうまくいかなくて、
その時放置していたデータを掘り起こし、何とか1年越しに仕上げたのでここに投稿します。

もともと没データのはずでしたので、そこまで細部にはこだわらずに完成としました。
（イントロや途中のメロディも、以前に作った曲からの丸ごとコピペだったり・・）
ただ、喋るトラック6だけは結構細かい微調整をしながら作っていきました、正直このトラックだけやりたかっただけです。

喋るトラック6のようにDLSデータを使っているので、インターネット環境のあるPCで、
かつTWM-2で聴かないとうまく再生されないかと思います。

DLSデータは、
曲掲示板id1751番の騎士王321様と、
曲掲示板id1618番のDj Hino様の楽曲データ内からパクってきたものです。
騎士王321様の作られたDLSターミナルなるサイトに上がっているデータを落として再生させているので、
いつかターミナルの方がリンク切れになったら再生できなくなると思います、ご容赦を！
DLSの使い方や作り方などは上記のDj Hino様のデータ内に詳しいことが書かれていました、ものすごく参考になります。

今回の曲はこうした先人のDLSを使ってどんなことができるかな？という試験的なものなので、
次に作る曲はもっとゴリゴリに喋らせたりDLSシンセをグニャグニャ動かしたり・・ということがしたいです！

あまりデータ内にコメントって書かないのですが、
今回は再生時にDLSのダウンロードで時間がかかるかもしれないと思ったのでつらつらと書いてみました。
では！

*/
TrackName={"----------DLS SUMMER!----------"}Copyright={"∴センチメートル"};
ResetGS;TrackSync;Include(gs.h);Include(groove.h);Tempo(124)
//----------------------------------------------------------------
SysEx$ = f0,41,10,42,12,{40,1a,15,02},f7;
SysEx$ = f0,41,10,42,12,{40,1b,15,02},f7;
SysEx$ = f0,41,10,42,12,{40,1c,15,02},f7;
//----------------------------------------------------------------
FUNCTION TD(t){Time(t:1:0)};
FUNCTION TRSET(X1,X2,X3,XA,XB,X4,X5,X6,X7,X8,X9,XC){
TR=X1;CH=X2;@(X3,XA,XB)TrackKey=X4;P=X5;CHO=X6*10REV=X7*10V=(X8)q=(X9)M=(XC*10)TD(2)};
INT K=2;TD=1;
//----------------------------------------------------------------
//GSScaleTuning(40,40,40,40,40,40,40,40,40,40,40,40);
CuePoint={"TwmParam(120,120,40)"}
CuePoint={"TwmChorus(1,64,60,64,64,48,1)"}
CuePoint={"TwmDlsUrl(http://dlsterminal.hp2.jp/DLS/speak_eng_f.dls)"}
CuePoint={"TwmDlsUrl(http://dlsterminal.hp2.jp/DLS/hinoSynthPack1.dls)"}
//----------------------------------------------------------------
//----TR,CH,Ins,Bank,K,Pan,C,R,Vol,Qz,M,//Instrument
TRSET(01,01,099,01,0,K,078,3,2,100,70,5)//Syn Mallet
TRSET(02,02,020,20,2,K,064,1,1,100,99,1)//hinoSynthPack1
TRSET(03,03,003,08,0,K,016,3,1,100,90,2)//Piano 3w
TRSET(04,04,039,01,0,K,064,1,2,090,50,4)//SynthBass101
TRSET(05,05,049,00,0,K,111,1,3,095,99,3)//Strings
TRSET(06,06,127,32,1,0,064,0,2,083,99,0)//speak_eng_f
TRSET(07,07,058,01,0,K,050,1,1,110,99,2)//Trombone 2
TRSET(08,08,001,00,0,0,064,1,2,110,99,1)//S.E.
TRSET(09,09,002,08,0,K,024,1,2,100,90,2)//Piano 2w
TRSET(10,10,026,00,0,0,064,9,1,100,99,0)//Bass Drum
TRSET(11,11,027,00,0,0,070,9,6,100,99,0)//Castanets
TRSET(12,12,025,00,0,0,056,2,2,080,99,0)//HiHat
TRSET(13,13,025,00,0,0,064,1,1,070,99,0)//Snare
TRSET(14,14,096,00,0,K,100,1,3,100,99,3)//Sweep Pad
//----TR,CH,Ins,Bank,K,Pan,C,R,Vol,Qz,M,//Instrument
//----------------------------------------------------------------
STR GEN={
[[Swing16(8)r8gfgr`crgrfrgr:frrr`fr`dr`cra`d`cragrf]`frrr`fr`fr`fr:`g`f`d`cagcr]`f`c`f`gr`f`e``c}
TR(1)Swing16(8)o6l16[8r1];GEN;@(99,1)[GEN][7r1]r2r4l16>cfga#<TrackKey(K+0)GEN;TrackKey(0)
//----------------------------------------------------------------
STR BA={EP.T(0,127,!7)}
STR BB={EP.T(70,127,!6)}
STR BS0={l8[[[BA;"a#a#][BA;c`c][BA;f`f]:[BA;d`d]]:[BA;f`f]]r2}
STR BS00={l8
[4EP.T(127)'"a#a#'8][BA;c`c][BA;f`f][BA;d`d][BA;"a#a#][BA;c`c][4BA;f`f];[[BA;"a#a#][BA;c`c][BA;f`f]:[BA;d`d]]r2}
TR(2)V(110)o2l8[8r1][7r1]r2EP.T(0,127,!3)'f'2
[BS0][4r1]
[BA;"a#a#][BA;c`c][BA;f`f][BA;d`d]EP.W(0,127,!6)g#^^a#^^^EP.T(0,127,!3,127,127,!8,127,0,!5,0,127,!4)`c^^^^^^^^TrackKey(K+0)BS0;TrackKey(0)
//----------------------------------------------------------------
STR PN0={
SUB{l4[[[BB'"a#df'][BB'ceg'][BB'cfa']:[BB'dfa']][BB'cfa']]}
l16>[
'cf'^'cf''cf'r'cf'rr'cf'^'ce'r'ce'^^^;
'gf'^'gf''gf'r'gf'rr'gf'^'af'r'af'^^^;
'ca'^'ca''ca'r    'ca'rr'ca'^'ge'r'ge'^^^;
'`ca'^'`ca''`ca'r'`ca'rr'`ca''`c`d'['`ca'^:`g^]]<}
STR PN1={SUB{l8[4r1]>['ac'^^'cf'^^^^:'fc'^^'af'^^^^][r^]l16>ペダル`a`g`f`cagc"g<放す<}
l8[['"a#df'^^'"a#df'^'ceg'^^:'da`c'^^'ca`c'^^'cfa'^]:'cfa'^^^r'"afa'^^]r1l8}

STR PNK={SUB{l8[4r1]>['ac'^^'cf'^^^^:'fc'^^'af'^^^^][r^]l16>ペダル`a`g`f`cagc"g<放す<}
l8[['"a#df'^^'"a#df'^'ceg'^^:'da`c'^^'ca`c'^^'cfa'^]:'cfa'^^^r'"afa'^^]l16['"fcf`c'^^]'"fcf`c'^'"fcfa`c'2l8}

STR PN11={SUB{l8[4r1]>'ac'^^'cf'^^^^'fc'^^'af'^^^^'"g#"c'^^'"a#"d'^^^'c"f"g'^^^rl16ペダル>`a#`g`f`cgfc"g放す<<}//``d``c`a`f`d`cfc
l8['"a#df'^^'"a#df'^'ceg'^^:'da`c'^^'ca`c'^^'cfa'^]'cfa'^^^r'"afa'^^;'"a#df'^^'"a#df'^'ceg'^^'da`c'^^'ca`c'^^'cfa'^;;'g#`c`d#'^^'a#`d`f'^^^'`c`f`g'^^^^^^^^}
TR(3)STR PPN={Swing16(8)PN1;PNK;[PN0];PN11;TrackKey(K+0)PN0;TrackKey(K)}
<SUB{r8v(60)PPN}v(110)PPN
TR(9)SUB{r4v(60)PPN}v(110)PPN
//----------------------------------------------------------------
STR SF0={Swing16(8)o6[[10c:f`c]`f`e`cg;[9cf`c]fa`f`g`a]}
STR SF1={Swing16(8)o6
[10c:f`c]`f`e`cg;[9cf`c]fa`f`g`a
[10c:f`c]`f`e`cg;[8cf`c]`a`g`f`cagc"g}
STR SF2={Swing16(8)o6
[10c:f`c]`f`e`cg;[9cf`c]fa`f`g`a
[10c:f`c]`f`e`cg;[8cf`c]`a#`g`f`cgfc"g}
TR(4)l16
EP.W(0,127,!43)[SF1];[SF0];SF2;TrackKey(K+0)SF0;TrackKey(2)
//----------------------------------------------------------------
STR ST0={SUB{[`d1a1;`d1;:`f1]r1}SUB{[f2g2`c1;a2g2:a2`c2]r1}["a#2c2f2c2"a#2c2:f1]r1}
STR ST00={SUB{[`d1a1:`d1;`f1]c2d2f1}SUB{[f2g2`c1:a2g2a2`c2]d#2f2g1}["a#2c2f2c2:"a#2c2f1]"g#2"a#2c1}
TR(5)STR SST={[8r1]SUB{[4[8[4BA;r4]]]}ST0;
SUB{[4[8[4BA;r4]]]}[ST0];ST00;TrackKey(K+0)ST0;TrackKey(0)}SST
TR(14)<SST
//----------------------------------------------------------------
STR KS3={[P.onCycle(!4,100,27)l32o3[6o3rBR=20p.T(63,63,!8,62,59,!13)c#^^^^^^]:P(127)p.T(68,72,!8)o1l32f^^^^^^o4;p.T(68,75,!8,64,58,!8)l32f#^^^^^^^^;]P(0)p(67)o4r16d4^8^16
P.onCycle(!4,100,27)l32o3[6o3rBR=20p.T(63,63,!8,62,59,!13)c#^^^^^^]o5p(60)b8^4^16;
P.T(0,127,!1)l64r128o3o3BR=20l64r64p.T(90,127,!1)[16o3BR=20c#^^^]r16-64-128;o2p.T(64,70,8)f4;P(0)o0p.T(64,64,!8,64,55,!6)d2^4
}
TR(6)P.onCycle(!4,127,0)[8r1][8r1][8r1]KS3[8r1]KS3
//----------------------------------------------------------------
STR VL1={[c^^^^^&f^^^^^gfe^e^^^^^&f^^^^^^^rr;c^^^^^&f^^^^^agf^:f^^^f^gf^^^^^^rr]g^a^a#^EP.T(127,127,!1^2,127,0,!3)`c^^^^^^^`c`d`c^^^^^^^^^^^^^^^}
STR VL2={l8rrccfl16cf^^l8faf^g^EP.T(127,127,!1,127,0,!2)f^^^^^^^^^^^^^^rrrr;rrEP(127)ccfl16cf^^l8faf^g^EP.T(127,127,!1^,127,0,!2)a^^^^^^^^^^^^^^rrrr;}
STR VL22={l8rrccfl16cf^^l8faf^g^EP.T(127,127,!1,127,50,!1)f^^^^^^^^^^^^^^^^^^;EP(127)rrddfl16df^^l8f`ca#^a^g^fg#^^g^^^EP.T(127,127,!1^2^4,127,80,!2)f^^^g^^^f^^^^^^^^^^^^}
TR(7)Key(0)Swing16(8)o6l16VL1;[7r1][8r1][8r1]EP(127)VL22;
//----------------------------------------------------------------
STR BG3={V(80)P.T(57,110,!1^1^1^1,110,40,!1^1^1^1)@123,1l1EP.T(30,110,!1^1^1^1,110,60,!1^1^1^1)BR=10p.T(64,64,!1^1^1^1,64,120,!1^1^1^1)
'>>dceg<<'^^^^^^^EP(127)l16p(64)}
STR BG7={P.T(78,30,!1^1,30,127,!1^1)@126,007;o11g1^1^1}
TR(8)Key(0)[4r1]BG3;BG7;r1[8r1][5r1]BG7;[5r1]BG7
//----------------------------------------------------------------
$d{'n41,n45,n36'}
$t{'n70,n85'}
$s{'n42,n69'}
$n{'n51,n46'}
$j{n38}
$q{n49}
$w{n57}
STR D={Rhythm{(V.T(50,100,!46))(p.T(110,20,!20))d}}
STR T={Rhythm{t}}
STR J={Rhythm{j}}
STR Q={Rhythm{q}}
STR W={Rhythm{w}}
STR DR0={[[7D;rrr][D;r]:[7D;rrr]D;rrD][4D;rrr][D;r]rr[D]r4D;rrD}
STR DR00={[[7D;rrr][D;r]:[7D;rrr]D;rrD][4D;rrr][D;r]rr[D]r2}
STR DRE={[4D;r][5D;rrr][D;r][[7D;rrr][D;r]][4D;rrr][D;r]rr[D]r4D;rrD}
TR(10)Key(0)Swing16(8)@(26)BR=15l16[8r1][8r1]
DR0;DR00;[4r1];[8D;r:rr]D;r;;l8;D;rr;D;rrr;D;rrr;D;r;D;D;D;;l16DR0
//----------------------------------------------------------------
STR SR0={l16[14rrrrT;rrr]r1}
TR(11)Key(0)@(41)BR=5p(100)[8r1][5SR0]
//----------------------------------------------------------------
STR SS={Rhythm{(V.T(0,100,!46))s}}
STR N={Rhythm{(V.T(80,100,!46))n}}
STR SN0={[28SS;rN;r]}
STR SN00={[4N;r][26SS;rN;r]}
STR SN1={l16[28Rhythm{('n54,n51');rrr]r1}}
TR(12)Key(0)BR=10p(80)l16@(25)
[8r1]
SUB{l1Q;rrrW;Q;l2W;Q;r1;l16}

SN1;[28;rrSS;r]r1SN0;r1[16;rrSS;r];[12SS;r:N;r]SUB{Q}W;rr1;SUB{Q}SUB{W}SN0;[3SS;rN;r]r4;l1W
//---------------------------------------------------------------
STR SD1={l16p(80)[8J;rrr;J;r:rr]J;r;p.T(80,90,!1^1)[16J;r];p.T(90,127,!1)[16J];l16
p(70)J;rr;J;rrJ;rl4J;l16rrSUB{W}J;J;l16}
TR(13)Key(0)@(17)Swing16(8)[8r1]BR=20SD1
p(70)
SUB{l1Q;rrrW;rrrl16}
[[7l4r4J;l16;]:rrJ;r;J;J;rr]l16[J]rr;rJ;rr

SUB{l1Q;rrrW;rrrl16}
[[7l4r4J;;l16;]rrJ;r;J;rrJ]


SUB{l1Q;rrrW;rl8Q;rr;W;rrr;Q;rrr;W;rrrrl16}
[7l4r4r4;l16;]rrr;r;l16[3J]r
[5l4r4J;;l16;]r4l32[5J]rrrl2r;l16;rrJ;J;J;r[J]

SUB{l1Q;rrrW;rrrl16}
[[7l4r4J;;l16;]:rrJ;r;J;rrJ]l16[J]rJ;r[J]r
