PSGConverterとは、マビノギのMMLをMIDIに変換するプログラムです。このページの実装は、JavaScriptのみによるものです。 すべて、クライアントサイドで実現している(MIDIファイルをホストしていない)ため、法律に違反せずMMLを公開することができます。
このプログラムは、再生にQuickTimeを使用します。マビノギのMMLをpre
タグに入れ、クラス属性をmabimml
にしてください。
<pre class="mabimml" title="MML Name" data-inst="105"> ... Insert valied Mabinogi MML ... </pre>次にページのフッター部分に以下のスクリプトを挿入してください。jQueryは必要に応じてで構いません。
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script> <script type="text/javascript" src="http://logue.github.com/PSGConverter/js/PSGConverter.min.js"></script>
また、サイト利用者がIE遣いが多い場合は、ヘッダーのmeta
タグに、以下の行を挿入するようお願いします。
<meta http-equiv="X-UA-Compatible" content="chrome=1">
IEではdataスキームを正常に処理できないため、Chrome Frameを用いた実装になります。
属性 | 説明 |
---|---|
title |
MMLの名前です。 |
data-inst |
GM楽器を指定する場合その番号を入力してください。 |
data-inst-name |
マビノギの楽器名を英語で入力してください。例:Lute 詳細は楽器タブにて。 |
data-pan |
音の定位を指定できます。デフォルトは64(中央)です。 |
data-effect |
リバーブエフェクトの量。デフォルトは40です。 |
data-group |
合奏用MMLの場合、ここの値を揃えておくと合奏ボタンが表示されます。 |
data-inst-name
に入力されたGM楽器は以下の様な指定になっています。
名前 | GM音源のマッピングth> | 最高音階 | 最低音階 |
---|---|---|---|
Lute | 25. Acoustic Guitar (nylon) | 88 | 16 |
Ukulele | 29. Electric Guitar (muted) | 88 | 16 |
Mandorin | 106. Banjo | 88 | 16 |
Whistle | 79. Whistle | 88 | 60 |
Flute | 74. Flute | 83 | 48 |
Roncadora | 78. Shakuhachi | 83 | 48 |
Chalumeau | 72. Clarinet | 59 | 24 |
Tuba | 59. Tuba | 59 | 24 |
Lyre | 47. Orchestral Harp | 88 | 16 |
Snare | 49, Orchestra Kit (Concert SD) | 38 | 38 |
Drum | 49, Orchestra Kit (Concert SD) | 40 | 40 |
Bass Drum | 49, Orchestra Kit (Concert SD) | 35 | 35 |
Cymbal | 49, Orchestra Kit (Hand Cymbal) | 57 | 57 |
Xylophone | 14. Xylophone | 88 | 16 |
Electric Guitar | 14. Electric Guitar (distortion) | 88 | 16 |
音階の限界値を超えるとマビノギと同じように再生されます。
<pre class="mabimml" title="Tim2" data-inst-name="Lute">MML@ l64e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2t124v15l16eegeeegeeeaagad2l8r>cc<agl16ggeag8efggeag8fed4.r8>e8e8dc<agt124eegeeegeeeaagad2l8r>cc<agl16ggeag8efggeag8fed4.r8>e8e8dc<agl8fgagb+bfg4gfgfedc4.r4ggabggabb+bagfgagb+bfg4gfgfedc4.r4ggabggabb+bagr4>eeedc<b4gged4efo2cr>cro6cc<ag4<gggb+4b>c2&cl16gag8gag4l8<ddef4edc1<g1, r1v15l8o2cr>cr<frag4gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagab+fffeff+ff+gggggabrfffefeff+gggggfedfffefeff+gggggabrfffefeff+gggggfedcr>cr<frag4gagaga>cr2<frag4r1r4.l16o4gag8gag4, l1.rrrrrrv15<f2l4.ag1c8a2b+g1r8f2ag1c8a2>cl1dr8erel8ro2gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagfe ;</pre>
MML@ l64e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2t124v15l16eegeeegeeeaagad2l8r>cc<agl16ggeag8efggeag8fed4.r8>e8e8dc<agt124eegeeegeeeaagad2l8r>cc<agl16ggeag8efggeag8fed4.r8>e8e8dc<agl8fgagb+bfg4gfgfedc4.r4ggabggabb+bagfgagb+bfg4gfgfedc4.r4ggabggabb+bagr4>eeedc<b4gged4efo2cr>cro6cc<ag4<gggb+4b>c2&cl16gag8gag4l8<ddef4edc1<g1, r1v15l8o2cr>cr<frag4gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagab+fffeff+ff+gggggabrfffefeff+gggggfedfffefeff+gggggabrfffefeff+gggggfedcr>cr<frag4gagaga>cr2<frag4r1r4.l16o4gag8gag4, l1.rrrrrrv15<f2l4.ag1c8a2b+g1r8f2ag1c8a2>cl1dr8erel8ro2gagagab+cr>cr<frag4gagagab+cr>cr<frag4gagagfe ;
このプログラムは合奏のエミュレーションにも対応しています。
<pre class="mabimml" title="Rufus Welcoming Ceremony (シャルモー)" data-inst-name="Chalumeau" data-pan="32" data-group="1">MML@ t120l64<e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2v15e4.l16eeerfrf+rgrg+r8.er2r8.g+4.g+g+g+rarbr>c+rdr8.<br4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2.e8.dc+4c+8.c-c+rdrc+r<bra2r8ar>c+rerf+4d8.c+c-4f+4e2&e8r8c+rerf+4d8.c+c-4g+4e2c+4erarg+4g+8.f+g+rarg+rf+re2.l12e&edc+4c+8.l16c-c+rdrc+r<bra2r8ar>c+rerf+4d8.c+c-4f+4e2&e8r8c+rerf+4d8.c+c-4g+4e2c+rc+r<br>c+rdrc-4drc+r<a4>c+r<b2ar1.r2.r8.a4a8.g+arg+rf+rg+rer8.c+8.dc+r<brarg+ro4c+4c+8.c+c+r<g+rar>c+r<br8.er4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2., r1.r8v15l16<d+rdrc+rcr8.<g+r1r4r>grf+rfrer8.<br2r8.b4>c8.cc+rc+r4rd4c+8.c+<brbr4r>e4.ee<a4.aa>e2.r4a4a8.ag+rg+rarg+re2r8erarg+ra4a4g+4b4a2&a8r8arg+ra4a4g+4>e4c+2<a4>c+rerc+4c+4crcrcrcrc+2<b8r8l12g+&g+g+a4a8.l16ag+rg+rarg+re2r8erarg+ra4a4g+4b4a2&a8r8arg+ra4a4g+4>e4c+2<ararg+rarbrf+4brare4are2er1.r2.r8.f+4f+8.ff+r8.arbrg+r8.g+r2r8.a4a8.aarbr>c+rdrer8.<g+r2r8.e4f8.ff+rf+r4rg4f8.ferer4rb4.bb>c4.cc<b2., l1.rrrrr1v15<b4.l16bb>c4.cc<b2.l4r<aeebaeaedaebaeaedaebaeaec+g+d+g+c+g+ebaeebaeaedaebaeaedaebaef+ec-f+aeb2l16ar1.r1.r4.ro4c+r8.<br2r8.<a4e4c+8e8a8bal4g+f+edeff+.r8gfe.r8>e.l16ee<b4.bb>e2. ;</pre> <pre class="mabimml" title="Rufus Welcoming Ceremony (フルート)" data-inst-name="Flute" data-pan="96" data-group="1">MML@ t120l64e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2v15e4.l16eeerfrf+rgrg+r8.er2r8.g+4.g+g+g+rarbr>c+rdr8.<br4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2.r4arc+r<ar>c+rarc+r<g+r>c+rarc+r<ar>c+rarc+r<ar>c+rf+rf+r<ar>f+rf+rf+r<ar>f+rerc+r<ar>c+rar<brg+rbr>f+rf+rdrf+rg+rf+rdrf+rarerc+rerarc+rc+rc+rg+rerc+rerg+rcrcrcrl24g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+l16arc+r<ar>c+rarc+r<g+r>c+rarc+r<ar>c+rarc+r<ar>c+rf+rf+r<ar>f+rf+rf+r<ar>f+rerer<ar>erar<brg+rbr>f+rf+r<ar>f+rg+rf+r<g+r>f+rarc+r<ar>c+rarc+r<g+r>c+rf+rf+r<br>f+rf+rer<ar>erl24g+f+g+f+g+f+g+f+g+f+g+f+l8ar1.r2.r<a4a.l16aarg+rf+rg+rer8.c+r2r8.>c+4c+8.c+c+r<brar>c+r<br8.g+r4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2., r1.r8v15l16d+rdrc+rcr8.c+r1r4rgrf+rfrer8.g+r2r8.e4f8.ff+rf+r4rg4f+8.f+erer4r>d4.ddc4.cc<b2.r4>ererc+rerererc+rerererc+rerererc+rerardrdrdrg+rdrdrdrarerc+rererer<br>erardr<ar>drerdr<g+r>drerc+r<ar>c+rf+rer<ar>ererc+r<g+r>c+rd+rd+r<g+r>d+rl24eaeaeaeaeaeaeaeaeaeaeaeal16ererc+rerererc+rerererc+rerererc+rerardrdrdrg+rdrdrdrarc+rc+rc+rerer<br>erardrdrdrerdrdrdrererc+rerf+rerc+rerbrdrdrdrarc+rc+rc+, l1.rrrrrrrrrrrrrrrrv15l24>eaeaeaeaeaeal8er1.r2.r<f+4f+.l16f+f+rerdrerc+r2.r8.a4a8.aarg+rf+rarg+r8.er2r8.e4f8.ff+rf+r4rg4f8.ferer4r>d4.ddc4.cc<b2. ;</pre> <pre class="mabimml" title="Rufus Welcoming Ceremony (小太鼓)" data-inst-name="Drum" data-pan="48" data-group="1">MML@ t120l64o2d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&dv0d2v15l32ddddddddd8d16d16d8d8d8d8d4d4r2ddddddddd8d16d16d8d8d8d8d4d4r2d4ddddddddd8d8r4d4ddddddddd8d8r4ddddddddddddddddddddddddddddddddddddddddddddddddd2d8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddl32ddddddddddddddddd2d8d4.d8d4.ddddddddddddddddd8d4.r1.r1.r1d4ddddddddd8d4.d4ddddddddd8d4.ddddddddddddd16d16ddddddddddddd16d16ddddddddddddddddd2, , ;</pre> <pre class="mabimml" title="Rufus Welcoming Ceremony (大太鼓)" data-inst-name="Bass Drum" data-pan="64" data-group="1">MML@ t120l64o2c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&cv0c2r1.v15l4cc2.r1cc1c1cc2c2c1ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccc1c8c.c8c.c2c8c.r1.cc2.r1cc1c1cc2c2c1, , ;</pre> <pre class="mabimml" title="Rufus Welcoming Ceremony (シンバル)" data-inst-name="Cymbal" data-pan="64" data-group="1">MML@ t120l64o2a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&av0l2ar1.v15a4a.r1a4a1a1a4aaa1aaaraaaraaaraaaraaaraaaraaaraal1ar.r.r2arar4aa4a2a2a, , ;</pre>
MML@ t120l64<e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2v15e4.l16eeerfrf+rgrg+r8.er2r8.g+4.g+g+g+rarbr>c+rdr8.<br4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2.e8.dc+4c+8.c-c+rdrc+r<bra2r8ar>c+rerf+4d8.c+c-4f+4e2&e8r8c+rerf+4d8.c+c-4g+4e2c+4erarg+4g+8.f+g+rarg+rf+re2.l12e&edc+4c+8.l16c-c+rdrc+r<bra2r8ar>c+rerf+4d8.c+c-4f+4e2&e8r8c+rerf+4d8.c+c-4g+4e2c+rc+r<br>c+rdrc-4drc+r<a4>c+r<b2ar1.r2.r8.a4a8.g+arg+rf+rg+rer8.c+8.dc+r<brarg+ro4c+4c+8.c+c+r<g+rar>c+r<br8.er4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2., r1.r8v15l16<d+rdrc+rcr8.<g+r1r4r>grf+rfrer8.<br2r8.b4>c8.cc+rc+r4rd4c+8.c+<brbr4r>e4.ee<a4.aa>e2.r4a4a8.ag+rg+rarg+re2r8erarg+ra4a4g+4b4a2&a8r8arg+ra4a4g+4>e4c+2<a4>c+rerc+4c+4crcrcrcrc+2<b8r8l12g+&g+g+a4a8.l16ag+rg+rarg+re2r8erarg+ra4a4g+4b4a2&a8r8arg+ra4a4g+4>e4c+2<ararg+rarbrf+4brare4are2er1.r2.r8.f+4f+8.ff+r8.arbrg+r8.g+r2r8.a4a8.aarbr>c+rdrer8.<g+r2r8.e4f8.ff+rf+r4rg4f8.ferer4rb4.bb>c4.cc<b2., l1.rrrrr1v15<b4.l16bb>c4.cc<b2.l4r<aeebaeaedaebaeaedaebaeaec+g+d+g+c+g+ebaeebaeaedaebaeaedaebaef+ec-f+aeb2l16ar1.r1.r4.ro4c+r8.<br2r8.<a4e4c+8e8a8bal4g+f+edeff+.r8gfe.r8>e.l16ee<b4.bb>e2. ;
MML@ t120l64e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&e&ev0e2v15e4.l16eeerfrf+rgrg+r8.er2r8.g+4.g+g+g+rarbr>c+rdr8.<br4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2.r4arc+r<ar>c+rarc+r<g+r>c+rarc+r<ar>c+rarc+r<ar>c+rf+rf+r<ar>f+rf+rf+r<ar>f+rerc+r<ar>c+rar<brg+rbr>f+rf+rdrf+rg+rf+rdrf+rarerc+rerarc+rc+rc+rg+rerc+rerg+rcrcrcrl24g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+g+f+l16arc+r<ar>c+rarc+r<g+r>c+rarc+r<ar>c+rarc+r<ar>c+rf+rf+r<ar>f+rf+rf+r<ar>f+rerer<ar>erar<brg+rbr>f+rf+r<ar>f+rg+rf+r<g+r>f+rarc+r<ar>c+rarc+r<g+r>c+rf+rf+r<br>f+rf+rer<ar>erl24g+f+g+f+g+f+g+f+g+f+g+f+l8ar1.r2.r<a4a.l16aarg+rf+rg+rer8.c+r2r8.>c+4c+8.c+c+r<brar>c+r<br8.g+r4.rl12eg+b>d4d8.l16c+dr<br4r>d4d8.c+dr<br4r>e4.eee4.eee2., r1.r8v15l16d+rdrc+rcr8.c+r1r4rgrf+rfrer8.g+r2r8.e4f8.ff+rf+r4rg4f+8.f+erer4r>d4.ddc4.cc<b2.r4>ererc+rerererc+rerererc+rerererc+rerardrdrdrg+rdrdrdrarerc+rererer<br>erardr<ar>drerdr<g+r>drerc+r<ar>c+rf+rer<ar>ererc+r<g+r>c+rd+rd+r<g+r>d+rl24eaeaeaeaeaeaeaeaeaeaeaeal16ererc+rerererc+rerererc+rerererc+rerardrdrdrg+rdrdrdrarc+rc+rc+rerer<br>erardrdrdrerdrdrdrererc+rerf+rerc+rerbrdrdrdrarc+rc+rc+, l1.rrrrrrrrrrrrrrrrv15l24>eaeaeaeaeaeal8er1.r2.r<f+4f+.l16f+f+rerdrerc+r2.r8.a4a8.aarg+rf+rarg+r8.er2r8.e4f8.ff+rf+r4rg4f8.ferer4r>d4.ddc4.cc<b2. ;
MML@ t120l64o2d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&d&dv0d2v15l32ddddddddd8d16d16d8d8d8d8d4d4r2ddddddddd8d16d16d8d8d8d8d4d4r2d4ddddddddd8d8r4d4ddddddddd8d8r4ddddddddddddddddddddddddddddddddddddddddddddddddd2d8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddd8d8ddddd8d8l32ddddddddd8d8l16ddddd8d8ddddl32ddddddddddddddddd2d8d4.d8d4.ddddddddddddddddd8d4.r1.r1.r1d4ddddddddd8d4.d4ddddddddd8d4.ddddddddddddd16d16ddddddddddddd16d16ddddddddddddddddd2, , ;
MML@ t120l64o2c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&c&cv0c2r1.v15l4cc2.r1cc1c1cc2c2c1ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccccc2ccccc1c8c.c8c.c2c8c.r1.cc2.r1cc1c1cc2c2c1, , ;
MML@ t120l64o2a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&a&av0l2ar1.v15a4a.r1a4a1a1a4aaa1aaaraaaraaaraaaraaaraaaraaaraal1ar.r.r2arar4aa4a2a2a, , ;
MMLに再生できない音階が含まれている場合、ここの色が変化します。
左が0で、中央は64、右は127になります。
デフォルトは40です。
0は合奏になりません。