//------------------------------------------------------------------------------ // // Piacevole! - PiTTaN-ReMiX - / つーさ // // 対象音源: MU2000 EX // 浪費時間: 3時間ぐらい // // 曲について。 // http://namco-ch.net/mojipittan/ // 大ハマリ。ゲームよりBGMな曲にorz // // データについて。 // sofmapを作ってから、ミキサーとかそのままで // フレーズとコンダクターだけいじったのがコレ。 // sofmapのおまけ的なつもりで作ったんだけど。 // 構成をPEPPERMINTからぱくったせいでそれなり(マテ // あんな音が出せたら素敵だと思う。 // 命をかけてないのがいけないのだろうな。 // Int IsXGBasic = off // XGかつMU100未満はON。(s-yxgとかymf7x4) ドラム関連のみ //------------------------------------------------------------------------------ //_初期設定 TrackName = {"Piacevole! - PiTTaN-ReMiX - / つーさ [MU2000/VSC:p] "} Int Transport = 3; TimeBase = 480; TimeSignature = 4,4; //------------------------------------------------------------------------------ Include(xg.h); Include(MU1000.h); //_リズムマクロの定義 $s{'n(Sticks) n(Snare2)',}; $b{n(Kick1),} $c{n(Cabasa),} $m{n(HandClap)} $t{n(Tambourine),} $h{n(ClosedHiHat),} $o{n(OpenHiHat),} #drL={Rythm { v77 l8 {hhhhhhho} l1r }} #drH={Rythm { (v.onCycle(120,51,41,36,45)) l16 {[4tttt]} v77 l8 {hrhrhrhr} v83 l8 {rorororo} l1r }} #drA={Rythm { v57 l8 {rcrcrcrc} v104 l4 {bbbb} v86 l4 {rsrs} l1r }} #drAA={Rythm { l8 v65 { (n49) rrr rrr v76(n55) v68(n52)} v57 l8 { rcrcrrrr} v104 l4 { bbbb} v86 l16{ rrrr srrs sssr srsr} l1r }} #drAB={ Rythm { v82 l8 { (n55) r (n55) r (n55) (n55) (n55) r v90(n49)} v104 l16{ brrr brrb brbr brrr} v86 l16{ srrr srrs srsr l64 v72 s (v.onTime(48,72,30*15)) [15s] } l1r }} #drB={Rythm { v57 l8 {rcrcrcrc} v104 l4 {bbbb} v86 l4 {rsrs} l1r }} #drC={Rythm{ v74 { [2 l16 rrrr mrrr rrrr mrrr | rrrr mrrr r (v-) m (v+)rr mrrr ] } }} #ChC={'eg`c'} #ChC2={'ceg`c`e'} #ChC3={'eg`c`e'} #ChC7={'cegb'} #ChD3={'dfa`c`f'} #ChD7={'dfa`c'} #ChD2={'fa`d`f'} #ChE72={'eg`b`d`e'} #ChF={'fa`c'} #ChF6={'fa`c`d'} #ChF7={'fa`c`e'} #ChG={'gb`d'} #ChG7={'gb`d`f'} #ChA={'a`c`e'} #LdC={ceg`c} #LdD={dfa`d} #LdE={eg`c`e} #LdF={fa`c`f} #LdG={dgb`d} #LdA={ea`c`e} Str Amelo1 = {r-8 そ しししし しししし し`どっそ っみみふ} Str Amelo2 = {そっそっ みふっそ ー} Str Amelo4 = {そっそそ ふふふみ ー} Str Bmelo1 = {r-4 そそ そーどど ーんそそ そーどど ーん } Str Bmelo2 = {r-4 そそ そどど<そ> どれみみ ーーーー んん} Str Bmelo4 = {r-4 そそ そどどれ ふみれど ーーーー んん} Str Bmelo5 = {r-4 そそ そーどど ーん} Str Imelo1 = { Sub{`そ^^^} ふ1 み1 れ1 み1 } Str Imelo2 = { Sub{`そ^^^^} Sub{r-4`ど^^^ そ4^1 r-1 ど1} ふ1 み1 れ1 ど1^ } Str MojiC1 = { >どっ<そっ> んどっど <し>どれっ どんんん< } Str Synth1 = {んんそー >どらっそ ーーーー そ>れっど ーーーー どらっそ ーーーー ーーーー<<} Str Synth2 = {んんそー >どそーふ ーーみー そどーど ーーーー ど<しーそ ーーーー ーーーー} Str Synth3 = {んんそー >どそーふ ーーみー そどーど ーーーー <し>どーれ ーーみー ふーそー<} Str MeloI1 = {Imelo1} Str MeloI2 = {Imelo2} Str MeloA1 = {Sub{Amelo1}[2r1] Sub{Amelo2} } Str MeloA2 = {Sub{Amelo1}[2r1] Sub{Amelo4} } Str MeloB1 = {Sub{Bmelo1}[2r1] Sub{Bmelo2} } Str MeloB2 = {Sub{Bmelo1}[2r1] Sub{Bmelo4} } Str MeloB3 = { Sub{Bmelo1}[2r1] Sub{Bmelo1} } Str ChrdI1 = { [4#ChF6] [4#ChC3] [4#ChD3] [4#ChC3]} Str BassI1 = { [4f`f][4e`e][4d`d] c`c d`d e`e c`c } Str BassX1 = { c`c d`d e`e c`c } Str BassI2 = { <[4g`g][4a`a]>[2f`f][2g`g][4c`c] } Str SPadI1 = { #ChF6 #ChC3 #ChD3 #ChC3 } Str SPadX1 = { } Str SPadI2 = { #ChG #ChA l2 #ChD2 #ChG7 l1 #ChC3 } Str DrumHX = { [3r1] #drH; } Str DrumHH = { #drH; #drH; #drH; #drH; } Str DrumHL = { #drL; #drL; #drL; #drL; } Str DrumAA = { #drA; #drA; #drA; #drAA;} Str DrumAB = { #drA; #drA; #drA; #drAB;} Str DrumBA = { #drC; #drB; #drB; #drB; #drAA;} Str DrumBB = { #drC; #drB; #drB; #drB; #drAB;} Str DrumBc = { #drA; #drAB; } Str DrumI0 = { Rythm{{v 100 n(49)}} #drAB; } Str LeadI1 = { [4 MojiC1] } // ↓sysEx によるプログラムチェンジ@XG とりあえずPiano@GSを免れる。 Function XGMSB(_pgm){SysEx =$F0, $43,$10,$4C, $08,(Channel-1),$01, (_pgm) ,$F7; } Function XGLSB(_pgl){SysEx =$F0, $43,$10,$4C, $08,(Channel-1),$02, (_pgl) ,$F7;} Function XGPGC(_pgc){SysEx =$F0, $43,$10,$4C, $08,(Channel-1),$03, (_pgc-1),$F7;} Function XGVAR(_pgc){SysEx =$F0, $43,$10,$4C, $14,(Channel-1),$03, (_pgc-1),$F7;} Function TrackParam(_vol,_exp,_pan, _pgc,_pgm,_pgl,_gsc,_gsm, _rev,_cho,_var,_del) { If(_gsc==0){_gsc=_pgc}; V(_vol) r%5 EP(_exp) r%5 P(_pan) r%5 @(_gsc,_gsm) r%5 XGMSB(_pgm)r%5 XGLSB(_pgl)r%5 XGPGC(_pgc) r%5 REV(_rev) r%5 CHO(_cho) r%5 VAR(_del) XGVAR(_var) r%5 // SysEx =$F0, $43,$10,$4C, $08,(Channel-1),$32, $00, $F7; } Function INSERTION_EFFECT_PARAM(_ins,_num,_msb,_lsb){ Int _addr= _num+1;If(_num>10){_addr=21+_num} SysEx=$F0, $43,$10,$4C, $03,(_ins-1),_addr, _msb, $F7 r%5 SysEx=$F0, $43,$10,$4C, $03,(_ins-1),($2E+(_num*2)), _msb, _lsb, $F7 r%5 } Function DeleyLR(_ins,_ch,_dw){ INSERTION_EFFECT_TYPE(_ins,$06,$00); INSERTION_EFFECT_PART_NUMBER(_ins,_ch-1) INSERTION_EFFECT_PARAM(_ins, 1,$07,$1E); // LchDelay = 92.5ms INSERTION_EFFECT_PARAM(_ins, 2,$0E,$3C); // RchDelay = 185.2ms INSERTION_EFFECT_PARAM(_ins, 3,$15,$5A); // FeedBack1 = 277.8ms INSERTION_EFFECT_PARAM(_ins, 4,$1C,$78); // FeedBack2 = 370.4ms INSERTION_EFFECT_PARAM(_ins,10,$00,$40-_dw); // Dry/Wet = D10>W } //------------------------------------------------------------------------------ //_演奏情報 Tempo(120); Time(1:1:0); ResetGM(); ResetGS(); ResetXG(); // リセット // エフェクタ。 Time(1:2:0) XGReverbType($03,$01);r%5 // Rev = Stage2 XGReverbReturnLevel(48); Time(1:2:120) XGChorusType($41,$00); // Cho = Chorus1 Time(1:2:240) XGEffectConnection(XGEffectSYS);r%5 XGVariationType($58,$00); // Var = AMBIENCE Time(1:2:360) SysEx$ =F0, 43,10,4C, 08,08,07, 02, F7;r%5// TR 9 = DrumS1 SysEx$ =F0, 41,10,42,12,{40,1A,15,02},F7;// TR 11 = Rythm @GS Time(1:3:000) DeleyLR(1, 7,16); // Lead Time(1:4:000) DeleyLR(2, 4,24); // Chrd Time(2:1:000) DeleyLR(3, 8,32); // まりお Time(2:2:000) DeleyLR(4,12,32); // Melo2 // 互換性問題回避 phase2 Str _EXP1_ = { // 互換性問題回避 phase1 GS / MU100Native の自動振分をしてみる。XGどうしようorz.. // SysEx$ =F0, 43,10,4C, 08,08,0B, 7F, F7;// TR( 9) Vol=127 // SysEx$ =F0, 43,10,4C, 08,09,0B, 00, F7;// TR(10) Vol=0 // 2part はもったいない。 r%20; NRPN(26,Sticks,0,0); // DrumLevel(Sticks, 0); @ GS r%20; SysEx$ = F0, 43,10,4C, 30,1F,02, 6C, F7; // DrumLevel(Sticks,108); @XG r%20; SysEx$ = F0, 43,10,4C, 30,28,02, 00, F7; // DrumLevel(Snare2, 0); @XG If(IsXGBasic){r%20; XGPGC(26); r%20; NRPN(26,Sticks,0,0);} r%20; DrumEGDecayRate(Kick1,72) r%20; DrumReverbSendLevel(Kick1,20); r%20; DrumReverbSendLevel(Sticks,80); } // ミキサー設定 ( vol,exp,pan, pgc,pgm,pgl,gsc,gsm, rev,cho,var,del) #MX01={ TrackParam( 92,127, 40, 82, 0, 26, 82, 16, 80, 80, 20, 30); o5 l8 v104 q94} // Melo #MX02={r%60 TrackParam( 104,127, 88, 1, 0, 0, , , 70, 40, 32, 40); o6 l8 v104} // SubMelo #MX03={r%120 TrackParam( 86,127, 64, 89, 0, 0, , , 80, 0, 20, 0); o5 l8} // SubMelo (NewAgePad) #MX04={r%180 TrackParam( 116,127, 64, 1, 0,127, , , 50, 10, 20, 16); o4 l4 q30 t240} // chord #MX05={r%240 TrackParam( 116,127, 64, 36, 0, 0, , , 70, 20, 20, 0); o2 l8 q45} // bass #MX06={r%300 TrackParam( 98,127, 64, 90, 0, 0, , , 90, 0, 10, 0); o4 l1 q100} // pad #MX07={r%360 TrackParam( 96,127, 64, 81, 0, 6, 81, 1, 50, 0, 50, 52); o7 l16 q70} // Lead #MX08={r%420 TrackParam( 108,127, 96, 75, 0, 0, , , 80, 40, 60, 60); o7 l8 v110} /* まりお他 #MX09={r%540 TrackParam( 0,127, 64, 28,127, 0, , , 60, 20, 30, 0); XGDrumParam} // XG Drums */ #MX10={r%600 TrackParam( 127,127, 64, 28,127, 0, 31,120, 60, 20, 30, 0); _EXP1_;} // Etc Drums #MX11={r%660 TrackParam( 120,127, 64, 26,127, 0, 31,120, 60, 20, 40, 0); } // HiHat #MX12={r%720 TrackParam( 96,127, 64, 82, 0, 87, , , 60, 60, 30, 20); o5 l8 q92} // SawtoothLead #MX13={r%780 TrackParam( 100,127, 64, 90, 0, 0, , , 90,120, 00, 80); o5 l8} // WarmPad Str _CKey_ = {r-%30; CoarseTune(64+Transport); } Str _CKey2 = {r-%30; CoarseTune(64+Transport+1); } Str ______ = {} Time(2:3:0) TrackSync; //mix Time , Melo ,Sub ,Sub ,Chord ,Bass ,Pad ,Lead ,まりお,XGDrm ,Drums ,HiHat ,Melo2 ,Sub2 Play({[1r2]},#MX01 ,#MX02 ,#MX03 ,#MX04 ,#MX05 ,#MX06 ,#MX07 ,#MX08 ,______,#MX10 ,#MX11 ,#MX12 ,#MX13 );Tempo = 104; Play({[1r1]},_CKey_,_CKey_,_CKey_,_CKey_,_CKey_,_CKey_,_CKey_,_CKey_,______,______,______,_CKey_,_CKey_); Play({[4r1]},MeloB1,______,______,______,______,MeloI1,______,______,______,______,______,______,______); // 3:1:000 Play({[5r1]},MeloB2,______,______,______,______,MeloI2,______,______,______,______,______,______,______);Tempo = 162 Play({[1r1]},______,______,______,______,______,______,______,______,______,______,______,______,______); // 12:1:000 Play({[1r1]},______,______,______,______,______,______,______,______,______,DrumI0,______,______,______); // 13:1:000 Play({[4r1]},______,______,MeloB1,______,BassI1,______,______,______,______,DrumAA,DrumHL,Synth1,______); // 14:1:000 Play({[4r1]},______,______,MeloB2,______,BassI1,______,______,______,______,DrumAB,DrumHL,Synth1,______); Play({[4r1]},______,______,______,______,BassI1,SPadI1,______,______,______,DrumAA,DrumHH,Synth1,______); Play({[4r1]},______,______,______,______,BassI1,SPadI1,______,______,______,DrumAB,DrumHH,Synth1,______); Play({[4r1]},MeloA1,MeloA1,MeloA1,______,BassI1,SPadI1,______,______,______,DrumAA,DrumHL,______,______); Play({[4r1]},MeloA2,MeloA2,MeloA2,______,BassI1,SPadI1,______,______,______,DrumAB,DrumHL,______,______); Play({[4r1]},MeloA1,MeloA1,MeloA1,______,BassI1,SPadI1,______,______,______,DrumAA,DrumHL,MeloA1,______); Play({[4r1]},MeloA2,MeloA2,MeloA2,______,BassI1,SPadI1,______,______,______,DrumAB,DrumHL,MeloA2,______); Play({[4r1]},MeloB1,MeloB1,MeloB1,______,BassI1,SPadI1,______,______,______,DrumAA,DrumHH,MeloB1,______); Play({[4r1]},MeloB2,MeloB2,MeloB2,______,BassI1,SPadI1,______,______,______,DrumAB,DrumHH,MeloB2,______); Play({[4r1]},MeloB1,MeloB1,MeloB1,______,BassI2,SPadI2,______,MeloB3,______,DrumAA,DrumHH,MeloB1,MeloB1); Play({[4r1]},MeloB2,MeloB2,MeloB2,______,BassI2,SPadI2,______,MeloB2,______,DrumAB,DrumHH,MeloB2,MeloB2); Play({[4r1]},Synth2,______,Synth2,______,BassI1,SPadI1,______,______,______,DrumAA,DrumHH,Synth2,Synth2); Play({[4r1]},Synth3,______,Synth3,______,BassI1,SPadI1,______,______,______,DrumAB,DrumHH,Synth3,Synth3); Play({[4r1]},______,______,______,______,______,______,______,Bmelo1,______,DrumAA,______,______,______); Play({[3r1]},______,______,______,______,______,______,______,Bmelo1,______,DrumAB,______,______,______); Play({[1r1]},______,______,______,______,BassX1,SPadX1,______,______,______,DrumI0,______,______,______); Play({[4r1]},MeloB1,MeloB1,MeloB1,ChrdI1,BassI1,SPadI1,______,______,______,DrumAA,DrumHH,______,Synth1); Play({[4r1]},______,______,______,ChrdI1,BassI1,SPadI1,______,______,______,DrumAB,DrumHH,MeloB2,Synth1); Play({[4r1]},MeloB1,MeloB1,MeloB1,ChrdI1,BassI1,SPadI1,______,Bmelo1,______,DrumAA,DrumHH,MeloB1,Synth1); Play({[4r1]},MeloB2,MeloB2,MeloB2,ChrdI1,BassI1,SPadI1,______,Bmelo1,______,DrumAB,DrumHH,MeloB2,Synth1); Play({[4r1]},Synth1,______,Synth1,ChrdI1,BassI1,SPadI1,LeadI1,MeloB1,______,DrumAA,DrumHH,Synth1,Synth1); Play({[4r1]},Synth1,______,Synth1,ChrdI1,BassI1,SPadI1,LeadI1,MeloB2,______,DrumAB,DrumHH,Synth1,Synth1); Play({[4r1]},Synth1,______,Synth1,______,BassI1,SPadI1,LeadI1,MeloB1,______,DrumAA,DrumHL,Synth1,Synth1); Play({[4r1]},Synth1,______,Synth1,______,BassI1,SPadI1,LeadI1,MeloB2,______,DrumAB,______,Synth1,Synth1); TrackSync // ふぃにっしゅ。 TR( 8) Bmelo1; TR( 7) MojiC1; MojiC1; TR(10) #drA Rythm { v82 l8 { (n55) r (n55) r (n55) (n55) (n55) 'n52 n57 n46'} v104 l16{ brrr brrb brbr brrr} v86 l16{ srrr srrs srsr srrr} l1r } //------------------------------------------------------------------------------ //_歌詞とか。 // 歌詞追い機能付きLyric関数。 Function KaraokLyric(Str L0, _brinkSw) { Sub{ r-16 Str _LIBUF = Replace(L0,".",{"",""}, 1); _LIBUF = {"Array LyricLINEBuf = (""}+_LIBUF+{"");"}; _LIBUF; Str LyricBuf={""};r-16;Lyric="";r16; Int _size = SizeOf(LyricLINEBuf); For(Int I=0; I<_size; I++){ LyricBuf = LyricBuf + LyricLINEBuf(I); Lyric = LyricBuf; r; } If(_brinkSw) { Lyric(LyricBuf); rr Lyric("");rr Lyric(LyricBuf); rr Lyric("");rr Lyric(LyricBuf); rr } } } Time(1:1:000) Lyric({"Init TG Module..."})r2 Lyric({""}) l8 Time(4:1:000); r-4 KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"軽..や.か.な.フ.レ.ー.ズ.で"})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"い.つ.ま.で.も.ど.こ.ま.で.も "})[2r1] KaraokLyric({""})[3r1] r4 l16 KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] KaraokLyric({"F.r.o.m. .こ..と..ば..の..パ..ズ..ル.. .も..じ..ぴ..っ..た..ん.."},on);[4r1] KaraokLyric({"M.I.D.I. .D.a.t.a. .B.y. .つ..ー..さ.."},on);[4r1] KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] l8 r-8 KaraokLyric({"午.前..0..時.の.王..国...に..鳴.り.響...か..せ.よ..う."})[4r1] KaraokLyric({"時.計..仕.掛.け.の.両..腕...と..プ.ラ.ス.ティ.ッ.ク.の.体...で"})[4r1] KaraokLyric({"僕..の.最..高..の..ト.ラ.ン.ペッ..ト.兵..隊..仕..込.み..さ"})[4r1] KaraokLyric({"78.......回..転...の..鼓.笛..隊..に..の.せ..て"})[4r1] r8 r-4 KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"軽..や.か.な.フ.レ.ー.ズ.で"})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"い.つ.ま.で.も.ど.こ.ま.で.も "})[2r1] KaraokLyric({"お.も.ちゃ..箱 ....と.び.だ..し.て."})[2r1] KaraokLyric({"パ.レ.ー.ド.は.続..い.て.く."})[2r1] KaraokLyric({"目.を.閉..じ.て ..遠..く..か.ら"})[2r1] KaraokLyric({"き.こ.え.て.く.る.メ.ロ.デ.ィ"})[2r1] KaraokLyric({""}) r4 l16 KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] l8 r-4 KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({""})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({""})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"鮮..や.か.な.ス.ピ.ー.ド.で"})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"君..が.目.を.さ.ま.す.ま.で."})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"軽..や.か.な.フ.レ.ー.ズ.で"})[2r1] KaraokLyric({"Pi.a.ce..vo.le!... Pi.a.ce..vo.le!"})[2r1] KaraokLyric({"い.つ.ま.で.も.ど.こ.ま.で.も "})[2r1] l16 r4 KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1] KaraokLyric({"P.i.a.c.e.v.o.l.e.!. .-. .P.i.T.T.a.N.-.R.e.M.i.X. .-. "},on);[4r1]