TrackName = {"汽車は野原を行く"}; Copyright = {"AMIO"}; /* 汽車が野原の真ん中を走っていく……みたいな雰囲気のウエスタン?風BGM。 */ Int Repeat = 2; // 繰り返し回数を設定できます //-----------------------------variables--------------------------------- Int In = 2;//イントロからメロディースタートまでの時間 Int Ltime = 33;//1ループの時間 Int Out = Ltime*Repeat+In+1;//フェードアウト開始時間 Int Fade = 4;//フェードアウトにかかる時間 Int Tmp = 110;//テンポ Int Sig = 4; Int Ptime = (In+Ltime*Repeat+Fade)*Sig*60/Tmp; //---------------------------functions--------------------------------- Function Repstr(Str MML,Int Tim,Int Rep,Int Beg=0)//MML繰り返し処理関数 { Int I; For(I=0;I<Rep-Beg;I++){ Time((I+Beg)*Tim+In+1:1:0) MML; } } Function PrintPlayTime(Int Tim) { Int Minute = Tim/60; Int Second = Tim%60; If(Tim<60){ Print({"演奏時間:"}+Second+{"秒"}); } Else{Print({"演奏時間:"}+Minute+{"分"}+Second+{"秒"}); } } Function FadeoutVol(Int Mes,Int Prev)// Prev:pre-volume フェードアウト前のメインボリューム { Str I = {!1}; While(Mes>1){I = I+{^1}; Mes--;} Str CMD = {V.onTime(Prev,0,LEN)}; CMD.s({LEN},I); CMD; } Function FadeoutAll(Int Mes,Array X) { Int T = Time; For(Int J=1;J<=16;J++){ TR(J); CH(J); Time(T); FadeoutVol(Mes,X(J-1)); } } //------------------------------system setting--------------------------------- SoundType=1;TimeBase(96);System.MeasureShift(1);Include(guitar.h);Include(gs.h); Time(0:1:0) Tempo(Tmp);TimeSignature(Sig,4);PrintPlayTime(Ptime); ResetGM; r2 ResetGS; r2 TrackSync; //----------------------------------strings----------------------------------- #v1_1 = {v.N(90,0,100,100,95,95,95,95,0)}; #v1_2 = {v.N(90,0,100,100,95,95,95,95,0)}; #v1_3 = {v.N(90,0,100)}; #v1_4 = {v.N(100,100,105,103,90,0)}; #v1_5 = {v.N(100,100,105,110,110,100,100,100,105,105,100)}; #v1_6 = {v.N(100,100,105,115,113,105,105,105,105,100)}; #v1_7 = {v.N(110,0,100,105,0,110,0)}; #v1_8 = {v.N(110,0,115,0,103,0,0,0,110,0,115,105,110,115,0)}; #v1_9 = {v.N(110,0,115,0,103,0,0,0,105,110,115)}; #v1_10 = {v.N(105,0,110,0,117,0,0,117,115,0,110,0)}; #v1_11 = {v.N(115,115,110,110,115,115,110)}; #v1_12 = {v.N(110,110,105,105,110,115,105,0,105)}; #v1_13 = {v.N(110,100,105,105,105,105,110,105,105,105,110,112,115)}; Str TR1In = {l16 o4 [r1]}; Str TR1 = { o4 [l16 [#v1_1 drb2b^a24b24a24g12r24 #v1_2 erg2g^f+24g24f+24e12r24 #v1_3 drb2^4^8,90 r1] l8 [#v1_4 `c`d`e`ca4^8r]: #v1_5 `c`d`e`g`f+`d24`e24`d24ba g2,90r2] #v1_6 `c`d`e`b`a`g24`a24`g24`f+`d l24 #v1_7 `e2r4-24`e`g^r`b^r o5 l24 [#v1_8 a^rb^re^^rrr a^rb^d^^f+a^r : #v1_9 g^ra^rd^^^^^ r4rreg^b] #v1_10 g^ra^r`d^^^^^ rr`d^^^`c^rb^r #v1_11 `c8b8f+8g8 b4,75b8a8,75 #v1_12 a8g8f+^ga^b e4,95r8d8 #v1_13 e8cdcd8e8f+8dede8f+8 g1^4r2^4 }; Str TR1Out = {o4 l16 #v1_1 drb2b^a24b24a24g12r24 #v1_2 erg2g^f+24g24f+24e12r24 #v1_3 drb2^4^8 r1}; #v2_7 = {v.N(100,105,0,110,0)}; #v2_8 = {v.N(110,0,115,0,103,0,0,110,0,115,105,110,115)}; #v2_9 = {v.N(110,0,115,0,103,0,0,0,105,110,115)}; #v2_10 = {v.N(105,0,110,0,117,0,0,117,115,110)}; #v2_11 = {v.N(115,115,110,110,115,115,110)}; #v2_12 = {v.N(110,110,105,105,110,115,105,0,105)}; #v2_13 = {v.N(110,100,105,105,110,105,110,112)}; Str TR2In = {}; Str TR2 = { [23r1] y77(127) l24 o6 r2^4-24 #v2_7 eg^rb^r [#v2_8 a^rb^re^^^rr a^rb^d^^f+a^^ : #v2_9 g^ra^rd^^^^^ r4rreg^b] #v2_10 g^ra^r`d^^^^^ rr`d^^^`c^^b^^ #v2_11 `c8b8f+8g8 b4,75b8a8,75 #v2_12 a8g8f+^ga^b e4,95r8d8 #v2_13 e8c8d8e8f+8d8e8f+8}; Str TR2Out = {}; Str TR3In = {}; Str TR3 = {}; Str TR3Out = {}; Str TR4In = {}; Str TR4 = { //l16 [rgedgec"b rgecgecd rgecgece rgecgece [rgedgec"b rgecgecd]] }; Str TR4Out = {}; Str TR5In = {}; Str TR5 = {}; Str TR5Out = {}; #T2 = {t.N(0,1)}; #T3 = {t.N(0,2,4)}; #T3_ = {t.N(4,2,0)}; Str TR6In = {l24 o5 v90 [r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb']]}; Str TR6 = {v90 [[r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb'] r8[3#T3'ceg'12#T3_'ceg'][rr#T2'ce'][#T3'ceg'12#T3_'ceg'] [r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb']]] [r8[3#T3'cea'12#T3_'cea'][rr#T2'"ad'][#T3'"adf+'12#T3_'"adf+']]: r8[3#T3'cea'12#T3_'cea'][rr#T2'"ad'][#T3'"adf+'12#T3_'"adf+'] r8[3#T3'"bdg'12#T3_'"bdg'][rr#T2'"ad'][#T3'"adf+'12#T3_'"adf+']] r8[3#T3'cea'12#T3_'cea']r8[3#T3'"be-a'12#T3_'"be-a'] r8[3#T3'"beg'12#T3_'"beg'][rr#T2'"be'][#T3'"bea-'12#T3_'"bea-'] v105 [r8[3#T3'"acg'12'"acg']r8[3#T3'"adf+'12#T3_'"adf+'] :r8[3#T3'"g"bf+'12'"g"bf+']r8[3#T3'"beg'12#T3_'"beg']] r8[3#T3'"bdg'12'"bdg']r8[3#T3'"bea-'12#T3_'"bea-'] r8[3#T3'"acg'12'"acg']r8[3#T3'"be-a'12#T3_'"be-a'] r8[3#T3'"beg'12'"beg']r8[3#T3'"e"ac+'12#T3_'"e"ac+'] r8[3#T3'ceg'12'ceg']r8[3#T3'df+a'12#T3_'df+a'] v90 [r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb']]}; Str TR6Out = {r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb'] r8[3#T3'ceg'12#T3_'ceg'][rr#T2'ce'][#T3'ceg'12#T3_'ceg'] [r8[3#T3'dgb'12#T3_'dgb'][rr#T2'dg'][#T3'dgb'12#T3_'dgb']]}; Str TR7In = {}; Str TR7 = {}; Str TR7Out = {}; Str TR8In = {l8 o3 [3grdr]gdef+}; Str TR8 = { [grdrgrab `crgr`crba [4grdr] grdrgrab `crgr`crba [3grdr]grga- arardrdr arardef+d : arardef+d grdrdrar] arar"bc+e-"b "er"bre12`e4-12`db ["arerdrar "grdr"er"br] "arer"brf+rerdr"ar"er crgrdrar [4grdr]}; Str TR8Out = {grdrgrab `crgr`crba [4grdr]}; Str TR9In = {}; Str TR9 = {}; Str TR9Out = {}; #v10_K1 = {v.N(100,0,90,0,100,0,90,0)}; #v10_K1a = {v.N(100,0,90,0,100,0,100,100)}; #v10_K3 = {v.N(110,0,100,0,110,0,105,0)}; #v10_H1 = {v.N(0,100,0,100,0,85,0,100)}; #v10_H1a = {v.N(0,100,0,100,0,85,100,100)}; #v10_H2 = {v.N(0,100,0,95,0,90,0,85)}; #v10_H3 = {v.N(0,108,0,108,0,105,0)}; #v10_C3 = {v.N(0,108,0,0,100,0,0,108,0,0,105,0)}; Str TR10In = {l8 Sub{#v10_K1[4n35r]}Sub{v100[4n37r]}#v10_H1 rn46[3rn42] Sub{#v10_K1a[3n35r]n35n35}Sub{v100[3n37r]n37n37}#v10_H1a rn46[rn42]n42n42}; Str TR10 = {l8 [[8Sub{#v10_K1[4n35r]}Sub{#v10_K1[4n37r]}#v10_H1 rn46[3rn42]]: [4Sub{#v10_K1[4n35r]}Sub{#v10_K1[4n37r]}#v10_H2 [rn46][rn42]]] [3Sub{#v10_K1[4n35r]}Sub{#v10_K1[4n37r]}#v10_H2 [rn46][rn42]] Sub{#v10_K1[n35r]}Sub{#v10_K1[n37r]}v100rn46rn46 l24 Sub{v105n35r4-24[n35rr]}Sub{v105n37rv105n40rrrv105[n40rr]}v105rrn46rrv90n42v105[n46rr] l24 [7Sub{#v10_C3[4r8n39r12]}Sub{#v10_K3[4n35r4-24]}Sub{[#v10_H3 r8n40rn40r8n40r12]}[#v10_H3 r8n46rn46r8n46r12]] l8 [Sub{#v10_K1[4n35r]}Sub{#v10_K1[4n37r]}#v10_H1 rn46[3rn42]]}; Str TR10Out = {[4Sub{#v10_K1[4n35r]}Sub{#v10_K1[4n37r]}#v10_H1 rn46[3rn42]]}; Str TR11In = {}; Str TR11 = {l8 o6 q50 [[[3r1] db^^rrrr] ["acgef+^^^]:"acgbagf+e f+1]"acgbagf+"b e1}; Str TR11Out = {[3r1] db^^rrrr}; Str TR12In = {}; Str TR12 = {}; Str TR12Out = {}; Str TR13In = {}; Str TR13 = {}; Str TR13Out = {}; Str TR14In = {}; Str TR14 = {}; Str TR14Out = {}; #v15_1 = {v.N(90,95,105,95,100)}; #v15_2 = {v.N(90,95,105,95,105,103,100,95,90)}; #v15_3 = {v.N(90,95,100,110,105,105,100,100,90)}; Str TR15In = {y71(80) y74(80) v100 Sub{l8 q90 [r8d1-8]}l8 q90 [r8g1-8]}; Str TR15 = {Sub{q90[v100[r8d1-8r8c1-8[r8d1-8]] l8 [#v15_1 "acecd^^^,80]:#v15_2 "acegf+d"b"a "g2r2] l8 #v15_3 "acegf+d"b"ar1 l24 q96 v105 [4r8"a8][4r8"g8][4r8"a8][r8"g8] q80 rre8,90ee^,90ee^,90e q70 e4e4f+4f+4 q90 e8d8c+8e8"a4,90r8"b8 q70 c4c4d4d4 v100 q90 [r8d1-8] } Sub{[q90v100[8r8g1-8] l8 [#v15_1 cegef+^^^,80]:#v15_2 cegbagf+e f+2r2] l8 #v15_3 cegbagf+dr1 l24 q96 v105 [r8c8][r8d8][4r8"b8][r8c8][r8d8][r8"b8] q80 rra-8,90a-a-^,90a-a-^,90a- q70 a4a4b4b4 q90 b8a8g8b8c+4,90r8d8 q70 e4e4f+4f+4 v100 q90 [r8g1-8] } [24r1] l24 q96 [[r8g8][4r8f+8]:[r8e8]] q80 rr`d8,90`d`d^,90`d`d^,90`d q70 `c4`c4`e-4`e-4 q90 r2e4,90r8 }; Str TR15Out = {Sub{r8d1-8r8c1-8[r8d1-8]}[4r8g1-8]}; Str TR16In = {}; Str TR16 = {}; Str TR16Out = {}; //-----------------------------------Tracks-------------------------------------- /* Track 001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016 */ Array Vols = (115,090,100,070,100,067,100,100,100,100,085,100,100,100,065,075);//各トラックのメインボリューム FOR(Int A=1;A<=16;A++){CH(A); V(Vols(A-1));} #Scr = {Time(1:1:0) #?1In; Repstr(#?1,Ltime,Repeat); Time(Out:1:0) #?1Out;} TR(1) CH(1) Voice(72) M(16) REV(20) CHO(0) P(56) #Scr(TR1) TR(2) CH(2) Voice(41) M(80) REV(10) CHO(0) P(78) #Scr(TR2) TR(3) CH(3) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR3) TR(4) CH(4) Voice(106) M(0) REV(0) CHO(0) P(40) #Scr(TR4) TR(5) CH(5) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR5) TR(6) CH(6) Voice(26) M(0) REV(0) CHO(0) P(104) #Scr(TR6) TR(7) CH(7) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR7) TR(8) CH(8) Voice(34) M(0) REV(0) CHO(0) P(44) #Scr(TR8) TR(9) CH(9) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR9) TR(10) CH(10) Voice(1) REV(0) CHO(0) P(64) #Scr(TR10) TR(11) CH(11) Voice(12) M(0) REV(20) CHO(0) P(96) #Scr(TR11) TR(12) CH(12) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR12) TR(13) CH(13) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR13) TR(14) CH(14) Voice(1) M(0) REV(0) CHO(0) P(64) #Scr(TR14) TR(15) CH(15) Voice(76) M(0) REV(20) CHO(0) P(32) o5 #Scr(TR15) TR(16) CH(16) Voice(76) M(0) REV(20) CHO(0) P(32) o6 #Scr(TR15) //-------------------------------others---------------------------------- Time(Out:1:0) FadeoutAll(Fade,Vols);