// Clone of M1.BGM (MSX MuSICA)
// http://www.nicovideo.jp/watch/sm24606813
//
// https://github.com/nanakochi123456/msxbgm/blob/master/musica/M1.MSD
// Use SoundFont : https://github.com/nanakochi123456/sf2_msx_rythm
// Copyright 1990-2014 by @nanakochi123456
Tempo 150
Int LOOP=5
Function LoopPlay(Str Mml, Int count) {
Str _MML
For (Int i = 1; i < LOOP + count; i++) {
_MML=_MML + #STR(Mml)
}
_MML
}
#melody={
l8
q100
[2
a4.c c2
^2 fgab->
c4.<f f2
^2.r4
b-4.d d2
^2 defa
g1
>c1<
]
>d4.<f f2
^2 fab->d
c4.<e egrf
^1
^1
^2<b>dfa
g1
>c1<
}
TR(1)
o5
v127
@(Strings1)
#TR1={
Sub { o6 #melody }
o5 #melody
}
LoopPlay(#TR1)
TR(2)
o6
v127
@(Trumpet)
#TR2={
#melody
}
LoopPlay(#TR2)
TR(3)
o6
v127
@(Harpsichord)
#TR3={
Sub { o6 #melody }
o5 #melody
}
LoopPlay(#TR3)
TR(16)
o6
v127
@(SawtoothLead)
#TR3={
Sub { o6 #melody }
o5 #melody
}
LoopPlay(#TR3)
TR(4)
v127
@(GrandPiano)
#TR4={
Sub { o6 #melody }
o5 #melody
}
LoopPlay(#TR4)
TR(5)
@(SynthStrings1)
#chord={
l1q100o5v80
[
'<a^>c^f^'
'<a^>c^e-^f^'
'<b-^>d^f^'
'<gb->cf'
Sub{'<gb->c'}e2f4g4
]
'<b-^>d^f^'
'<a2>c2e2''<a8>c#8e8''<a8>c#8g8'r8
Sub{'<a8^>f8^'}d8^2c2
'<b>df'
'<g>df'
'<gb->cf'
Sub{'<gb->c'}e2f4g4
}
#TR5={
#chord
}
LoopPlay(#TR5)
TR(6)
@(SawtoothLead)
LoopPlay(#TR5)
TR(7)
#t1={
l16
ff>f<f f>f<ff >f<ff>f< ff>f<f
}
#t2={
l16
ee>e<e e>e<ee >e<ee>e< eefg
}
#t3={
l16
ee>e<e e>e<ee e8g8r8f8
}
#back={
[
[7 #t1]
#t2
]
[#t1]
#t3
[4 #t1]
#t2
}
@(Harpsichord)
q50
#TR7={
Sub {
v90o6
#back
}
v110o7
#back
}
LoopPlay(#TR7)
TR(14)
@(GrandPiano)
v100o7
#TR14={
#back
}
LoopPlay(#TR14)
TR(9)
#b1={
l16
fr>fr<fr>f<f^f>f<ffr>fr<
}
#b2={
l16
e-r>e-r<e-r>e-<e-^e->e-<e-e-r>e-r<
}
#b3={
l16
dr>dr<dr>d<d^d>d<ddr>dr<
}
#b4={
l16
cr>cr<cr>c<c^c>c<ccr>cr<
}
#b5={
l16
cr>cr<cr>c<c^c>c<ccr>cc<
}
#b6={
l16
<b-r>b-r<b-r>b-<b-^b->b-<b-b-r>b-r
}
#b7={
l16
<ar>ar<ar>a<a a8>c#8r8d8
}
#b8={
l16
[dr>dr<][cr>cr<]
[4 <br>br]
<gr>gr <ar>ar <br>br dr>dr<
}
o3q95v110
@(PickBass)
#bass={
[
[#b1]
[#b2]
[#b3]
#b4 #b5
]
[#b6]
#b7
#b8
[#b4]
}
#TR9={
#bass
}
LoopPlay(#TR9)
TR(12)
o3q95v100
@(FretlessBass)
LoopPlay(#TR9)
TR(13)
o3q95v100
@(Harpsichord)
LoopPlay(#TR9)
TR(10)
v110
@(StandardSet)
$b{n(Kick1),}
$s{n(Snare2),}
$h{n(ClosedHiHat),}
//$4{n(PedalHiHat),}
$o{n(OpenHiHat),}
#r1={
Sub{Rythm{[15 h16]o16}}
Rythm{b4s4b4s4}
}
#r2={
Sub{Rythm{[10 h16]o16h16o16h16o16o16}}
Rythm{b4s4b8s8'b8s8's16s16}
}
#r3={
Sub{Rythm{[8 h16] h8h4h8}}
Rythm{b4s4'b8s8''b4s4''b8s8'}
}
#TR10={
[2
[7 #r1]
#r2
]
[#r1]
#r3
[4 #r1]
#r2
}
LoopPlay(#TR10)
End
# TiMidity Config
dir ../patches/guspat/izumo/inst/GUS
dir ../patches/guspat/izumo/inst/GUS/gsdrum00
dir ../patches/guspat/izumo/inst/GUS/gsdrum08
dir ../patches/guspat/izumo/inst/GUS/gsdrum25
dir ../patches/guspat/izumo/inst/GUS/gsdrum40
dir ../patches/guspat/izumo/inst/GUS/power
dir ../patches/guspat/izumo/inst/gusperc
dir ../patches/guspat/izumo/inst/mazpat
dir ../patches/guspat/izumo/inst/misc
dir ../patches/guspat/izumo/inst/orchhit-patch
dir ../patches/guspat/izumo/inst/release
dir ../patches/guspat/izumo/inst/roland
dir ../patches/guspat/izumo/inst/wime
dir ../patches/guspat/izumo/inst/wowpats
dir ../patches/guspat/izumo/inst
dir ../patches/guspat/izumo
dir ../patches/sf2_part/drumkit
dir ../patches/sf2_part/piano
dir ../patches/sf2_part/chipfont
dir ../patches/sf2_all
dir ../patches/sf2_part/famicom
dir ../patches/sf2_all/atomic
dir ../patches/sf2_all/fluid3
dir ../patches/sf2_all/atomic
dir ../patches/sf2_all/famicom
dir ../patches/sf2_all/ultimate
dir ../patches/sf2_all/syuuhou/realgs
bank 0
# strings
48 %font "OPL-3 FM 128M.sf2" 0 50 amp=180 rate=255:70:20:90 offset=255:250:50 vibrato=20:186:10
# trumpet
56 %font "OPL-3 FM 128M.sf2" 0 57 amp=180 vibrato=18:184:10
# harpchichord
6 %font gxscc_gm_033.sf2 0 10 amp=120
# PSG
81 %font Famicom.sf2 0 0 amp=90 rate=220:70:20:90 offset=255:250:50 vibrato=24:188:10
80 %font Famicom.sf2 0 5 amp=170 rate=220:70:20:90 offset=255:250:50
# Piano
0 %font Piano_Yamaha_DX7.sf2 0 0 amp=85
# Synth String
51 %font "OPL-3 FM 128M.sf2" 0 40 amp=260 rate=210:1:1:90 offset=:245:242 vibrato=0:185:10
50 %font "Musyng original.sf2" 0 48 amp=90
# fbass
34 %font "OPL-3 FM 128M.sf2" 0 32 amp=155 tune=-0.1 pan=+40
35 %font "OPL-3 FM 128M.sf2" 0 32 amp=155 tune=+0.1 pan=-40
##############################################################################
# Standard drums
drumset 0
36 %font msxrythm.sf2 128 0 36 amp=500
40 %font msxrythm.sf2 128 0 38 amp=500
42 %font msxrythm.sf2 128 0 42 amp=400
46 %font msxrythm.sf2 128 0 46 amp=420
#extension altassign 42 46