// 子犬のワルツ by ななこっち★
// Fryderyk Franciszek Chopin Valse op.64-1
/////////////////////////////////////////////////////////////////////////////////////////
// 各種設定らしきもの
Int MSGS=0
Int TWM2=0
Int TIMIDITY=0
Int LOOP=2
Int KEY=0
Int TEMPORATIO=100
Int TEMPODIFF=0
Int IGNORETEMPO=0
Int BRIGHT=0
Int TINY=0
Int GAKUHU=0
//Int DEBUG=1
//Mute(1,2,3)
// ↑上2行のコメント外すと、メトロノームだけが鳴るなの。どうやって使うかは秘密なの。ぐすぐす;;
////////////////////////////////////////////////////////////////////////////////////////////////
拍子 3,4
曲名{"子犬のワルツ Valse op.64-1"}
作者{"Fryderyk Franciszek Chopin MML by ななこっち★"}
IF(MSGS=1 || TWM2=1) {
ResetGS
}
#METORONOMEMML={M4m4m4}
IF(TINY=1 || GAKUHU=1 || TWM2=1) {
Expression.Frequency(2);
Modulation.Frequency(8);
System.TimeBase=96
} ELSE {
Expression.Frequency(1);
Modulation.Frequency(1);
System.TimeBase=3072
}
#PEDALON={Sub {r32y64,127}}
#PEDALOFF={r-34 y64,0 r34}
///////////////////////////////////////////////////////////////////////////////
// title: "rchord.h" ver 1.01
// description: 和音を下からランダムなタイミングで演奏するインクルードファイル(2015/05/24)
// keywords: SAKURA Function by ななこっち★ @nanakochi123456
// HP: http://nano.daiba.cx/
///////////////////////////////////////////////////////////////////////////////
// rchord.h 和音をランダムなタイミングで演奏する
///////////////////////////////////////////////////////////////////////////////
// Function RCDINIT(min, value)
// 乱数値の最小値、最大値を設定する。両方0にすると、同一タイミングで演奏します。
//
// Function RCD(mml)
// ランダムに演奏したい和音のMMLを入力する
///////////////////////////////////////////////////////////////////////////////
// Example
// Include(rchord.h)
// RCDINIT(53,513)
// l4 RCD(ceg)
// l8 RCD(<b>fg)
// l8 RCD(ceg)
///////////////////////////////////////////////////////////////////////////////
// テストする場合、コメントアウトを消して下さい。
//Int TEST=1
///////////////////////////////////////////////////////////////////////////////
Int RCD_MIN=192
Int RCD_MAX=768
Function RCDINIT(Int MIN, Int MAX) {
RCD_MIN=MIN
RCD_MAX=MAX
}
Function RCD(Str MML) {
Str BUF=""
Str FIRST=""
Str ML=""
Str M
Str R
Str FM
Int C=0
BUF=""
R=""
For(Int i=1; MID(MML, i, 1)!=""; i++) {
M=MID(MML, i, 1)
IF(DEBUG=1||TEST=1) {
Print("Count "+ C + " Str="+M)
}
IF(M="a"||M="b"||M="c"||M="d"||M="e"||M="f"||M="g") {
C++
IF(C<2) {
FIRST=ML
ML=FM+M
FM=""
} ELSE {
BUF=BUF+"Sub" + CHR(123)+R+ML+CHR(125)
IF(RCD_MAX>0) {
R=R+"r"+Random(RCD_MIN, RCD_MAX)
}
ML=M
}
} ELSE {
IF(C>0) {
ML=ML+M
} ELSE {
FM=FM+M
}
}
}
BUF=BUF+"Sub"+CHR(123)+R+ML+CHR(125)+FIRST+"r"
IF(DEBUG=1 || TEST=1) {
Print(BUF)
}
BUF
}
IF(TEST=1) {
TR(1)
Tempo 50
l4
RCDINIT(32,40)
l4 RCD(ceg)
l8 RCD(<b>fg)
l8 RCD(ceg)
RCDINIT(96,425)
l4 RCD(ceg)
l8 RCD(<b>fg)
l8 RCD(ceg)
RCDINIT(193,765)
l4 RCD(ceg)
l8 RCD(<b>fg)
l8 RCD(ceg)
RCDINIT(0,0)
l4 RCD(ceg)
l8 RCD(<b>fg)
l8 RCD(ceg)
}
///////////////////////////////////////////////////////////////////////////////
// title: "rmelody.h" ver 0.25
// description: 単音をランダムな音量とタイミングで演奏するインクルードファイル(2015/05/25)
// keywords: SAKURA Function by ななこっち★ @nanakochi123456
// HP: http://nano.daiba.cx/
///////////////////////////////////////////////////////////////////////////////
// rmelody.h メロディー等をランダムなタイミングで演奏する
///////////////////////////////////////////////////////////////////////////////
// Function RMDINIT(rmin, rmax, vmin, vmax)
// 休符乱数値の最小値、最大値、最小、最大音量設定する。両方0にすると、同一タイミングで演奏します。
//
// Function RMDR(rmin, rmax)
// 休符乱数値の最小値、最大値の設定のみする
//
// Function RNDV(rmin, rmax)
// 音量乱数値の最小値、最大値の設定のみする。
// 同一の値を設定を両方に行うと、固定音量となる。
// rmaxを省略すると、rmin、rmax共に加算、または減算を行なう
//
// rmin, rmaxは与える休符値、vmin, vmaxは与える音量値
// Function RMD(mml)
// ランダムに演奏したいメロディーのMMLを入力する
///////////////////////////////////////////////////////////////////////////////
// Example
// Include(rchord.h)
// RMDINIT(53,513,90,110)
// l4 RMD(ceg)
// RMDV(5)
// l8 RMD(<b>fg)
// RMDV(-5)
// l8 RMD(ceg)
///////////////////////////////////////////////////////////////////////////////
// テストする場合、コメントアウトを消してください。
//Int TEST=1
///////////////////////////////////////////////////////////////////////////////
Int RMD_RMIN=192
Int RMD_RMAX=768
Int RMD_VMIN=95
Int RMD_VMAX=100
Int RMD_CRESC=0
Function RMDINIT(Int RMIN, Int RMAX, Int VMIN, Int VMAX) {
RMD_RMIN=RMIN
RMD_RMAX=RMAX
RMD_VMIN=VMIN
RMD_VMAX=VMAX
RMD_CRESC=0
}
Function RMDCresc(Str STEP) {
RMD_CRESC=STEP
}
Function RMDR(Int RMIN, Int RMAX) {
RMD_RMIN=RMIN
RMD_RMAX=RMAX
}
Function RMDV(Int VMIN, Int VMAX) {
IF(VMAX=0) {
Int TMPMIN=RMD_VMIN
Int TMPMAX=RMD_VMAX
TMPMIN=TMPMIN+VMIN
TMPMAX=TMPMAX+VMIN
IF(TMPMIN < 0) {
TMPMIN=0
}
IF(TMPMIN > 127) {
TMPMAX=127
}
IF(TMPMAX < 0) {
TMPMAX=0
}
IF(TMPMAX > 127) {
TMPMAX=127
}
RMD_VMIN=TMPMIN
RMD_VMAX=TMPMAX
} ELSE {
RMD_VMIN=VMIN
RMD_VMAX=VMAX
}
}
Function RMD(Str MML) {
Str BUF=""
Str FIRST=""
Str ML=""
Str M
Str R
Str VL
Str RRMML
Str RMML
Str FM=""
Int C=0
Str LenStr
Int TOKEN=0
Int TO=0
BUF=""
R=""
For(Int i=1; MID(MML, i, 1)!=""; i++) {
M=MID(MML, i, 1)
// Print("Start Str="+M)
IF((ASC(M)>=48 && ASC(M)<=57) || M="r"||M="."||M="^") {
IF(TO>=1) {
LenStr=LenStr+M
//Print("LenADD:"+LenStr)
}
ML=ML+M
} ELSE {
IF((ASC(M)>=97 && ASC(M)<=103)) {
//Print("Note:"+M)
TOKEN++
TO=1
FM=RRMML+VL+ML+RMML
IF(TOKEN>1) {
C++
IF(FM!="") {
BUF=BUF+"Sub{"+FM+"}r"+LenStr
}
// TO=0
TOKEN=0
} ELSE {
BUF=BUF+ML
}
LenStr=""
ML=M
IF(RMD_RMAX>0) {
R=Random(RMD_RMIN, RMD_RMAX)
IF(Random(0,10)<5) {
RRMML="r-"+R
RMML="r"+R
} ELSE {
RRMML="r"+R
RMML="r-"+R
}
}
VL="v"+Random(RMD_VMIN, RMD_VMAX)
RMDV(RMD_CRESC,0)
} ELSE {
//Print("Other:"+M)
ML=ML+M
IF(TO=1) {
TO=2
}
IF((ASC(M)>=97 && ASC(M)<=103) || M="r" || (ASC(M)>=48 && ASC(M)<=57) || M="." ||M="^"|| M="-"||M="#") {
} ELSE {
TO=0
}
}
}
IF(DEBUG=1||TEST=1) {
Print("Token "+ TOKEN + " Count "+ C + " Str="+M+" ML="+ML+" Len="+LenStr+" TO="+TO+" BUF="+BUF)
}
}
FM=RRMML+VL+ML+RMML
IF(FM!="") {
BUF=BUF+"Sub{"+FM+"}r"+LenStr
}
IF(DEBUG=1 || TEST=1) {
Print(BUF)
}
BUF
}
IF(TEST=1) {
#basemml={
l8
[4 RMD(cdefgfed) RMDV(-5)]
RMDV(15)
RMD(c4g4f4d4)
}
TR(1)
Tempo 120
o6
// 下手過ぎあひゃひゃ
RMDINIT(32,40,70,110)
#basemml
// まぁまぁ
RMDINIT(96,425,70,110)
#basemml
// 上手
RMDINIT(193,765,100,110)
#basemml
// DTM
RMDINIT(0,0,110,110)
#basemml
TR(2)
Tempo 120
o4
// 下手過ぎあひゃひゃ
RMDINIT(32,40,70,110)
#basemml
// まぁまぁ
RMDINIT(96,425,70,110)
#basemml
// 上手
RMDINIT(193,765,100,110)
#basemml
// DTM
RMDINIT(0,0,110,110)
#basemml
TR(10)
$M{n(MetronomeBell),}
$m{n(MetronomeClick),}
[40
Rythm{M4m4m4m4}
]
}
///////////////////////////////////////////////////////////////////////////////
// title: "tempo.h" ver 1.1
// description: TempoChange非互換高機能テンポチェンジ機能インクルードファイル(2015/05/28)
// keywords: SAKURA Function by ななこっち★ @nanakochi123456
// HP: http://nano.daiba.cx/
///////////////////////////////////////////////////////////////////////////////
// tempo.h デバッグ機能付きテンポチェンジ
// (サクラに TempoChange がありますが、その高機能版です)
//
// Include前に、以下の変数を定義して下さい。
//
// ・Int DEBUG=0 // 1 でメトロノームがなります、2 でテンポチェンジ時にうるさい雑音が鳴ります
// (メトロノームは10000小節で終了します、4/4 を前提に作成されています。)
//
// ・Int TEMPORATIO
// ベーステンポの割合を%で設定します。(100がデフォルト。)
//
// ・Int TEMPODIFF
// ベーステンポを設定して、外部よりテンポを制御したい場合、TEMPODIFF に 整数値 (-~+)を設定します。
//
// ・Int IGNORETEMPO
// IGNORETEMPO=1 にすると、テンポチェンジを無効にします。
//
// #METORONOMEMML
// メトロノームのリズムMMLを設定できます。3拍子にする時等使用します。
// (M=表拍、m=裏拍)
//
// ※テンポチェンジは、専用のトラックを作成することをお勧めします。
///////////////////////////////////////////////////////////////////////////////
// Function TmpChange(tempo, len)
// テンポをチェンジします。
// 前のテンポは自動的に読み込まれます
// 即時チェンジする場合には、lenを 0 にします。
// それ以外は、!2 !4. 等を指定します。
//
// Function TmpChangeR(tempo, len)
// テンポをチェンジして、len分の休符を置きます。
///////////////////////////////////////////////////////////////////////////////
// テストするときは、以下のコメントを全て外してください。
//Int TEST=1
//Int DEBUG
//Int TEMPORATIO=100
//Int IGNORETEMPO=0
//Int TEMPODIFF=0
///////////////////////////////////////////////////////////////////////////////
//#METORONOMEMML={M4m4m4}
IF(#METORONOMEMML="") {
#METORONOMEMML={M4m4m4m4}
}
IF(TEST=1) {
DEBUG=2
Tempo 200
}
IF(DEBUG>=1) {
IF(DEBUG=2) {
#DEBUGMML1={Sub{@1v90V(127)'v90o5do6fo7a#o8d'}}
#DEBUGMML2={Sub{@1v90V(127)'v90o5co6eo7g#o8c'}}
#DEBUGMML3={Sub{@1v127V(127)'v127o4cdefgabo6cdefgab'}}
}
TR(10)
$M{n(MetronomeBell),}
$m{n(MetronomeClick),}
[10000
Rythm{#METORONOMEMML}
]
}
Function TmpChangeR(tempo, len) {
TmpChange(tempo, len)
r%(len)
}
Function TmpChange(tempo, len) {
IF(len=0) {
IF(DEBUG=2) {
#DEBUGMML1
}
} ELSE {
IF(DEBUG=2) {
#DEBUGMML2
}
}
IF(len=0) {
IF(!(IGNORETEMPO<>1)) {
IF(TEMPORATIO=0) {
Tempo=tempo+TEMPODIFF
} ELSE {
Tempo=(tempo*TEMPORATIO)/100+TEMPODIFF
}
}
} ELSE {
IF(!(IGNORETEMPO<>1)) {
Int TT1=Tempo
Int TT2
IF(TEMPORATIO=0) {
TT2=tempo+TEMPODIFF
} ELSE {
TT2=(tempo*TEMPORATIO)/100+TEMPODIFF
}
Int TTDIFF=(TT2 - TT1)
Int TTSTEP=TTDIFF
IF(TTSTEP < 0) {
TTSTEP=-TTDIFF
}
Int TTR=len / TTSTEP
For(Int I=1; I < TTSTEP; I++) {
Sub {
r%(I*TTR)
IF(TTDIFF < 0) {
TT1 = TT1 - 1;
} ELSE {
TT1 = TT1 + 1;
}
Tempo = TT1;
}
}
Sub{
r%(len)
IF(TEMPORATIO=0) {
Tempo=tempo+TEMPODIFF
} ELSE {
Tempo=tempo*TEMPORATIO/100+TEMPODIFF
}
}
}
}
}
IF(TEST=1) {
TR(1)
TmpChange(100,0)
o5l8cdefgfed
TmpChange(120,!2)
o5l8cdefgfed
TmpChange(160,!2)
o5l8cdefgfed
TmpChange(80,!2)
o5l8cdefgfed
TmpChange(50,!2)
o5l8cdefgfed
TmpChange(160,!4)
o5l8cdefgfed
TmpChange(50,!2)
o5l8cdefgfedc1
}
///////////////////////////////////////////////////////////////////////////////
// title: "loop.h" ver 1.0
// description: Loopインクルードファイル(2015/06/02)
// keywords: SAKURA Function by ななこっち★ @nanakochi123456
// HP: http://nano.daiba.cx/
///////////////////////////////////////////////////////////////////////////////
// loop.h 可変回数のループ
///////////////////////////////////////////////////////////////////////////////
// Function LoopPlay
// LoopPlay(mml string value[, loop count offset]) max 5 parms.
//
// Example
// Int LOOP=4
// Include(loop.h)
// #mml={
// cde
// }
// LoopPlay(#mml)
// LoopPlay(#mml,0)
///////////////////////////////////////////////////////////////////////////////
// テストする時は、以下のコメントを外してください。
//Int TEST=1
//Int LOOP=5
///////////////////////////////////////////////////////////////////////////////
Function LoopPlay(Str Mml, Int count) {
Str _MML
For (Int i = 1; i <= LOOP + count; i++) {
_MML=_MML + Mml
}
_MML
}
IF(TEST=1) {
曲名{"かえるの歌(test)"}
作者{"ドイツ民謡"}
#mmla={
l4
cdef
edc4.r8
}
#mmlb={
l4
efga
gfe4.r8
}
#mmlc={
crcr
crcr
l8ccddeeff
l4
edc2
}
TR(1)
o5
@(Clarinet)
q95
#mmla
LoopPlay(#mmlb,3)
#mmlc
TR(2)
o6
@(Violin)
q95
[2 r1]
#mmla
LoopPlay(#mmlb,2)
#mmlc
TR(3)
o4
q95
@(FrenchHorn)
[4 r1]
#mmla
LoopPlay(#mmlb,1)
#mmlc
TR(4)
o3
q95
@(Contrabass)
[6 r1]
#mmla
LoopPlay(#mmlb,0)
#mmlc
TR(5)
o3
q95
@(Timpani)
[8 r1]
#mmla
LoopPlay(#mmlb,-1)
#mmlc
}
IF(GAKUHU=1) {
RCDINIT(0,0)
} ELSE {
RCDINIT(370,856)
}
Key(KEY)
Int QTemp
Function QSet(value) {
QTemp=value
}
Function Q(value) {
Str MML="q"
IF(GAKUHU=1) {
MML=MML+"100"
} ELSE {
MML=MML+(value * QTemp / 100)
}
MML
}
#V_PIANO={
#REV
V(110)
M(0)
IF(BRIGHT=1) {
IF(MSGS=1 || TWM2=1) {
@(BrightPiano,16) // for MSGS
} ELSE {
@(BrightPiano)
}
} ELSE {
IF(MSGS=1 || TWM2=1) {
@(GrandPiano,16) // for MSGS
} ELSE {
@(GrandPiano)
}
}
QSet(100)
}
// Tempo
TR(16)
// intro
TmpChange(200,0)
TmpChange(90,!8)
TmpChangeR(200,!4.)
TmpChangeR(240,!2)
TmpChangeR(260,!2.)
TmpChangeR(230,!2.^2.)
// Loop Start
#tempoloop={
// 1
TmpChangeR(215,!8)
TmpChangeR(240,!2^8)
TmpChangeR(255,!2.^2.)
TmpChangeR(230,!2^8)
TmpChangeR(200,!8)
TmpChangeR(195,0)
TmpChangeR(200,!4)
TmpChangeR(220,!2)
TmpChangeR(230,!2.)
TmpChangeR(200,0)
TmpChangeR(220,!4)
TmpChangeR(230,!2)
TmpChangeR(225,!2.)
TmpChangeR(240,!8)
TmpChangeR(260,!2^8)
TmpChangeR(270,!2.^2.)
TmpChangeR(250,!2^8)
TmpChangeR(220,!8)
TmpChangeR(200,0)
TmpChangeR(220,!4)
TmpChangeR(230,!2)
TmpChangeR(240,!2.)
TmpChangeR(210,0)
TmpChangeR(230,!4)
TmpChangeR(240,!2)
TmpChangeR(210,!2.)
// 2
[
TmpChangeR(200,0)
TmpChangeR(270,!2.)
TmpChangeR(280,!2.^2.)
TmpChangeR(260,!2.)
TmpChangeR(280,!2.^2.)
TmpChangeR(270,!2.)
TmpChangeR(230,!2.)
TmpChangeR(270,!2.)
TmpChangeR(285,!2.^2.)
TmpChangeR(230,!2.)
:
TmpChangeR(270,!2.^2.^2)
TmpChangeR(250,!4)
TmpChangeR(190,0)
r2.
]
TmpChangeR(260,!2.^2.)
TmpChangeR(240,!2.)
TmpChangeR(170,0)
r2
// 3
TmpChangeR(140,0)
r4
TmpChangeR(210,!2.^2.)
TmpChangeR(200,!2.^2.)
TmpChangeR(210,!2.^2.)
TmpChangeR(200,!2.)
TmpChangeR(180,0)
TmpChangeR(155,!2.)
TmpChangeR(195,0)
TmpChangeR(230,!2.^2.)
TmpChangeR(197,!2.)
TmpChangeR(165,!2.)
TmpChangeR(205,!2)
TmpChangeR(155,!4^2.^2.^2.)
TmpChangeR(230,!2.)
TmpChangeR(260,!2.^2.^2.)
TmpChangeR(240,!2.^2.^2.)
TmpChangeR(220,!2.)
TmpChangeR(270,!2.^2.)
TmpChangeR(230,0)
TmpChangeR(200,!2)r4
TmpChangeR(170,!2.)
TmpChangeR(180,!2.)
TmpChangeR(160,!2.)
TmpChangeR(80,!2.^2.)
// 4 intro
TmpChangeR(135,0)
TmpChangeR(145,!2.)
TmpChangeR(125,!2.^2.)
TmpChangeR(140,!2)
TmpChangeR(150,!4)
r4
TmpChangeR(145,0)
TmpChangeR(130,!8)
TmpChangeR(218,0)
TmpChangeR(210,!8)
TmpChangeR(250,!2)
TmpChangeR(270,!2)
TmpChangeR(280,!2.)
TmpChangeR(250,!2.)
}
// loop end
LoopPlay(#tempoloop,0)
// 4
TmpChangeR(240,!8)
TmpChangeR(260,!2^8)
TmpChangeR(270,!2.^2.)
TmpChangeR(250,!2)
TmpChangeR(230,!4)
TmpChangeR(220,0)
TmpChangeR(240,!4)
TmpChangeR(260,!2)
TmpChangeR(270,!2.)
TmpChangeR(220,0)
TmpChangeR(250,!4)
TmpChangeR(260,!2)
TmpChangeR(240,!2.)
TmpChangeR(245,!8)
TmpChangeR(265,!2^8)
TmpChangeR(275,!2.^2.)
TmpChangeR(255,!2)
TmpChangeR(240,!4)
TmpChangeR(235,0)
TmpChangeR(245,!4)
TmpChangeR(270,!2)
TmpChangeR(275,!2.)
TmpChangeR(225,0)
TmpChangeR(270,!4)
TmpChangeR(270,!2)
TmpChangeR(235,!2.)
// 5
TmpChangeR(220,0)
[
TmpChangeR(280,!2.)
TmpChangeR(290,!2.^2.)
TmpChangeR(270,!2.)
TmpChangeR(290,!2.^2.)
TmpChangeR(280,!2.)
TmpChangeR(240,!2.)
:
TmpChangeR(280,!2.)
TmpChangeR(295,!2.^2.)
TmpChangeR(240,!2.)
TmpChangeR(270,!2.^2.^2)
TmpChangeR(250,!4)
TmpChangeR(160,0)
r2.
TmpChangeR(210,0)
]
TmpChangeR(300,!2.^2.)
TmpChangeR(250,!2.)
TmpChangeR(200,0)
TmpChangeR(150,!2.)
TmpChangeR(190,!4)
TmpChangeR(210,!4)
TmpChangeR(220,!4)
TmpChangeR(245,!2)
TmpChangeR(210,!4)
TmpChangeR(180,!2.)
TmpChangeR(140,0)
// pedal part
#p1={
//
[
[4 #PEDALON r4 #PEDALOFF r2]
[1 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4 #PEDALOFF r2]
[1 #PEDALON r2 #PEDALOFF r4]
[1 #PEDALON r4 #PEDALOFF r2]
]
}
//
#p2={
[
[3 #PEDALON r4 #PEDALOFF r2]
[3 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4 #PEDALOFF r2]
[6 #PEDALON r4 #PEDALOFF r2]
[2 #PEDALON r2 #PEDALOFF r4]
]
}
#p3={
//
[1 #PEDALON r2. r2. #PEDALOFF]
[5 #PEDALON r2. #PEDALOFF]
Sub{[#PEDALON r5 r5 r5 #PEDALOFF #PEDALON r5 #PEDALOFF]} r2.
[5 #PEDALON r2. #PEDALOFF]
[1 #PEDALON r2 #PEDALOFF r4]
[1 #PEDALON r2. #PEDALOFF r2.]
[10 #PEDALON r2 #PEDALOFF r4]
[3 #PEDALON r2. #PEDALOFF]
[1 r2.]
[1 #PEDALON r2. #PEDALOFF]
[1 r2.]
}
#p4={
#PEDALON [4 r2.] #PEDALOFF
[4 r2.]
}
#p5={
//
[
[4 #PEDALON r4 #PEDALOFF r2]
[1 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4 #PEDALOFF r2]
[1 #PEDALON r2 #PEDALOFF r4]
[1 #PEDALON r4 #PEDALOFF r2]
]
//
}
#p6={
[
[3 #PEDALON r4. #PEDALOFF r4.]
[3 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4. #PEDALOFF r4.]
[1 #PEDALON r4 #PEDALOFF r2]
:
[6 #PEDALON r4 #PEDALOFF r2]
[2 #PEDALON r2 #PEDALOFF r4]
]
[4 #PEDALON r4 #PEDALOFF r2]
#PEDALON r2 #PEDALOFF r4
r2.
#PEDALON r2. #PEDALOFF
#PEDALON r2 #PEDALOFF r4
}
//
#intro={
v100
l8
IF(GAKUHU=1) {
RMDINIT(0,0,110,110)
} ELSE {
RMDINIT(192,384,90,110)
}
RMDV(55,60)
RMD(r32a-32b-32)
RMDV(65,75)
RMD(a-8^32 ga->c<b-)
RMDV(65,75)
RMD(ga-b-a->c<b-)
RMDV(70,80)
RMD(ga->c<b-ga-)
RMDV(75,85)
RMD(>c<b-ga->c<b-)
RMDV(80,90)
}
#melody1={
[
[
RMD(ga->c<b-ga-)
:
RMD(>c<b-ga->c<b-)
]
RMD(b->cd-e-fg-)
:
[
RMD(b-4.a-g-f)
:
RMD(fe-)
RMDV(-5)
RMD(e-32f32)
RMDV(5)
RMD(e-16d) Q(60) RMD(e-4) Q(99)
]
RMD(fe-32f32e-16de-f<b-)
]
[
RMD(b-4.a-g-f)
:
RMD(fe-)
RMDV(-5)
RMD(e-32f32)
RMDV(5)
RMD(e-16d) Q(60) RMD(e-4) Q(99)
]
RMD(e-fe-de-e)
}
Int M2FLG=0
#melody2={
[
[
IF(M2FLG=0) {
RMDV(90,95)
RMDV(-3)
RMD(f12g-12f12)
RMDV(3)
RMD(efa-g-)
}
M2FLG=0
RMD(fg-fefb-)
RMDV(-3)
RMD(a-12b-12a-12)
RMDV(3)
RMD(ga->c<b-)
:
RMD(a-b-a-ga->d-)
RMD(c<b-a-g-fe-)
RMD(d-c<b-a-g-f)
RMD(e-d-ce-b-a-)
RMD(ga-b->cd-e-)
]
RMD(a-b-a-ga->f)
RMD(e-d-c<b-a-g-)
RMD(fe-d-c<b-a-)
RMDV(85,95)
RMD(a>c<b-fg-c)
:
M2FLG=1
RMDV(85,87)
RMD(d-4r4>)
RMDV(90,90)
RMD(f4^12)
RMDV(-3)
RMD(g-12) RMD(f12)
RMDV(3)
RMD(efa-g-)
]
RMDV(85,85)
RMD(d-)r8r4
}
#melody3={
l4v105
RMDV(75,85)
RMD(a-2.e-)
RMD(a-2e)
RMD(a-2f>)
RMD(f2)
RMD(f2.<b->)
RMD(f2c e-2d-)
Sub{RMD(c5e-5d-5<b-5)}r2.
RMD(a-2e-)
RMD(a-2e)
RMD(a-2f>)
RMD(f2.)
RMDV(-3)
RMD(c32d-32)
RMDV(3)
RMD(c8.<b>c)
RMD(a-<b->g<)
RMD(a>g-<a-)
RMD(>f<)
RMDV(-3)
RMD(fb-)
RMDV(5)
RMD(a-2e-)
RMD(a-2e)
RMD(a-2f>)
RMD(f2)
RMD(f2.<b->)
RMD(f2c)
RMD(e-d-c)
RMD(e-d-.<b-8)
RMDV(3)
RMD(a-2e-)
RMD(a-2e)
RMD(a-2f>)
RMD(f2.)
RMD(f2<b->)
RMD(e-2<a>)
RMDV(-1)
RMD(e-<a->d)
RMDV(-1)
RMD(fe-) Q(80)
RMDV(60,60)
RMD(a-) Q(99)<
}
#submelody3={
r4
[17 r2.]
r-16..
>
RMDV(55,55)
[10 RMD(a-2)r4]
<
}
#melody4={
RMDV(45,45)
g16
RMDV(50,60)
[25 RMD(a-16b-16)]
l8
RMD(a-16)
RMDV(55,65)
RMD(g16)
RMD(a-16>c16<b-16)
RMD(ga->c<b-)
RMDV(60,70)
RMD(ga->c<b-)
RMDV(8)
RMD(ga->c<b-)
RMDV(8)
RMD(ga->c<b-)
RMDV(8)
RMD(ga->c<b-)
RMDV(80,90)
}
#melody5={#melody1}
#melody6={
[
[
IF(M2FLG=0) {
RMDV(95,100)
RMDV(-2)
RMD(f12g-12f12)
RMDV(2)
RMD(efa-g-)
}
M2FLG=0
RMD(fg-fefb-)
RMDV(-2)
RMD(a-12b-12a-12)
RMDV(2)
RMD(ga->c<b-)
:
RMD(a-b-a-ga->d-)
RMD(c<b-a-g-fe-)
RMD(d-c<b-a-g-f)
RMD(e-d-ce-b-a-)
RMD(ga-b->cd-e-)
]
:
RMD(a-b-a-ga->f)
RMD(e-d-c<b-a-g-)
RMD(fe-d-c<b-a-)
RMDV(85,100)
RMD(a>c<b-fg-c)
M2FLG=1
RMD(d-4r4>) f4^12 RMDV(95,100) RMD(g-12) RMD(f12) RMD(efa-g-)
]
v++
RMD(a-b-a-g) Q(60)RMD(a-)Q(99)>>
RMDV(105,110)
RMD(f)
RMDV(98,100)
l12
RMD(e-d-c<b-a-g-fe-d-)
RMD(c<b-a-g-fe-d-c<b-)
l8
RMDV(101,105)
RMD(a>c<b-fg-c)
RMD(d-4f4)r2v0 IF(GAKUHU=0) { f4 }
}
#adf={RCD(a->d-f<)}
#acg={RCD(a->cg-<)}
#cg={RCD(>cg-<)}
#fce={RCD(f>ce-<)}
#fd={RCD(f>d-<)}
#aeg={RCD(a->e-g-<)}
#af={RCD(a->f<)}
#be={RCD(b->e-<)}
#fad={RCD(fa->d-<)}
#ga={RCD(g-a-)}
#gac={RCD(g-a->c<)}
#ef={RCD(>e-f<)}
#df={RCD(>d-f<)}
#ga={RCD(>g-a-<)}
#fa={RCD(>fa-<)}
#deb={RCD(>d-e-b-<)}
#ad={RCD(a->d-<)}
#acf={RCD(a->cf<)}
#gce={RCD(g>ce<)}
#fc={RCD(f>c<)}
#fae={RCD(fa->e-<)}
#fadm={RCD(fa->d<)}
#dg1={RCD(>d-g<)}
#dg2={RCD(>d-g-<)}
#faf={RCD(fa->f<)}
#chord2={
l4
[4 r4 #adf #adf]
[2 r4 #acg #acg]
[2 r4 #cg #cg]
[4 r4 #adf #adf]
[3 r4 #acg #acg]
[1 r4 #cg r4]
}
#chord3={
[
r4 #fce #fce
r4 #fd #fd
r4 #aeg #aeg
r4 #af r4
r4 #be r4
r4 #fad r4
r4 <#ga> #gac
r4 #adf r4
r4 #ef #ef
r4 #df #df
r4 #ga #ga
r4 #fa r4
r4 #deb r4
r4 #fad r4
r4 <#ga #ga>
r4 #af r4
]
}
#chord4={
r4 [5 #gac]
r4 #ad #ad
r4 #adf #adf
r4 #acg #acg
r4 #aeg #aeg
[r4 #adf #adf]
r4 <#ga #ga>
r4 #gac #gac
r4 #ad #ad
r4 #adf #adf
r4 #acf #acf
r4 #gce r4
r2 #fc
r2.
//--
r4 <#ga #ga>
r4 #gac #gac
r4 #ad #ad
r4 #adf #adf
r4 #acg #acg
r4 #aeg #aeg
[r4 #adf #adf]
r4 <#ga #ga>
r4 #gac #gac
r4 #fae #fae
r4 #fadm #fadm
Q(30)
r4 #dg1 #dg1
r4 #dg2 #dg2
Q(17)
r4 #cg r4
r2.
}
#chord5={#chord2}
#chord6={
[
r4 #fce #fce
r4 #fd #fd
r4 #aeg #aeg
r4 #af r4
r4 #be r4
r4 #fad r4
r4 <#ga> #gac
r4 #adf r4
r4 #ef #ef
r4 #df #df
r4 #ga #ga
r4 #fa r4
:
r4 #deb r4
r4 #fad r4
r4 <#ga #ga>
r4 #af r4
]
r4 #deb r4
r2.
r4 <#ga #ga>
r4 <#fa> r4
}
#bass2={
l4
[
[
RMD(d-rr)
RMD(frr)
]
<RMD(a-rr)>
RMD(e-rr)
<RMD(a-rr)>
:
RMD(a-rr)
]
RMD(a-r<a-)
}
#bass3={
[
l4
RMD(arr)
RMD(b-rr)>
RMD(crr)
RMD(d-rr)
RMD(g-rr)<
RMD(a-rr)
RMD(a-rr)>
RMD(d-rr)
RMD(a2.)
RMD(b-2.)>
RMD(c2.)
RMD(d-rr)<
RMD(g-rr)<
RMD(a-rr)
RMD(a-rr)
RMD(d-rr)
]
}
#bass4={
l4
RMD(a-)>rrrrr
RMD(d-rr)
<RMD(a-)>rr
RMD(e-)rr
<RMD(a-)>rr
RMD(d-)rr
RMD(f)rr
RMD(c)rr
<RMD(a-)>rr
RMD(d-)rr
<RMD(b)>rr
RMD(c)rr
<RMD(c)>rr
<RMD(f)>rr
rrr
RMD(c)rr
<RMD(a-)>rr
RMD(d-)rr
<RMD(a-)>rr
RMD(e-)rr
<RMD(a-)>rr
RMD(d-)rr
RMD(f)rr
RMD(c2.)
<RMD(a-)>rr
RMD(c-)rr
<RMD(b-)>rr
RMD(e-)rr
rrr
RMD(a-2.)
r2.
}
#bass5={#bass2}
#bass6={
[
l4
RMD(a)rr
RMD(b-)rr>
RMD(c)rr
RMD(d-)rr
RMD(g-)rr<
RMD(a-)rr
RMD(a-)rr>
RMD(d-)rr
RMD(a2.)
RMD(b-2.)>
RMD(c2.)
RMD(d-)rr<
:
RMD(g-)rr<
RMD(a-)rr
RMD(a-)rr
RMD(d-)rr
]
<RMD(g-)rrrrr
RMD(a-)rr
RMD(d-)rr
v0d-
}
TR(1)
#V_PIANO
o5
QSet(100)
Q(99)
#intro
#tr1={
Sub{#p1 #p2}
#melody1
#melody2
Sub{#p3}
Sub{#submelody3}
#melody3
Sub{#p4}
#melody4
}
LoopPlay(#tr1,0)
Sub{#p5}
#melody5
Sub{#p6}
#melody6
TR(2)
#V_PIANO
q100
QSet(100)
Q(17)v65
[4 r2.]
#tr2={
o4
Sub{#p1 #p2}
#chord1
#chord2
#chord3
v55
Sub{#p3}
#chord4
[8 r2.]
v65
}
LoopPlay(#tr2,0)
Sub{#p5}
#chord5
Sub{#p6}
#chord6
TR(3)
#V_PIANO
q100
QSet(100)
Q(95)v95
IF(GAKUHU=1) {
RMDINIT(0,0,110,110)
} ELSE {
RMDINIT(270,856,85,95)
}
[4 r2.]
#tr3={
o4
Sub{#p1 #p2}
#bass2
#bass3
RMDV(75,90)
Sub{#p3}
#bass4
[8 r2.]
RMDV(85,95)
}
LoopPlay(#tr3,0)
Sub{#p1 #p2}
#bass5
#bass6