【MSXPLAY】でブラウザからMSX音源をお手軽に鳴らそう!

MSXPLAY登場

https://msxplay.com
こちらのMSXPLAYのページ。
MGSDRVのMMLブラウザ上で速攻コンパイル再生できるようになりました。




MGSデータやBGMMuSICAデータにも対応していますが、
やはり目玉はMGSDRVのMMLをそのまま編集再生できちゃう事ではないでしょうか。

モダンな環境でMMLを編集 (コピペアンドゥリドウ置換なんでもござれ)
その場で試聴確認 (待ち時間ゼロ)
その場でMMLを共有 (BETA機能らしい)

ここは天国ですかね

MuSICAはバグがある為、まともに鳴らしたいならMGSDRVをお勧めします。
色々工夫したけど実機ではMuSICAのバグはどうにもならないことが分かったので。
編集しながら即試聴確認できるというのがMuSICAの利点でしたが、
この環境があれば、無理してMuSICAを使う必要はありません。


 

サンプル「FF5メインテーマ」

https://msxplay.com?open=54434470093859fb052fe0adcb288b4a7a69a354
こちらをクリックして、Compileと書いてあるボタンをクリックしてもらえれば
MMLをそのまま鳴らして聞くことができます。

Chrome推奨とのこと

↓現在編集中のデータgithubで偶に更新されます

f.msxplay.com



サンプル「FF3ボス」

https://msxplay.com?open=a8f51c6e0a94484afc3d11d9c71b1339314c60ca
こちらもクリックして、Compileと書いてあるボタンをクリックしてもらえれば
MMLをそのまま鳴らして聞くことができます。

↓現在編集中のデータgithubで偶に更新されます

f.msxplay.com



リズム音源でのV+?/V-?による相対音量変更ですが、
vsやvmなどの楽器別音量指定があるとおかしくなるようです。
当たり前といえば当たり前ですね。
vsやvmに対して+-で相対指定すると大丈夫です。



MMLのhelpも右下から開けますので、色々弄ってみてください。
また、
MML編集ページにあるSampleボタンで各種MMLサンプルが弄れます。
先達の素敵な人たちが作成した、非常に参考になるMMLが揃っています。
是非参考にしてMMLライフを満喫してみてください。

※ArabiyaanはSCCで発音中の波形切り替えによる音色変化などを行っていて面白いですし、どのサンプルも興味深い音が鳴りますので、是非試聴してみてください。



MMLをここにも貼っておきます。

#opll_mode 1
 #tempo 139
 #title {
  "SQUARESOFT   FINAL FANTASY V   - MAIN THEME -"
  }


;* PSG Drum Voice ---------------------
@e00 = {3,3,F*2n4.En5.Dn6.Cn7.Cn8.Bn9.An10.9n11.9n12.8n13.0=12}
@e06 = {3,3,DC0=60}
@e07 = {3,3,C6=7.0=16}
@e08 = {3,1,FE0=70}
;* PSG Voice --------------------------
@e01 = {1,0,F8=6.0=30.8.0=15.4.0=5}
;* FM envelope --------------------------
@e10 = {,,FFE}
@e11 = {,,FED}
@e12 = {,,FE:5[D:4.E:4]}

1239ABCDEF r4
;* Merody -----------------------------
9A h40,4,0,2 o5 so
9 v14
A v12 r8. @\40

9A @8@e10 l8
9A r2.rq4c16e16 g1& g2.rq4f16g16> q8c1
9A @6@e10 (< l4
9A [0
9A [g2<b4>c4 d2.a4 g1 d+2d+4f4 |g2>c2< a2.f4 g2>d2< a1] g2a+2 a2.f4 g1& g2.r
9A [>d2<g2 >f2d+d cd<a2& a1 |>cd<a2^ 4ga>c <a+g2.^ 4gaa+] >c2<f2 >gfd+f d1& d2.r
9A d2.c <a+2g2 f+>dc2^ 2<a+f+ a+1& a+1 r1 r1

;* Harp. (PSG) ------------------------
12 @1 h20,4,0,2
1 v9
2 v7 r8. @\18

12 q3k4 l32 [o3 eg>c8. eg>c8. g>ce8.^4 |r1]
12 q8k5 l24 o3 ceg>ceg< g>ceg>ce< )ceg>ceg< g>ceg>ce(
12 l16 [0
12 [r1]16
12 o3[ [d+ga+>d+ga+>d+g a+gd+<a+gd+<a+g] [fa>cfa>cfa> c<afc<afc<a]
12     [cfa>cfa>cf afc<afc<af] |[dga+>dga+>dg a+gd<a+gd<a+g] ]
12     [dgb>dgb>dg bgd<bgd<bg]
12 [r1]8

;* Strings ---------------------------
BCD @0@e12 so q3 v13 o5 l8 h38,3,0,3
B [eeffeedd]4
C [gggggggg]4
D ([cccccccc]4
BCD [0 l8 q3
B [eeffeedd f+f+ggf+f+ee [d+d+ffd+d+dd] |[d+d+ffd+d+dd]4]
C [gggggggg aaaaaaaa]6
D [cccccccc dddddddd cccccccc cccccccc |<[[a+]8 >[c]8]<]
BCD )
B l16q5 c<e-g>c e-<g>ce- gce-g >c<e-g>c <d<fa>d f<a>df adfa >d<fa>d q8c1 c-1<
C l16q5 g<b->e-g b-e-gb- >e-<gb->e- g<b->e-g <acfa >c<fa>c f<a>cf acfa q8g1& g1<
D q7<l4d+dc<a+agf>c<g1& g1> l8
BCD l4 q8
B [d+1& d+d+fg f1& ffga |f1 f2f2 g1 f1] f2a2 >c1< b1& b1
C [g1& ggaa+ >c1& c1 |c1 f2c2 d2g2& g1<] c2f2 f2a2 g1& g1<
D [g1& g2gg a1& aaa+>c d1 c1 <|a+1& a+1] g1& g1
B ( c1& c1 a+>cc2& c2<a+2 (f1& f1& f1& f1
C a+2.>c d1 d+ff+2& f+2d+2 d1 c1 c+1 c1<
D g1& g>dc<a+ a+1& a+1 a+1 g+1 a+1 g+1>

;* Base -------------------------------
E @13@e11 v14 so o3 h36,4,0,2
E r1 r1 r1 r1
E [0
E q5l8 [ccr2>c<g ccr2. ccr2>c<g ccr2. |[d+d+r2>d+<a+ ffr2.]]
E q7>d+4d4c4<a+4a4g4f4>c4< [q5ggq7rd]4 q6
E [d+d+r2>d+<a+ d+d+r2. d+d+r2>fc< d+d+r2. ddr2>d<a ddr2. ggr2>gd< ggr4ffr4]
E [q5ccq6r>c<] q5ccrq6grcrg [q5ccrq6>c<] q5ccrq6f+rcrc
E q5a+a+rq6fq5a+a+r4 q5g+g+rq6fq5g+g+r4 q5[f+c+]4 ffr4ffr4

;* Drums ------------------------------
*00 = { y23,175 }
*02 = { y23,198 }
*03 = { bh8bh16h16 }
*04 = { msh16vm12m16vm10hm16vm8mh16vm14 }
*05 = { msh16vm12m16vm10bhm16vm8mh16vm14 }
*06 = { bh8bh16h16y23,198h8y23,175h16h16 }
*07 = { bh8bh16h16y23,198h8y23,175bh16h16 }

F vb15 vm14 vs12 vh9 vc12
F y22,243y38,3 *0y39,2 y24,134y40,2
F [h4]16
F bhc8bc8h4h4h4
F [0
F [bh8b8h4h4h4]11 [bh8*2h8*0]8 [bh8*2bh8*0|bh8*2bh8*0]r4 bh8bh16h16*2h8*0bh16h16 bh8msh16h16*2msh8*0msh16msh16
F [ [4 *6*4*2h8*0bh16h16 |*6*4*2h8*0h16h16]
F *3*2h8*0h16h16*5*2h8*0bh16h16 ]
F [*7*5*2h8*0h16h16 *7*5*2h8*0bh16h16 ]
F [*7*5*2h8*0h16h16 *7*5*2|h8*0h16h16 ]msc16vm12m16*0vm10hm16vm8mh16vm14
F bh8b8h4h4h4

;* psg drum
*08 = { o8@6 }
*09 = { o8@7 }
*10 = { o8@8 }
*01 = { o2@0 }

3 l16 v10 \-8
3 *9 [a4]16
3 )*10g+8g+4.(*9a4a4
3 [0
3 *9 [[a4]4]11 [*9a8*8a+8]14 *9a8*1g8g8gg
3 [*9a8aa*8a+8*9a16a16*1g8*9aa|*8a+8*9aa]24 )*10a+4(
3 *9[a4]4


1239ABCDEF ]



#opll_mode 1
#tempo 164
#title {
  "FINAL FANTASY III - BOSS BATTLE BGM 1 - v2"
}

@v15 = {;TL,FB
         0, 4,
     ;AR,DR,SL,RR,KL,MT,AM,VB,EG,KR,DT
      15, 1, 5, 1, 0, 1, 0, 0, 1, 0, 0,
      15, 6, 1, 0, 0, 8, 1, 0, 1, 0, 0}
@e00 = {3,2,D9=4.0=10}
@e01 = {3,2,E9=13.0=30}
@e02 = {3,3,F*2n4.En5.Dn6.Cn7.Cn8.Bn9.Bn10.An11.An12.9n13.0=20}

@e09 = {1,,Fd}
@e10 = {1,,Fedc:20[CCDEED]}
@e12 = {1,,F6=6.c0=40}
@e13 = {1,,DEFEDC:10[CBACBA]}

;* Brass ------------------------------
9BD so @6@e10
1 v8 h10,5,0,1 k5 
9 v14
B v12 r8. @\12
D v13
19BD [0 l8
1 o6
9BD o6
D \1
1  @10
9B @6@e10
19BD [rq7e-q4e(c<ag+a>c q7eq4gf+d)fq7e4q4cq7]
19BD [rq7g+q4a(fdc+df q7aq4>c<bgb-)q7a4q4fq7]
9B @0
19BD l4 ec<af (ec<af (ec<af l12eg+b>eg+b>)eg+b>eg+b
1  @12
9B @5@e9(
D <\0
19BD l8 <fg+fg+>c<brg+ fg+>c<bg+b>d+d
19BD <a>c<a>cee-rc <a>cgf+
1  @10
9B @6@e10)
19B )
D (
19BD )df>c<b
19BD [
19BD < a2..a16b16 a2g2
19BD a2g2& g1
19BD |
19BD f2..f16g16 f2d2
19BD e1 g+1>
19BD ]
19BD a2..a16b16 a2g2
19BD a1 g+1
19B (
D )
19BD ]

;* Strings ----------------------------
AC @0 so h30,4,0,2
2 v7 @13 h30,4,0,2 k5 
A v11
C v9 r8 @\6
2AC [0 l8 Q6
AC o6 @0
2 o5 
2AC [eccccccc cdd+e)fg+4a(]
2AC [afffffff fgg+a)a+>c+4d<(]
AC @15
2AC l4 aged <aged <aged <l12a>eg+a>eg+a>eg+a>eg+<
AC @0@15
2AC l8 <c1& c1
2AC e1& e2)ab>c<b>)
AC @0
2AC [
2AC [l8 c<a24b24>c24d<a>c<a>d<a>]
2AC [<bg24a24b-24bgagbg>]
2AC |
2AC [<af24g24g+24bfafbf>]
2AC <ge24f24f+24aegeae g+e24f24g24g+eaebe>
2AC ]
2AC <adfdadfd> c<dgd>c<dgd
2AC >d<eae>d<eae >d<bg+fl16ef+g+ab>cdel8
2AC (( ]

;* Bass -------------------------------
E @13@e9 q6 v14 so 
E [0 o2 l8 
E [4 [a]8] 
E >[4 [d]8]< 
E a2.>e4 a2.r4 <aarraarr b4>e4g+4b4 
E ([ rrffrrfr] 
E >rrccrrcr rrcc)c<bge 
E )[ 
E [ ffccffcc] 
E [ eee-eeee-e] 
E | 
E [ ddc+dddc+d] 
E cccccccc eeef+f+f+g+g+ 
E ] 
E <b-b->ff<b-b->df e-e-gae-e-ga 
E [ee<bb>ee<bb>] 
E (] 

;* Drums ------------------------------
*03 = { bh8bh:h:bms8bh:bh }
*04 = { y23,156y24,160 }
*05 = { y23,176y24,180 }
*06 = { y23,136y24,140 }
*07 = { y23,116y24,120 }

F y22,212y38,3
F y39,3 
F y40,2 
F *4 
F vb15 vm14 vs12 vh9 vc11 
F l16 

F [0 
F bhc4[3 bh4] [3 [4 bh4]] 
F [4 [4 bh4]] 
F [3 bhc4.bh8bh4ms4] [*3] 
;F v-1;bug?
F vb-1 vm-1 vs-1 vh-1 vc-1
F [3 r4ms8ms4.ms4] 
;F v+1;bug?
F vb+1 vm+1 vs+1 vh+1 vc+1
F r4ms4*5ms:ms:*6cms8*4ms:ms:*7cms8*4 
F [31 *3] 
F bms:ms:ms:ms:*6bms:ms:ms:ms:*4 
F ] 

;* psg drum ---------------------------
*00 = { o8@0 }
*01 = { o8@1 }
*02 = { o2@2 }}

3 v11 k3 \-9 
3 [0 l8 
3 *1g+4[3 *0gr] [3 [4 *0gr]] 
3 [4 [4 *0gr]] 
3 [3 *1g+4.*0ggr*2d4] l16[*0g8gg*2d8*0gg] 
3 ([3 *2r4d8d4.d4] ))r4d4ddc8c+c+<b8( 
3 [31 *0g8gg*2d8*0gg] 
3 *2ddddcccc 
3 ]