/*--------------------------------------------------------------------------------------------------------------------------------------

制作：2014年10月

ネット上をさまよっていたところ、
「まずは使う音を3種類に絞ってメロディを書こう」
みたいな感じの、おそらく作曲講座かなにかのWebページのタイトル"のみ"を目にし、
（なるほど！こういうことかな？）
と試しに30分くらいでこの曲を作成しました。

…ところが後から該当のWebページを読んでみると、その意図としては
「1オクターブには12種類も音があって初心者はどこから手をつければいいかわからないと思います。
まずは使う音を何でもいいので3種類選んで、適当でいいので組み合わせてみましょう。それが作曲の第一歩！」
ということだったらしく、
（あ、これ思ってたのとちょっと違うな）
ってなりました。

そんな曲です。
メロディのことしか考えてないので伴奏のテキトーさには目をつぶってください。

--------------------------------------------------------------------------------------------------------------------------------------*/
TrackName={"geed!"};
Copyright={"Nacky"};
MetaText={""};
System.MeasureShift(1);ResetGM;
Tempo(140);
TimeSignature(4,4);
KeyFlag=(000,000,000,000,000,001,000);//G Major
TrackSync;
TimeBase(096);

//_Track Initial Setting
Function TrackSet(Array Set=1,1,127,100,0,0,0,64,0,127,64,0,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)==___){VAR(000);r*%1;}Else{VAR(Set(11));r*%1;};
If(Set(12)==___){o(005);r*%1;}Else{o(Set(12));r*%1;};
If(Set(13)==___){v(100);r*%1;}Else{v(Set(13));r*%1;};
If(Set(14)==___){q(080);r*%1;}Else{q(Set(14));r*%1;};
If(Set(15)==___){BR(002);r*%1;}Else{BR(Set(15));r*%1;};
};

//_グラデーション
Function EG(Array LHL){Expression.onTime(LHL);}
Function RG(Array LHL){Reverb.onTime(LHL);}
Function PG(Array LHL){Panpot.onTime(LHL);}
Function CG(Array LHL){Chorus.onTime(LHL);}
Function MG(Array LHL){Modulation.onTime(LHL);}

//_ユニゾン
Function Unison(Str Uni,Int _key){
Int MK=MML(Key)Sub{Key(MK+_key);Uni;Key(MK)}Uni;};

//_InstrumentName
Function Ins(Str Instr){InstrumentName=Instr};

//------------------------------------------------------------------------------

//	  (Cha,Voi,Exp,Vol,Rev,Cho,Mod,Pan,Res,Cut,Atk,Var,oct,vel,  q, BR);
TR=001;
TrackSet(001,081,127,100,000,000,000,064,000,127,064,000,005,100,099,012);Ins={""};
TR=002;
TrackSet(002,030,127,060,000,000,000,048,000,127,064,000,004,100,099,012);Ins={""};
TR=003;
TrackSet(003,036,127,110,000,000,000,064,000,127,064,000,003,100,099,012);Ins={""};
TR=004;
TrackSet(004,019,127,090,000,000,000,080,000,127,064,000,006,100,099,012);Ins={""};
TR=005;
TrackSet(005,001,127,100,000,000,000,064,000,127,064,000,005,100,099,012);Ins={""};
TR=006;
TrackSet(006,001,127,100,000,000,000,064,000,127,064,000,005,100,099,012);Ins={""};
TR=010;
TrackSet(010,001,127,080,000,000,000,064,000,127,064,000,003,100,099,012);Ins={""};

//------------------------------------------------------------------------------
TR=0;Time(1:1:0);TrackSync;
//------------------------------------------------------------------------------

TR(01)
l01[9r]
l08g^ed^r^^ r^^^^dgd e^dd^"gd^ r^^^^^de
   g^ed^r^^ r^^^^dgd g^rg^dg^ r^^^^deg
   ^^ed^r^^ r^^^^dgd e^gg^eg`d ^^g^e^de
   ^dd^r^^^ r^^^^deg ^^^^^deg ^^r^d."g.d
   
   e^^^e.g.g d^^ded^"g d^^^d.`d.`d g^^^re^g
   e^^^^egd ^^^^^dg"g ^^d^g.e.g `dr`e`d`e`dg`e
   
   ^`d^^^^re gegegeg`d ^d^g^^^^ ^^r^gede
   ^^^redeg ^ddrgeg`d ^gg^geg`d ^gg^ge`e`e
   ^`e`d^^^^^ regegeg`d ^dg^`d`e`d`d ^^r^gede
   ^^^redeg ^ddrgeg`d ^ggr`d^gg r`d^ggr

Function BM(Str CHOR){q40v++ CHOR v--q99};
#GP1={l16 #?1^^^#?1^^#?1^BM{#?1}#?1^#?1^BM{#?1#?1}}
#GP2={l16 #?1^^^#?1^BM{#?1}#?1^BM{#?1}#?1^#?1^^^}

TR(02)
l01r
#GP1('cg`e`g`b') #GP1('cg`e`g`b')
#GP1('"ggb`d`a') #GP1('"ggb`d`a')
#GP1('"ag`c`e') #GP1('"bfb`d`f')
l08'cg`c`e`g''cg`c`e`g'r'cg`c`e`g''cg`c`e`g'r'cg`c`e`g''cg`c`e`g' r'da`c`e`g''da`c`e`g'r p%.T(0,0,!4..,0,-8192,!16)'da`c`e`g'^^^p%(0)

BM{[16'cg'][16'"gd'][16'cg'][13'"gd']}'"gd'p%.T(0,0,!8.,0,-8192,!16)'"gda`d'^p%(0)
#GP2('cg`e`g') #GP2('cg`e`g') #GP2('"ggb`d`g') #GP2('eb`e`g') #GP2('"aeg`c') #GP2('"bfa`d') #GP2('cg`c`e') #GP2('da`c`e')

l01'cg`e`g`b' 'da`d`f`b' '"bf`d`f`a' 'eb`e`g'
l08'cg`c`e'^^'cg`c`e'r'cg`c`e'^'cg`c`e' '"ba`d`f'^^'"ba`d`f'r'"ba`d`f'^'"ba`d`f'
   'cg`c`e''cg`c`e''cg`c`e''cg`c`e''cg`c`e'l16Unison({ab`cbag},12) '`d``d'^r^^^^^r^^^^^^^
   
#GP1('cg`e`g`b') #GP1('da`c`e`g') #GP1('"ggb`d`a') #GP1('egb`d`a')
#GP1('"aeg`c`e') #GP1('"bdg`d`g') #GP1('cg`d`e`g') #GP1('da`c`e`g')
#GP1('cg`e`g`b') #GP1('da`c`e`g') '"ggb`d`a'^^^'"ggb`d`a'^^'"ggb`d`a'BM{'"bfb`d+`a''"bfb`d+`a'}'"bfb`d+`a'^'"bfb`d+`a'^BM{'"bfb`d+`a''"bfb`d+`a'} #GP1('egb`d`a')
#GP1('cg`e`g`b') '"bdg`d`g'^^^'"bdg`d`g'^^'"bdg`d`g'^BM{'"bdg`d`g'}'"bdg`d`g'^'"bdg`d`g'^'cg`e`g`b'^
^^'cg`e`g`b'^'cg`e`g`b'^r^'cg`e`g`b'^^^'cg`e`g`b'^'cg`e`g`b'^ r^'cg`e`g`b'^^^'cg`e`g`b'^'cg`e`g`b'^r^

#GP1('cg`e`g`b') #GP1('cg`e`g`b')
#GP1('"ggb`d`a') #GP1('"ggb`d`a')
#GP1('"ag`c`e') #GP1('"bfb`d`f')
l08'cg`c`e`g''cg`c`e`g'r'cg`c`e`g''cg`c`e`g'r'cg`c`e`g''cg`c`e`g' r'da`c`e`g''da`c`e`g'r p%.T(0,0,!4..,0,-8192,!16)'da`c`e`g'^^^p%(0)
'cg`e`g'1
TR(03)
l08r^^^^d`d&&d
   cccccccc cccccccc
   <gggggggg gggggggg
   aaaaaaaa bbbbbbbb>
   ccrccrcc rddrd"a,40d^
   
   cccccccc cccccccc
   <gggggggg gggggggg>
   cccccccc cccccccc
   <gggggggg gggggggg>
   cccccccc cccccccc
   <gggggggg >eeeeeeee
   <aaaaaaaa bbbbbbbb>
   cccccccc dddddddd
   
   c^^^c^^c drd^^dc^
   "b^^^"b^^e ^^d+^d^c+^
   cccccc^c <bbbbbb^b>
   cccccccc dr^^^^^^
   
   cccccccc dddddddd ggggffff eeeedddd
   <aaaaaaaa bbbbbbbb> ccccccee dddddddc+
   cccccccc ddddcccc "b"b"b"bd+d+d+d+ eeeedddd
   cccccccc <bbbbbb>cd ^ddrd^dd rd^d`d&&d
   
   cccccccc cccccccc
   <gggggggg gggggggg
   aaaaaaaa bbbbbbbb>
   ccrccrcc rddrd"a,40d^
   
   c1

TR(04)
l2.r Div{'"bd'^'ce''df''eg''fa''gb''a`c'}4
l16'b`d'^^^^^^^^^^^^^^^ ^^^^^^'a`c''gb''a`c'^'gb'^'fa'^'eg'^
   'fa'^^^'gb'^'"bd'^^^^^^^^^ ^^^^^'df''eg''fa''gb-'^'fa'^'eg'^'df'^
   'eg'^^^^^'eg''df''eg'^'ce'^'df'^'eg'^ 'fa'^^^^^'fa''eg''df'^'eg'^'fa'^'gb'^
   'b`d'^'b`d'^r^'b`d'^'b`d'^r^'b`d'^'b`d'^ r^'a`c'^'a`c'^r^'a`c'^^^l32'eg'^^'df''ce''"bd''"ac''"g"b'l16

l01[39r]l2.r
l16'b`d'^^^^^^^^^^^^^^^ ^^^^^^'a`c''gb''a`c'^'gb'^'fa'^'eg'^
   'fa'^^^'gb'^'"bd'^^^^^^^^^ ^^^^^'df''eg''fa''gb-'^'fa'^'eg'^'df'^
   'eg'^^^^^'eg''df''eg'^'ce'^'df'^'eg'^ 'fa'^^^^^'fa''eg''df'^'eg'^'fa'^'gb'^
   'b`d'^'b`d'^r^'b`d'^'b`d'^r^'b`d'^'b`d'^ r^'a`c'^'a`c'^r^'a`c'^^^'eg'^^^
   'gb'2.Div{'gb'^'fa''eg''df''ce''"bd''"ac''"g"b'}8.

KeyFlag+();
TR(10)
l08r^^^^cdr
   'c`c+'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'ca+'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'c`g'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'cdg''cdg'r'cdg''cdg'r'cdg''cdg' r'cd''cd'cd16d16bda+
   
   'cf+'f+'cf+'f+'cf+'f+'cf+'f+ 'cf+'f+'cf+'f+'cf+'f+'cf+'f+
   'cf+'f+'cf+'f+'cf+'f+'cf+'f+ 'cf+'f+'cf+'f+16f+16'cf+'f+'cf+'f+
   'cf+'f+'cf+'f+'cf+'f+'cf+'f+ 'cf+'f+'cf+'f+'cf+'f+'cf+'f+16f+16
   'cf+'f+'cf+'f+'cf+'f+'cf+'f+ 'cf+'f+'cf+'f+'cf+'c16c16'd`c+'c
   'c`c+''cf+''da+'f+'ca+''cf+''da+'f+ 'ca+'f+'da+'f+'ca+''cf+''da+'f+
   'ca+'f+'da+'f+'ca+''cf+''da+'f+ 'ca+'f+'da+'f+'ca+''cf+''da+'f+16f+16
   'ca+'f+'da+'f+'ca+''cf+''da+'f+ 'ca+'f+'da+'f+'ca+''cf+''da+'f+
   'ca+'f+'da+'f+'ca+''cf+''da+'f+ 'ca+'f+'da+'f+16d16d`dd16d16`d
   
   'c`d+'^`d+c'd`d+'^`d+c `d+d'c`d+'r'd`d+'^`d+^
   'c`d+'^`d+c'd`d+'^`d+c `d+d'c`d+'r'd`d+'^'c`d+'^
   'c`d+'`d+'d`d+'`d+'c`d+''d`d+'`d+'c`d+' 'c`d+'`d+'d`d+'`d+'c`d+''d`d+'`d+'c`d+'
   'c`d+'`d+'d`d+''c`d+'16d16'cd`d+''cd`d+''cd`d+''cdg' 'cdg'r^^l16ddddddddl08
   
l08S{`c+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+}
l16c^^^d^^crd,80crd^c^ cd,80c^d^^crcr^d^c^ c^^^d^^crd,80crd^c^ c^c^d^^crd,80crd^cd,80
l08S{`d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+}
l16c^^^d^^crd,80crd^c^ cd,80c^d^^crcr^d^c^ c^^^d^^crd,80crd^c^ c^c^d^^crd,80crdddd
l08S{`c+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+}
l16c^^^d^^crd,80crd^c^ cd,80c^d^^crcr^d^c^ c^^^d^^crd,80crd^c^ c^c^d^^crd,80crd^cd,80
l08S{a+`d+`d+`d+`d+`d+`d+`d+ `d+`d+`d+`d+`d+`d+`d+`d+}
l16c^^^d^^crd,80crd^c^ cd,80c^d^^crcr^d^'cd`c+'r r^'cdg'^'cdg'^r^'cd`c+'^^^'cdg'^'cdg'^ r^'cd`c+'^^^dddddd

l08'c`c+'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'ca+'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'c`c+'a+'da+'a+'ca+''ca+''da+'a+ 'ca+''ca+''da+''ca+'a+'ca+''da+'a+
   'cdg''cdg'r'cdg''cdg'r'cdg''cdg' r'cd''cd'r'cd'c'da+'^
   'ca+'1-4`d+16`d+16`d+1

End;
