// 完成日：2025.08.07
//------------------------------------------------------------------------------
// dSakura.dll Version.2.384
//------------------------------------------------------------------------------
//_著作者表記、他
曲名{"Summer adventure"};作者{"レイン望"};コメント{"夏のある日の冒険のイメージです。"};
/*

毎日暑いですね。レイン望です。

さて今回は、Eメジャーキーを主軸にした音階で作りたいという思いから製作し始めた楽曲でございます。
Eメジャーキーといえば、個人的には「夏の日に山へ冒険しに行く」というイメージが先に頭に浮かんでいまして、そんな謎の直感から製作スタート。
作っていく中で、特にギターカッティングの打ち込み、パーカッションの音選び及び調整には何度も悩まされましたが、その分お気に入りの仕上がりになったと思います。

夏の暑い日を存分にお楽しみください！

*/
//------------------------------------------------------------------------------
//_各種初期設定
Include(stdmsg.h);Include(fadeio.h);
音源初期化;拍子(4,4);テンポ(120);
//------------------------------------------------------------------------------
//_演奏時間
#Part_X	={Time(003:1:0)}//演奏開始
#Part_A	={Time(011:1:0)}//Aパート
#Part_A2	={Time(027:1:0)}//A2パート
#Part_B	={Time(043:1:0)}//Bパート
#Part_B2	={Time(051:1:0)}//B2パート
#Part_Y	={Time(059:1:0)}//間奏
#Part_Z	={Time(067:1:0)}//〆
//------------------------------------------------------------------------------
//_トランスポーズ（時間指定型）
/*
	適用時間を指定して、全てのトラックのキーをvalur半音上げる。
	(fromTime)を省略すると現在のタイム、(toTime)を省略すると次に指定があるまでが補完される。
	
	尚、リズムトラックにまで、TimeKeyは適用されてしまうので、リズムトラックでは、TimeKeyを無効にする、"UseKeyShift"を、(off)に設定すること。
	
	↓テンプレ↓
	TimeKey((fromTime),(toTime),(value));//(fromTime)-(toTime)の間、全てのトラックのキーを(value)する
*/
TimeKey((001:1:0),/*省略*/,+4);
TimeKey((043:1:0),/*省略*/,+7);
TimeKey((051:1:0),/*省略*/,+4);
//------------------------------------------------------------------------------
//_【主旋律】音色(PanFlute)
TR(01)CH(01)@76P(64)q100REV(48)CHO(64)v.Random(10)
Str Melo_TR01_1={o6[M(16)g2.M(0)c4|l4fecd|:l8.ec"a8"M(32)g2^1,75M(0)]l8.cea8M(32)g2^1,75M(0)};
Str Melo_TR01_2={o6[M(16)e-2.M(0)c4|M(16)f2M(0)r8g4f8|l8.ef:g8|M(32)c2^1,75M(0)]M(16)g8^8|M(32)c4.^1,75M(0)};
#Part_A;
Melo_TR01_1
#Part_A2;
Melo_TR01_1
#Part_B2;
Melo_TR01_2
#Part_Z;
Melo_TR01_1
//------------------------------------------------------------------------------
//_【主旋律2】音色(NylonGuitar)
TR(02)CH(02)@25P(64)q100v(120)REV(0)CHO(16)v.Random(10)
Slur(0);
Str Melo_TR02_1={o5q100r-8l16cd|e16&f8e8.c8l4"g"a|"g1};
Str Melo_TR02_2={o5q100r-8l16"a"b|l8."b16&c8<ba8,50a4.,75>l16cd|l8.d16&e8dc8l4cd|"bcl8.<bge8|g16&a2-16,75l4ag||l8.e16&f8.-16ed8l4f>d|l8."b"bc8^4.,75l16cd|[l8.d16&e8fe8:l4d"a]d2};
//#Part_A;
Time(014:1:0);Melo_TR02_1
Time(019:1:0);Melo_TR02_2
//#Part_A2;
Time(030:1:0);Melo_TR02_1
Time(035:1:0);Melo_TR02_2
#Part_B;
o4l8r4l16abrb32&`c32^4.`c8|l8.b`c`d8g4r8l16gf|e4.a16&b4^16r8l16`cb|a16&b8a8.^8^2
r4a8g16a16^4.l16a`c|>l8."bcc16&d8."g4c8|d2r8d16&e8d8.|c#1<
//#Part_Z;
Time(070:1:0);Melo_TR02_1
Time(075:1:0);Melo_TR02_2
//------------------------------------------------------------------------------
//_【ベース】音色(FingerBass)
TR(03)CH(03)@34q100o2REV(0)CHO(0)v.Random(10)
Str Base0={l.N(!8.,!8.,!8+2)[eg`c|cea|"acf|:"bdg]r8l.N(!8.,!8.,2)ggg,25};
Str Base1={l.N(!8.,!8.,!8+2)[eg`c|cea|"acf| "bdg]}; 
Str Base2={l.N(!8.,!8.,!4,!8,!8,!8)"acfc"af|"bdgd"bg|"g"be"b"ge|ceaeca||l.N(!8.,!8.,!4,!8,!8,!8)"acfc"af|l.N(!8.,!8.,!8)"g"beaea|l.N(!8.,!8.,!4,!8,!8,!8)"g"be"b"ge|l.N(!8.,!8.,!8)"acfgdg};
Str Base3={l.N(!8.,!16,!8,!16,!8.,!8,!8,!8)["a,70"afcfc"af|"b,70"bgdgd"bg|:"g,70"ge"be"b"ge|c,70caeaeca][(2)c,70caea:eca]`cba};
Str Base4={l.N(!8.,!16,!8,!16,!8.,!8,!8,!8)[ "b-,70"b-g#d#g#d#"b-g#|c,70cafafca|e,70e`cg`cge`c|e,70e`cg`c:ge`c ]`e`d`c};
#Part_X;
Base0
#Part_A;
Base1 | Base2
#Part_A2;
Base1 | Base2
#Part_B;v+10
Base3 | Base4
#Part_Y;v-10
Base0
#Part_Z;
Base1 | Base2
//------------------------------------------------------------------------------
//_【伴奏／ギター左】音色(SteelcGuitar)
TR(04)CH(04)@26V(64)P(0)REV(16)CHO(0)v.Random(10)
Function Gtr1 (Str _CHD){ o4t.N(-2,-1,0,2,4)'_CHD'8.'_CHD'8.,25'_CHD'4'_CHD'8'_CHD'4 };//全音符（1小節）
Function Gtr1A(Str _CHD){ o4t.N(-2,-1,0,2,4)'_CHD'8.'_CHD'8.,25'_CHD'8 };//2分音符
Str GuitarL0 ={ [Gtr1(cg>cg`c<)|Gtr1("aca>ce<)|Gtr1("fcf>cf<)|:Gtr1(dg>dgb<)]r8t.N(-2,-1,0,2,4)'dg>dgb<'8r16t.N(-2,-1,0,2,4)'dg>dgb<'8.t.N(-2,-1,0,2,4)'dg>dgb<'4,25r4 };
Str GuitarL1A={ [Gtr1(cg>cg>c<<)|Gtr1("aca>ce<)|Gtr1("fcf>cf<)| Gtr1(dg>dgb<)] };
Str GuitarL1B={ Gtr1("fcf>cf<)|Gtr1(dg>dgb<)|Gtr1("beb>eg<)|Gtr1("aca>ce<) || Gtr1("fcf>cf<)|Gtr1A("beb>eg<)Gtr1A("aca>ce<)|Gtr1(df>df`d<)|Gtr1(dg>dgb<) };
Str GuitarL2A={ Gtr1("fcf>cf<)|Gtr1(dg>dgb<)|Gtr1("beb>eg<)|Gtr1("aca>ce<) || Gtr1("fcf>cf<)|Gtr1(dg>dgb<)|Gtr1("beb>eg<)|Gtr1("ad-g>d-e<) };
Str GuitarL2B={ [ Gtr1("b-e-g>e-g<)|Gtr1(cf>cfa<)|[Gtr1("gcg>ce<)] ] };
Time(001:1:0);
[Gtr1(eg>cg`c<)]
#Part_X;
GuitarL0
#Part_A;
GuitarL1A | GuitarL1B
#Part_A2;
GuitarL1A | GuitarL1B
#Part_B;
GuitarL2A | GuitarL2B
#Part_Y;
GuitarL0
#Part_Z;
GuitarL1A | GuitarL1B
//------------------------------------------------------------------------------
//_【伴奏／ギター右】音色(SteelcGuitar)
TR(05)CH(05)@26V(64)P(127)REV(16)CHO(0)v.Random(10)
Function Gtr2 (Str _CHD){ o4t.N(-1,0,2,5)'_CHD'8,95[t.N(-1,0,2,5)'_CHD'16,25t.N(5,2,0,-1)'_CHD'16,25]t.N(-1,0,2,5)'_CHD'8,95[t.N(-1,0,2,5)'_CHD'16,25t.N(5,2,0,-1)'_CHD'16,25]t.N(-1,0,2,5)'_CHD'8,95t.N(-1,0,2,5)'_CHD'16,25t.N(5,2,0,-1)'_CHD'16,25 };
Function Gtr2A(Str _CHD){ o4t.N(-1,0,2,5)'_CHD'8,95[t.N(-1,0,2,5)'_CHD'16,25t.N(5,2,0,-1)'_CHD'16,25]t.N(-1,0,2,5)'_CHD'8,95 };
Function Gtr2B(Str _CHD){ o4t.N(-1,0,2,5,8)'_CHD'8,95[t.N(-1,0,2,5,8)'_CHD'16,25t.N(8,5,2,0,-1)'_CHD'16,25]t.N(-1,0,2,5,8)'_CHD'8,95[t.N(-1,0,2,5,8)'_CHD'16,25t.N(8,5,2,0,-1)'_CHD'16,25]t.N(-1,0,2,5,8)'_CHD'8,95t.N(-1,0,2,5,8)'_CHD'16,25t.N(8,5,2,0,-1)'_CHD'16,25 };
Str GuitarR0 ={ [Gtr2(e>ceg<)|Gtr2("aea`c)|Gtr2("fcfa)|:Gtr2("gdgb)]r8t.N(5,2,0,-1)'"gdgb'8r16t.N(5,2,0,-1)'"gdgb'8.t.N(5,2,0,-1)'"gdgb'4,25r4 };
Str GuitarR1A={ [Gtr2(e>ceg<)|Gtr2("aea`c)|Gtr2("fcfa)| Gtr2("gdgb)] };
Str GuitarR1B={ Gtr2("fcfa)|Gtr2("gdgb)|Gtr2("e"beg)|Gtr2("aea`c) || Gtr2("fcfa)|Gtr2A("e"beg)Gtr2A("aea`c)|Gtr2("d"adf)|Gtr2("gdgb) };
Str GuitarR2A={ Gtr2("fcfa)|Gtr2("gdgb)|Gtr2("e"beg)|Gtr2("aea`c) || Gtr2("fcfa)|Gtr2("gdgb)|Gtr2("e"beg)|Gtr2(d-gd-e) };
Str GuitarR2B={ [ Gtr2(e-b->e-g<)|Gtr2(f>cfa<)|[Gtr2(cg>ce<)] ] /*Gtr2(ca>cf<)|Gtr2(db>dg<)|[Gtr2(ca>ce<)]*/ };
Time(001:1:0);
[Gtr2(cg>ce<)]
#Part_X;
GuitarR0
#Part_A;
GuitarR1A | GuitarR1B
#Part_A2;
GuitarR1A | GuitarR1B
#Part_B;
GuitarR2A | GuitarR2B
#Part_Y;
GuitarR0
#Part_Z;
GuitarR1A | GuitarR1B
//------------------------------------------------------------------------------
//_【伴奏／ピアノ】音色(GrandPiano)
TR(06)CH(06)@1V(96)P(32)REV(16)CHO(0)v.Random(10)
Function Chd_Piano1(Str _ChdP){['_ChdP'4.]'_ChdP'4,75};
Function Chd_Piano2(Str _ChdP){ '_ChdP'4.' _ChdP'8,75};
Str Piano_Chd0={[Chd_Piano1("cceg)| Chd_Piano1("acea)|Chd_Piano1("fcfa)|:Chd_Piano1("gdgb)]l8r'"gdgb'r16'"gdgb'8.'"gdgb'2,25};
Str Piano_Chd1={[Chd_Piano1("cceg)| Chd_Piano1("acea)|Chd_Piano1("fcfa)| Chd_Piano1("gdgb)]};
Str Piano_Chd2={[Chd_Piano1("fcfa)|:Chd_Piano1("gdgb)|Chd_Piano1("eegb)| Chd_Piano1("acea)]Chd_Piano2("eegb)Chd_Piano2("acea)|Chd_Piano1("ddfa)|Chd_Piano1("gdgb)};
Str Piano_Chd3={[Chd_Piano1("fcfa)|Chd_Piano1("gdgb)|:Chd_Piano1("eegb)|Chd_Piano1("a`cea)]Chd_Piano1("eea-b`d)|Chd_Piano1("aa`d-eg)||/*Eb_F_C_C*/[Chd_Piano1("e-e-gb-)|Chd_Piano1("ffac)|[Chd_Piano1("cceg)]]};
#Part_X;
q100o4
Piano_Chd0
#Part_A;
Piano_Chd1 | Piano_Chd2
#Part_A2;
Piano_Chd1 | Piano_Chd2
#Part_B;
Piano_Chd3
#Part_Y;
Piano_Chd0
#Part_Z;
Piano_Chd1 | Piano_Chd2
//------------------------------------------------------------------------------
//_【伴奏／ストリングス】音色(Strings2)
TR(07)CH(07)@50V(80)P(96)q100o4REV(8)CHO(0)v.Random(10)
Str Strings_Chd1a={l1['"cceg'|'"acea'|'"fcfa'|:'"gdgb']r1};
Str Strings_Chd3 ={l1['"fcfa'|'"gdgb'|:'"eegb'|'"a`cea']'"eea-b`d'|'"aa`d-eg'||/*Eb_F_C_C*/['"e-e-gb-'|'"ffac'|['"cceg']]};
#Part_X;
Strings_Chd1a
#Part_B;
Strings_Chd3 //EP.T(127,96,!1,96,0,!1)'"cceg'1+1
#Part_Y;
Strings_Chd1a
//------------------------------------------------------------------------------
//_【アルペジオ／ギター】音色(CleanGuitar)
TR(08)CH(08)@28V(112)q105o4REV(64)CHO(0)v.Random(10)
Str GuitarArp0={l.N(!8.,!8.,!8+2)[e&g&`c|c&e&a|"a&c&f|:"b&d&g]r1};
Str GuitarArp1={l.N(!8.,!8.,!8+2)[e&g&`c|c&e&a|"a&c&f| "b&d&g]  };
Slur(3);
#Part_X;
GuitarArp0
#Part_A;
GuitarArp1
#Part_A2;
GuitarArp1
#Part_Y;
GuitarArp0
#Part_Z;
GuitarArp1
//------------------------------------------------------------------------------
//_【アルペジオ】音色(Dulcimer)
TR(09)CH(09)@16V(111)P(127)REV(0)CHO(0)v.Random(10)
Str Arp1={o4l.N(!8,!8,!8,!16,!8,!16,!16,!8,!16,!8)[fa`ca`ca>cfc<a|gb`db`db>dgd<b|:gb`eb`eb>ebge|ceaeaecaea<]gb`db`db>dgd<b|>ceaeaecaea};
Str Arp2={o5[r1^1|l.N(!8,!8,!8,!16,!8.,!8,!8,!8)[cg`cg`cge`c]]};
#Part_B;
Arp1 | Arp2
//------------------------------------------------------------------------------
//_【装飾】ホンキートンクピアノ
TR(14)CH(14)@4,8V(104)P(0)q100REV(32)CHO(32)v.Random(10)
/*#Part_B*/
Time(046:3:0);o4l4'ae''gd'|'fc'2^4."a16c16|'"bd'2^4.c16d16|'ce'2^4.e16g16|'ea'1
//------------------------------------------------------------------------------
//_【装飾】チェレスタ
TR(15)CH(15)@9P(127)q100REV(64)CHO(0)v.Random(10)
Str Celesta1={o7l1r^^r-8l16cd|l8.fec8<l4gag1};
Str Celesta2={o7l4"bcl8.<bge8|a1};
Str Celesta3={o7[l8.e8.fe8:l4d"a]d2};
Str Celesta4={o7l8r1^2^8g4f|e8.f8.gc2^1};Str Celesta4A={o7l8r1^2^8g4f|e8.f8.g4c4.^1};
#Part_X;
Celesta1
//#Part_A;
Time(021:1:0);Celesta2
Time(025:1:0);Celesta3
//#Part_A2;
Time(037:1:0);Celesta2
Time(041:1:0);Celesta3
//#Part_B;
Time(051:1:0);Celesta4
Time(055:1:0);Celesta4A
#Part_Y;
Celesta1
#Part_Z;
Time(077:1:0);Celesta2
Time(081:1:0);Celesta3
//------------------------------------------------------------------------------
//_【装飾】リバースシンバル
TR(16)CH(16)@120P(96)REV(16)CHO(0)
/*#Part_X;*/Time(02:2:0);c1
/*#Part_B;*/Time(42:2:0);c1
/*#Part_Y;*/Time(58:2:0);c1
//------------------------------------------------------------------------------
//_ドラム
UseKeyShift(off)
TR(10)CH(10)@1,0,0o3v.Random(10)
Str DrmPtn1     ={v.N((100,90,75),(100,90,75),(90,75))l8[8f+] r-1 v.N(110,95,100)l8.[c]c8l4re,*,105};
Str DrmPtn2     ={v.N(100,90,75)[6f+8]r4 r-1 v.N((110,95),100,95,(100,90),75)[c8.]c4c8[e16]f+8};
Str DrmPtn2_fil1={v.N(100,90,75)[6f+8]r4 r-1 v.N((110,95),100,100,(100,90),75)[c8.]c4c8[e16]n41,8};
Str DrmPtn2_fil2={v.N(100,90,75)[6f+8]r4 r-1 v.N((110,95),100,100,(100,90),90,100)[c8.]c4c8l16[e]f+e};
Str DrmPtn3_Cymb={n49,0,*,120 v.N(90,100,95,100)l8f+a+ea+ v.N((90,75),100,95,100)[f+16]a+ea+ r-1 v.N(105,90,100)l8[c8.]c8rc,*,100rr};
Str DrmPtn3     ={v.N((90,75),100,95,100)l8[[f+16]a+ea+] r-1 v.N(105,90,100)l8[c8.]c8rc,*,100rr};
Str DrmPtn3_fil1={v.N((90,75),100,95,100)l8[[f+16]a+:ea+]v.N(90,100,105,100)l16eea+e r-1 v.N(105,90,100)l8[c8.]c8rc,*,100rc,*,100};
Str DrmPtn3_fil2={v.N((90,75),100,95,100)l8[[f+16]:a+ea+]v.N(100,(105,105),90,75)a+8'en48,'8n45,16n41,16 r-1 v.N(105,90,100)l8[c8.]c8rc,*,100rc,*,100};
#Part_X;
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] r1
#Part_A;
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil2
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil2
#Part_A2;
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil2
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] v.N(100,90,75,100)[4f+8]r2 r-1 v.N((110,95),100,(100,75),90,95,105)[c8.]c8l16[f+]a+8en57,4.r-2v.N(105,110)l4[c]//転調前フィル
#Part_B;
DrmPtn3_Cymb | [(2)DrmPtn3] | DrmPtn3_fil1
DrmPtn3_Cymb | [(2)DrmPtn3] | DrmPtn3_fil2
DrmPtn3_Cymb | [(2)DrmPtn3] | DrmPtn3_fil1
DrmPtn3_Cymb | [(2)DrmPtn3] | DrmPtn3_fil2
#Part_Y;
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] r1
#Part_Z;
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil2
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil1
n49,0,*,120 [ DrmPtn1 |: DrmPtn2 ] DrmPtn2_fil2
//------------------------------------------------------------------------------
//_パーカッション
TR(26)CH(10)v.Random(10)
Str Bongo1a={[(4)l.N(!8,!16,!16,!8,!8)v.N(60,0,50,70,50)n61,rn61,n60,n61,:l.N(!8,!8,!8,!8)v.N(0,50,60,40)rn61,n60,n61,]l.N(!8,!8,!16,!16,!8)v.N(0,50,60,50,40)rn61,[n60,]n61,|[(3)l.N(!8,!16,!16,!8,!8)v.N(60,0,50,70,50)n61,rn61,n60,n61,l.N(!8,!8,!8,!8)v.N(0,50,60,40)rn61,n60,n61,]r1/*ボンゴ*/};
Str Bongo1 ={[(16)l.N(!8,!16,!16,!8,!8)v.N(60,0,50,70,50)n61,rn61,n60,n61,:l.N(!8,!8,!8,!8)v.N(0,50,60,40)rn61,n60,n61,]l.N(!8,!8,!16,!16,!16,!16,)v.N(0,50,60,50,40,30)rn61,[n60,]n61,n60,/*ボンゴ*/};
#Part_X;
Bongo1a
#Part_A;
Bongo1
#Part_A2;
Bongo1
#Part_B;
Sub{ v.N(100,75)[(128)[n54,16]]/*タンバリン*/ }
Sub{ v.N(90,90,75)[(64)r8[n82,16]]/*シェイカー*/ }
[(4)[(4)l.N(!8,!8,!8)v.N(90,100,75)n80,n81,n80,l.N(!16,!16,!16,!16,!8,!8,!8)v.N(0,75,0,75,100,90,100)[rn80,]n81,:n80,r]n80,n81,]/*トライアングル*/
#Part_Y;
Bongo1a
#Part_Z;
Bongo1
//------------------------------------------------------------------------------
TR(0)CH(1)
Time(075:1:0);FadeoutAll(8);
