Tempo 140
#PEDALON={Sub {r16y64,127}}
#PEDALOFF={r-56 y64,0 r56}
	System.TimeBase=10368

Function BF(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(M="a"||M="b"||M="c"||M="d"||M="e"||M="f"||M="g") {
		C++
	  	IF(C<3) {
			FIRST=ML
			ML=FM+M
			FM=""
		} ELSE {
	      R=R+"r"+Random(600,900)
        	BUF=BUF+"Sub" + CHR(123)+R+ML+CHR(125)
	      ML=M
		}
    } ELSE {
		IF(C>0) {
      	ML=ML+M
		} ELSE {
			FM=FM+M
		}
    }
  }
  BUF="Sub"+CHR(123)+FIRST+CHR(125)+BUF+"Sub"+CHR(123)+R+ML+CHR(125)+"r"
  BUF
}

Function BG(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(M="a"||M="b"||M="c"||M="d"||M="e"||M="f"||M="g") {
		C++
	  	IF(C<3) {
			FIRST=ML
			ML=FM+M
			FM=""
		} ELSE {
	      R=R+"r"+Random(40,45)
        	BUF=BUF+"Sub" + CHR(123)+R+ML+CHR(125)
	      ML=M
		}
    } ELSE {
		IF(C>0) {
      	ML=ML+M
		} ELSE {
			FM=FM+M
		}
    }
  }
  BUF="Sub"+CHR(123)+FIRST+CHR(125)+BUF+"Sub"+CHR(123)+R+ML+CHR(125)+"r"
	BUF="r-30"+BUF+"r30"
  BUF
}

Int VV
Function RandV(Int MIN, Int MAX) {
	Str MML="v"
	IF(MA7=1) {
		MML=MML+#STR(MAX)
	} ELSE {
		MML=MML+Random(MIN,MAX)
	}
	MML
}

TR(1)
	o6
	VV=90
	Expression(127)
	r1
	#V1={RandV(VV-45,VV-20)}
	#V2={RandV(VV-15,VV+10)}
	#PEDALON l2 BG(#V1 ce #V2 g) r8c8e8g8 #PEDALOFF
	#PEDALON Sub{l2.BG(#V1 ce #V2 b)}r4>c8<a4c4 #PEDALOFF
	#PEDALON l2 <BG(#V1 a>c #V2 g)r8r8f8c8 #PEDALOFF #PEDALON e8
	#PEDALON l2 r2 <#PEDALOFF BF(#V1 fb> #V2 d)< #PEDALOFF

	#PEDALON l2 BG(#V1 ea>#V2 c<)l8rea>c< #PEDALOFF
	#PEDALON l2 BG(#V1 df#>#V2 c<)l8rda>c< #PEDALOFF
	#PEDALON l4.BF(#V1 dg> #V2 c<) #PEDALOFF l2 #PEDALON BF(#V1 dg #V2 b) r8 #PEDALOFF
	#PEDALON l4.BF(#V1 cf #V2 a) #PEDALOFF l2 #PEDALON BF(#V1 <b>e #V2 g) r8 #PEDALOFF
	#PEDALON l4.BF(#V1 <a>c #V2 f) #PEDALOFF l2 #PEDALON BF(#V1 <gb> #V2 e) r8 #PEDALOFF
	VV=70
	#PEDALON [4 l8 VV=VV-5 BF(#V1 <fgb> #V2 d) ] r4. #PEDALOFF r8

	//
#melody1={
	[
		VV=75
		#PEDALON l2 BG(#V1 ce #V2 g) r8c8e8g8 #PEDALOFF
		#PEDALON Sub{l2.BG(#V1 ce #V2 b)}r4>c8<a4c4 #PEDALOFF
		#PEDALON l2 <BG(#V1 a>c #V2 g)r8r8f8c8 #PEDALOFF #PEDALON e8
		#PEDALON l2 r2 <#PEDALOFF BF(#V1 fb> #V2 d)< #PEDALOFF

		#PEDALON l2 BG(#V1 ea>#V2 c<)l8r>cde< #PEDALOFF
		#PEDALON l4. BG(#V1 f#a>#V2 e<)l8a4>ce4 #PEDALOFF
		<
		#PEDALON l4.BF(#V1 fb #V2 >e<) #PEDALOFF l2 #PEDALON BF(#V1 fgb #V2 >d<) r8 #PEDALOFF
		:
		#PEDALON l4.BF(#V1 gb #V2 >e<) #PEDALOFF l4. #PEDALON BF(#V1 gb>d #V2 f<) r4 #PEDALOFF
		>
	]
	#PEDALON l4.BF(#V1 gb #V2 >e<) #PEDALOFF l4. #PEDALON BF(#V1 g#b>d #V2 f<) r4 #PEDALOFF
}

#melody3={
	[
		VV=75
		#PEDALON l2 BG(#V1 ce #V2 g) r8c8e8g8 #PEDALOFF
		#PEDALON Sub{l2.BG(#V1 ce #V2 b)}r4>c8<a4c4 #PEDALOFF
		#PEDALON l2 <BG(#V1 a>c #V2 g)r8r8f8c8 #PEDALOFF #PEDALON e8
		#PEDALON l2 r2 <#PEDALOFF BF(#V1 fb> #V2 d)< #PEDALOFF
		:
		#PEDALON l2 BG(#V1 ea>#V2 c<)l8r>cde< #PEDALOFF
		#PEDALON l4. BG(#V1 f#a>#V2 e<)l8a4>ce4 #PEDALOFF
		<
		#PEDALON l4.BF(#V1 fb #V2 >e<) #PEDALOFF l2 #PEDALON BF(#V1 fgb #V2 >d<) r8 #PEDALOFF
		#PEDALON [3 l8 BF(#V1 gb #V2 >e<)] #PEDALOFF l4. #PEDALON BF(#V1 gb>d #V2 f<) r4 #PEDALOFF
		>
	]
	#PEDALON l2 BG(#V1 a>c #V2 e<)l8r>efg< #PEDALOFF
	#PEDALON l4. BG(#V1 a>c #V2 g<)>f4.e4 #PEDALOFF
	<
	#PEDALON [3 l8 BF(#V1 gb #V1 >e<)] #PEDALOFF l4. #PEDALON BF(#V1 gb>#V1 d<) r4 #PEDALOFF
	#PEDALON [3 l8 BF(#V1 fa #V1 >c<)] #PEDALOFF l4. #PEDALON BF(#V1 fg #V1 b) r4 #PEDALOFF
	#PEDALON l4.BF(#V1 cf #V1 a) #PEDALOFF l4. #PEDALON BF(#V1 dg #V1 b) r4 #PEDALOFF
	#PEDALON l4.BF(#V1 fa #V1 >c<) #PEDALOFF l4. #PEDALON BF(#V1 gb #V1 >d<) r4 #PEDALOFF

}

	//
#melody2={
	[
		#PEDALON l2 BG(#V1 a>c #V2 e<)l8>refg< #PEDALOFF
		#PEDALON l4. BF(#V1 a>c #V2 g<)>f4.c4< #PEDALOFF
		#PEDALON l2 BG(#V1 fb>#V2 e<)l8rfb>e< #PEDALOFF
		#PEDALON l1 BF(#V1 fb>#V2 d<) #PEDALOFF
		#PEDALON l2 BG(#V1 ea>#V2 c<)l8r>cde< #PEDALOFF
		#PEDALON l4. BF(#V1 f#a>#V2 e<) a4>c8e4< #PEDALOFF
		:
		#PEDALON l4.BF(#V1 fb>#V2 e<) #PEDALOFF #PEDALON l2 BF(#V1 fgb>#V2 d<)r8 #PEDALOFF
		#PEDALON l4.BF(#V1 gb>#V2 e<) #PEDALOFF #PEDALON l2 BF(#V1 g#b>d #V2 f<)r8 #PEDALOFF
	]
	#PEDALON l4.BF(#V1 gb>#V2 e<) #PEDALOFF #PEDALON l2 BF(#V1 gb>#V2 d<)r8 #PEDALOFF
	#PEDALON [3 l8 BF(#V1 gb>#V2 e<) ] #PEDALOFF #PEDALON l2 BF(#V1 gb>d #V2 f<)r8 #PEDALOFF
	>
}

Function BV() {
	IF(VV>100) { VV=100 } VV=VV+2
}

#melody4={
	l4
	#PEDALON [8 BF(#V1 g>c #V1 e<) ] #PEDALOFF
	BV()
	#PEDALON [8 BF(#V1 a>c #V1 e<) ] #PEDALOFF
	BV()
	#PEDALON [8 BF(#V1 a>c #V1 e<) ] #PEDALOFF
	BV()
	#PEDALON [4 BF(#V1 gb #V1 >d<) ] #PEDALOFF
	#PEDALON [2 BF(#V1 gb #V1 >e<) ] #PEDALOFF
	#PEDALON [2 BF(#V1 gb #V1 >f<) ] #PEDALOFF
}
	#melody1
	#melody2
	#melody3
	VV=70
	[4 #melody4 ]
	#PEDALON l1 BG(#V2 g>cd #V2 e) #PEDALOFF

TR(2)
	o5
	Expression(127)
	r1
	VV=60
	#PEDALON #V2 c1 #PEDALOFF
	#PEDALON #V2 <a1 #PEDALOFF
	#PEDALON #V2 d1 #PEDALOFF
	#PEDALON #V2 g2 #PEDALOFF #PEDALON #V2 g#2 #PEDALOFF
	#PEDALON #V2 a1 #PEDALOFF
	#PEDALON #V2 d1 #PEDALOFF
	VV=105
	[3 VV=VV-2 #PEDALON l4.BF(#V2<g4.> #V1 g4.)l2 VV=VV-2 BF(#V2 <g4.> #V1 g4.) r8 #PEDALOFF]
	VV=60
	<
	[4 #PEDALON   VV=VV-5 l8 BF(#V2<g> #V2 g)]r4. #PEDALOFF r8
	//
#chord1={
	[
		VV=60
		#PEDALON l1 BF(#V2 c #V2 >c<) #PEDALOFF
		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		#PEDALON l2 BF(#V2 g #V2 >g<) #PEDALOFF #PEDALON l2 BF(#V2 g# #V2 >g#<) #PEDALOFF

		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		:
		[2 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV-2 BF(#V2 g4.> #V1 g4.<) #PEDALOFF r8 ]
	]
	VV=58
	[1 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV+1 BF(#V2 g4.> #V1 g4.<) r8 #PEDALOFF]
	[1 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV+1  #PEDALOFF #PEDALON BF(#V2 g#4.> #V1 g#4.<) r8 #PEDALOFF]
}

#chord3={
	[
		VV=70
		#PEDALON l1 BF(#V2 c #V2 >c<) #PEDALOFF
		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		#PEDALON l2 BF(#V2 g #V2 >g<) #PEDALOFF #PEDALON l2 BF(#V2 g# #V2 >g#<) #PEDALOFF

		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		:
		[2 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV-2 BF(#V2 g4.> #V1 g4.<) #PEDALOFF r8 ]
	]
	VV=65
	[2 VV=VV+2 #PEDALON [3 l8 BF(#V2 g4.> #V2 g4.<)]l2 VV=VV+1 BF(#V2 g4.> #V2 g4.<) r8 #PEDALOFF]
	[2 VV=VV-2 #PEDALON l4.BF(#V2 g4.> #V2 g4.<)l2 VV=VV-1 BF(#V2 g4.> #V2 g.<) r8 #PEDALOFF]
}

	//
#chord2={
	[
		VV=70
		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		#PEDALON l1 BF(#V2 g #V2 >g<) #PEDALOFF
		#PEDALON l1 BF(#V2 g# #V2 >g#<) #PEDALOFF
		#PEDALON l1 BF(#V2 a #V2 >a<) #PEDALOFF
		#PEDALON l1 BF(#V2 d #V2 >d<) #PEDALOFF
		V=65
		[1 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV+1 BF(#V2 g4.> #V1 g4.<) r8 #PEDALOFF]
		:
		[1 VV=VV+2 #PEDALON l4.BF(#V2 g4.> #V1 g4.<)l2 VV=VV+1 #PEDALOFF #PEDALON BF(#V2 g#> #V1 g#<) r8 #PEDALOFF]
	]
	[1 [3 VV=VV+1 #PEDALON l8 BF(#V2 g4.> #V1 g4.<) ]l2 VV=VV+1 BF(#V2 g4.> #V1 g4.<) r8 #PEDALOFF]
}

Function AV() {
	IF(VV>115) { VV=115 } VV=VV+1
}
#chord4={
	#PEDALON [4 AV() l4. BF(#V2 c #V2 >c<) l8 VV=VV-10 BF(#V2 c #V1 >c<) VV=VV+10] #PEDALOFF<
	#PEDALON [4 AV() l4. BF(#V2 a #V2 >a<) l8 VV=VV-10 BF(#V2 a #V1 >a<) VV=VV+10] #PEDALOFF>
	#PEDALON [4 AV() l4. BF(#V2 d #V2 >d<) l8 VV=VV-10 BF(#V2 d #V1 >d<) VV=VV+10] #PEDALOFF<
	#PEDALON [4 AV() l4. BF(#V2 g #V2 >g<) l8 VV=VV-10 BF(#V2 g #V1 >g<) VV=VV+10] #PEDALOFF>
}

	#chord1
	#chord2
	#chord3
	VV=70
	[4
		#chord4
	]
	#PEDALON
	l1 VV=110 BF(#V2 c #V1 >c<)
	#PEDALOFF

TR(16)
	r1
	Int T=Tempo
	[10 r1]
	#tempo1={[16 r1]}
	#tempo2={[16 r1]}
	#tempo3={
		[8 r1]
		[6 r1]
		TempoChange(T,T-10,!1^1)
		[2 r1]
		TempoChange(T-10,T-40,!1^1)
		[1 r1]
		TempoChange(T-40,T-70,!1^1)
		[1 r1]
	}
	#tempo4={
		TempoChange(T-30,T,!1)
		[1 r1]
		TempoChange(T,T+7,!1^1^1)
		[3 r1]
		TempoChange(T+7,T+2,!1^1^1^1)
		[4 r1]
		[3
			TempoChange(T+2,T+5,!1^1^1^1)
			[4 r1]
			TempoChange(T+5,T,!1^1^1^1)
			:
			[4 r1]
		]
		[3 r1]
		TempoChange(T,T-100,!1)
	}
	#tempo1
	#tempo2
	#tempo3
	#tempo4