/*--------------------------------------------------------------------------------------------------------------------------------------

制作：2020年10月

新曲第2弾。
ダンスミュージックは普段作らない(というか初めて作った)のですが…単調なパターンを組み合わせているだけなのにめちゃくちゃ難しいですねこれ。
テクノのことよくわからないで作ったテクノもどきなので細かいツッコミは勘弁してください。

サクラで投稿する曲はMSGSでもなるべくまともに聞けるようにしようと思っていて、今回それがかなり厳しかったです。
音色の合成だけで16トラックがすぐ埋まっちゃってこれ以上の展開作れなくなったし。MIDIで音圧稼ぐの大変すぎ。
あと今回は打ち込み上サクラの制御構造や組み込み関数に大変助けられております。素晴らしいソフトに感謝。

ちなみにSoundCloudに上げてる音源はSGM-V2.01っていうフリーのSoundFontです。
『月曜、未明。』もそうだったんですが、個人的なこだわりでサクラに投稿する曲は(音量以外は)DAW等の外部ソフトで調整せずMIDIだけで頑張ってます。(今回さすがに調整したかったけど)(特にEQ方面)
SoundFont、SGMの他にも無料でいろんな音色が試せるしある程度コントロールチェンジが使えるものも多いので、おすすめです。

いつもお聴きいただきありがとうございます。それでは。

--------------------------------------------------------------------------------------------------------------------------------------*/
TrackName={"-imitation-"};
Copyright={"Nacky"};
MetaText={""};
System.MeasureShift(1);ResetGM;Time(1:1:0);TrackSync;TimeBase(096);
Tempo(138);TimeSignature(4,4);KeyFlag=(000,000,001,000,000,001,001);//F# Minor
Include(delay.h);
//_Track Initial Setting
Function TrackSet(Array Set=1,1,127,100,0,0,0,64,0,127,64,5,100,80,2){
If(Set(00)==___){Channel(001);r*%1;}Else{Channel(Set(00));r*%1;};
If(Set(01)==___){Voice(001);r*%1;}Else{Voice(Set(01));r*%1;};
If(Set(02)==___){Expression(127);r*%1;}Else{Expression(Set(02));r*%1;};
If(Set(03)==___){MainVolume(100);r*%1;}Else{MainVolume(Set(03));r*%1;};
If(Set(04)==___){Reverb(000);r*%1;}Else{Reverb(Set(04));r*%1;};
If(Set(05)==___){Chorus(000);r*%1;}Else{Chorus(Set(05));r*%1;};
If(Set(06)==___){Modulation(000);r*%1;}Else{Modulation(Set(06));r*%1;};
If(Set(07)==___){Panpot(064);r*%1;}Else{Panpot(Set(07));r*%1;};
If(Set(08)==___){y71(000);r*%1;}Else{y71(Set(08));r*%1;};
If(Set(09)==___){y74(127);r*%1;}Else{y74(Set(09));r*%1;};
If(Set(10)==___){y73(064);r*%1;}Else{y73(Set(10));r*%1;};
If(Set(11)==___){o(005);r*%1;}Else{o(Set(11));r*%1;};
If(Set(12)==___){v(100);r*%1;}Else{v(Set(12));r*%1;};
If(Set(13)==___){q(080);r*%1;}Else{q(Set(13));r*%1;};
If(Set(14)==___){BR(002);r*%1;}Else{BR(Set(14));r*%1;};};
//_グラデーション
Function EG(Array LHL){Expression.onTime(LHL);};
Function PG(Array LHL){Panpot.onTime(LHL);};
//_InstrumentName
Function Ins(Str Instr){InstrumentName={"Instr"}};
//	  (Cha,Voi,Exp,Vol,Rev,Cho,Mod,Pan,Res,Cut,Atk,oct,vel,  q, BR);
TR=001;y0(000);
TrackSet(001,002,120,072,127,127,000,048,000,064,064,005,100,100,012);Ins={"Keyboard"};
TR=002;y0(000);
TrackSet(002,089,120,062,127,127,032,080,080,012,064,005,100,100,012);Ins={"Keyboard"};
TR=003;y0(000);
TrackSet(003,082,120,055,064,064,000,127,127,032,000,004,120,040,012);Ins={"Synth"};
TR=004;y0(000);
TrackSet(004,080,120,055,064,064,000,127,000,064,000,004,120,040,012);Ins={"Synth"};
TR=005;y0(000);
TrackSet(005,036,120,110,127,000,000,064,127,064,032,002,120,120,012);Ins={"Bass"};
TR=006;y0(000);
TrackSet(006,085,120,055,127,000,000,064,064,064,064,003,120,120,012);Ins={"Bass"};
TR=007;y0(000);
TrackSet(007,080,120,070,127,000,000,064,000,064,064,003,100,100,012);Ins={"On-atsu"};
TR=008;y0(000);
TrackSet(008,082,120,070,127,100,024,100,096,064,070,006,120,100,024);Ins={"LeadSynth"};
TR=009;y0(000);
TrackSet(009,024,120,045,127,100,024,027,096,064,070,006,120,100,024);Ins={"LeadSynth"};
TR=010;y0(127);
TrackSet(010,026,120,120,080,000,000,064,000,064,064,003,120,020,024);Ins={"Drums"};
TR=011;y0(000);
TrackSet(011,048,120,080,000,000,000,064,000,064,064,005,120,020,012);Ins={"Kick"};
TR=012;y0(000);
TrackSet(012,120,120,110,064,000,000,064,000,064,064,005,120,100,012);Ins={"R.Cymbal"};
TR=013;y0(000);
TrackSet(013,125,120,095,127,000,000,064,000,064,064,005,120,060,012);Ins={"Noise"};
TR=014;y0(000);
TrackSet(014,008,120,065,127,064,000,064,000,064,064,005,120,040,012);Ins={"Korokoro"};
TR=015;y0(000);
TrackSet(015,008,120,045,127,064,000,127,000,064,064,005,120,040,012);Ins={"Korokoro"};
TR=016;y0(000);
TrackSet(016,008,120,030,127,064,000,127,000,064,064,005,120,040,012);Ins={"Korokoro"};
/***昔懐かしな音の鍵盤。***************************************************************************************************/
#PianoC={l08'"ace'^^^^^^[(#?1)'"a"bd+' ^^^^^^^'"a"bd' ^^^^^^^'"g*"ad' ^^^^^^^'"a"be' ^^^^^^^'"acd+' ^^^^^^^'"a"bd' ^^^^^^^:'"adf*' ^^^^^^^'"ace' ^^^^^^^]'"adf*' ^^^^^^^^};
#PianoM1={l08v120 g^^^^^[ag ^^^^^^fb ^^^^^^`c*a ^^^^^^bg ^^^^^^ab ^^^^^^f`c ^^^^^^:`c`d ^^^^^^`eb ^^^^^^]`d`e ^^^^^^^^v100};
#PianoM2={l08r*^^^^^^v120g ^^^^^^[ag ^^^^^^fb ^^^^^^`c*a ^^^^^^bg ^^^^^^ab ^^^^^^f`c ^^^^^^:`c`d ^^^^^^`eb ^^^^^^]`d`e ^^^^^^^^v100};
#Piano={Time(51:1:0);#PianoC(6);#PianoC(4);#PianoC(2);Time(51:1:0);#PianoM1;Time(114:1:0);#PianoM2;};
TR(001);#Piano;Time(90:1:0);EG(120,0,!1^1^1^1^1)r*1^1^1^1^1 r*1^1^1^1 EP(120) Time(146:3:0);EG(120,0,!2);
TR(002);#Piano;Time(146:3:0);EG(120,0,!2);
/***疑似フィルターいじりシンセ。*******************************************************************************************/
#SynthA1={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(30,120,!1^1,120,30,!1^1,30,120,!1^1,120,30,!1^1)l16[8[16'f`c`e']]}
#SynthA2={PG(127,0,!1.,0,127,!1.,127,0,!1)EG(0,60,!1^1,60,30,!1^1)l16[4[16'f`c`e']]};
#SynthA3={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(30,120,!1^1,120,30,!1^1,30,30,!1^1,30,120,!1^1)l16[8[16'f`c`e']]}
#SynthA4={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(30,120,!1^1^1^1,120,30,!1^1^1^1)l16[4[16'f`c`e']][4[16'f`c`e']]}
#SynthB1={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(120,30,!1^1,30,120,!1^1,120,30,!1^1,30,120,!1^1)l16[8[16'f`c`e']]}
#SynthB2={PG(127,0,!1.,0,127,!1.,127,0,!1)EG(0,30,!1^4,30,20,!2.,20,120,!1^1)l16[4[16'f`c`e']]};
#SynthB3={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(120,30,!1^1,30,120,!1^1,120,120,!1^1,120,30,!1^1)l16[8[16'f`c`e']]}
#SynthB4={PG(0,127,!1.,127,0,!1.,0,127,!1.,127,0,!1.,0,127,!1,127,0,!1)EG(120,30,!1^1^1^1,30,120,!1^1^1^1)l16[4[16'f`c`e']][4[16'f`c`e']]}
TR(003);Time(31:1:0);#SynthA2;[#SynthA1];Time(63:1:0);#SynthA2;[3#SynthA1];#SynthA3;[7#SynthB1];#SynthB4;
TR(004);Time(31:1:0);#SynthB2;[#SynthB1];Time(63:1:0);#SynthB2;[3#SynthB1];#SynthB3;[7#SynthA1];#SynthA4;
/***自分を曲げないタイプのベース。*****************************************************************************************/
#Bass={[4l16r*"fffr*f`ffr*"ff`fr*ff:f]g*};
#Bass2={[4f1]};
#Bass3={EG(0,120,!2.);p%.T(8191,-8192,!2.,-8192,0,!4)'"ff'1};
TR(005);Time(2:1:0);#Bass3[20#Bass];EG(120,0,!1^1^1^1^1^1^1^1);[#Bass];Time(98:1:0);#Bass3;[16#Bass];
TR(006);Time(2:1:0);FineTune(80);#Bass3[20#Bass];EG(120,0,!1^1^1^1^1^1^1^1);[#Bass];Time(98:1:0);#Bass3;[16#Bass];
TR(007);Time(2:1:0);#Bass3[20#Bass2];EG(120,0,!1^1^1^1^1^1^1^1);[#Bass2];Time(98:1:0);#Bass3;[16#Bass2];
/***2秒で考えたメロシンセ。************************************************************************************************/
#PB1={p%.T(-341,0,!4)};#PB2={p%.T(-341,0,!8)};#EPW={EP.W(90,120,!16,120,80,!4.,80,120,!4..);};
#LSynth1={#EPW;l08#PB1 g^^^^^[#PB2 ag ^^^^^^ #PB2 fb ^^^^^^ #PB2`c*a ^^^^^^#PB2 b #PB1 g^^^^^^ #PB2 ab ^^^^^^ #PB2 f`c ^^^^^^ :#PB2`c`d ^^^^^^ #PB2`e #PB1 b ^^^^^^]#PB2`d`e ^^^^^^^^ ^^r*-4.EG(120,0,!4.)r*4.};
#LSynth2={#EPW;l08r*^^^^^^#PB1 g ^^^^^^[#PB2 ag ^^^^^^ #PB2 fb ^^^^^^ #PB2`c*a ^^^^^^#PB2 b #PB1 g^^^^^^ #PB2 ab ^^^^^^ #PB2 f`c ^^^^^^ :#PB2`c`d ^^^^^^ #PB2`e #PB1 b ^^^^^^]#PB2`d`e ^^^^^^^^ ^^r*-4.EG(120,0,!4.)r*4.};
#LSynth3={EG(0,120,!4^1^1,120,0,!1^2.)p%.T(-8192,8191,!2^1^1^1^2)'"bea`d'2^1^1^1^2,,90,,7r*1;EP(120);p%(0);};
TR(008);FineTune(64);Time(51:1:0);#LSynth1;Time(95:1:0);Time(96:3:0);PG(100,27,!1^1,27,100,!1^1);#LSynth3;Time(114:1:0);#LSynth2;
TR(009);FineTune(70);Time(51:1:0);#LSynth1;Time(51:1:0);<#LSynth1>;Time(96:3:0);PG(27,100,!1^1,100,27,!1^1)#LSynth3;Time(114:1:0);#LSynth2;Time(114:1:0);<#LSynth2>;
/***テクノにありがちな雑音。***********************************************************************************************/
#Ring={o.N(05,01,09,06,07,03,02,04,05,01,02,08,07,02,09,01)v.N(30,80,90,50,20,60,40,80,30,30,10,90,50,30,80,40)[4l16rcdd+ef*fg*raa+ba+agg*]};
#Ring2={o.N(05,01,09,06,07,03,02,04,05,01,02,08,07,02,09,01)v.N(30,80,90,50)[4l16c*cdd+ef*fg*gaa+ba+agg*]};
TR(013);P.N(127,0);Time(19:1:0);[8#Ring];Time(67:1:0);[4#Ring];EG(120,0,!1^1^1^1^1^1^1^1);[#Ring];[4r*1];EG(0,120,!1^1^1^1);p%.T(-8192,8191,!1^1^1^1);#Ring2;p%(0);[15#Ring];EG(120,0,!1^1^1);#Ring;
/***テクノにありがちなコロコロしたシンセ。*********************************************************************************/
#Korokoro={MidiDelay({l16r*^^^gab>cegab>cega[10b>ceg<r*^^^^^^^^^^^l01[2r*]l16r*^^^^^^^^^^^"a"bcg ab>cgr^^^^^^^^^^^l01[2r*]:l16r*^^^o5gab>cegab>cega]
[8r*1]l16r*^^^o5gab>cegab>cega[8b>ceg<r*^^^^^^^^^^^l01[2r*]l16r*^^^^^^^^^^^"a"bcg ab>cgr^^^^^^^^^^^l01[2r*]:l16r*^^^o5gab>cegab>cega] o5},4,!4)};
TR(014);P.N(0,64,127);Time(10:1:0);#Korokoro;
TR(015);FineTune(74);P.N(64,127,0);Time(10:1:0);r24;#Korokoro;
TR(016);FineTune(54);P.N(127,0,64);Time(10:1:0);r12;#Korokoro;
KeyFlag+();
/***お得なキック増強キャンペーン。*****************************************************************************************/
#Don2={l04[4p%.T(0,-8192,!4)b0,,60b,,120,,0]};
#Don2D={l04p%.T(0,-8192,!4)b0,,60b,,120,,0 p%.T(0,-8192,!4)b0,,45b,,90,,0 p%.T(0,-8192,!4)b0,,30b,,60,,0 p%.T(0,-8192,!4)b0,,15b,,30,,0};
#Don2C={l04[8p%.T(0,-4096,!8)b0,,60b8,,120,,0]r*1};
TR(011);Time(3:1:0);[48#Don2];Time(59:1:0);[6#Don2];#Don2D;Time(67:1:0);[24#Don2];EG(120,0,!1^1^1^1);[4#Don2];Time(97:1:0);EG(0,120,!1);#Don2C[60#Don2];
/***みんな大好きリバースシンバル君。***************************************************************************************/
#Sah={l8r*^^EG(0,120,!2^8,120,0,!4)p%.T(-2048,0,!2..)g^^^^ ^^r*^^^^^};
#Sah2={l8r*^^EG(0,120,!2^8)p%.T(-2048,0,!2^8)g^^^^ r*^^^^^^^};
TR(012);Time(2:1:0);#Sah;Time(18:1:0);#Sah;[4[6r*1]#Sah];Time(66:1:0);#Sah;[[6r*1]#Sah][8r*1][9[6r*1]:#Sah];#Sah2;
/***テクノってよく知らないけどイメージだけで音を配置したリズム隊。*********************************************************/
#Don={[4"b4,,120]};
#DonD={v.N(120,90,60,30)[4"b4]};
#DonC={r*-1^1For(Int A=40;A<=119;A=A+10;){v(A)"b8}; p%.T(2048,-8192,!4,-8192,8191,!2.)[16"b16,,120]p%(-1024)};
#Ts={v50;v.Random(40)[16f+16]v.Random(0)};
#Chi={[4r*8a+8,,70]};
#Ta={[2r*4d0,,85d+4,,60,4]};
#Shan={`a0,,70};
#Tata={r*-1^1^1For(Int B=0;B<=95;B=B+2;){v(B)e16};};
#Tata2={r*-1^1v65[8e8][16e16]};
TR(010);Time(3:1:0);p%(-1024);
#Shan[8 #Don ][8 S{#Don} #Ts ]
[2 #Shan [8 S{#Don} S{#Ts} S{#Chi} #Ta ]]#Tata2
[2 #Shan [8 S{#Don} S{#Ts} S{#Chi} #Ta ]]#Tata
#Shan[8 #Ts ] [6 S{#Don} #Ts ]S{#DonD} [#Ts] #Tata
[2 #Shan[8 S{#Don} S{#Ts} S{#Chi} #Ta ]]
#Shan[8 S{#Don} S{#Ts} #Ta] EG(120,0,!1^1^1^1,0,120,!1^1^1,120,50,!2,50,120,!2)[4 S{#Don} S{#Ts} #Ta][3#Ts]r*1 #DonC
[2 #Shan[8 S{#Don} S{#Ts} S{#Chi} #Ta ]]#Tata2
[2 #Shan[8 S{#Don} S{#Ts} S{#Chi} #Ta ]]#Tata
[2 #Shan[8 S{#Don} S{#Ts} S{#Chi} #Ta ]]#Tata
#Shan[8 S{#Don} S{#Ts} S{#Chi} #Ta ] #Shan[4 S{#Don} S{#Ts} #Chi ] [4 #Ts ]#Tata;
End;
