PSGConverter.js

PSGConverter is converter of Mabinogi MML to MIDI file script. This version is implemented by JavaScript. Since all processing is performed on the client side (No host midi file), you can embed MML to your site without violating the law.

Official Site Support Forum Project Site Demo Download

This program will playback using QuickTime. Insert the MML in the pre tag mabimml to put a class attribute.

<pre class="mabimml" title="MML Name" data-inst="105"> ... Insert valied Mabinogi MML ... </pre>
Please insert the following script at the bottom of the page. jQuery is if necessary.

<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>

And if you have a large user IE, please add the following line above the header part to read the scripts and CSS.

<meta http-equiv="X-UA-Compatible" content="chrome=1">

In IE, because it can not properly process the data scheme, drawn using Chrome Frame.

Attribute Infomation
title Title of MML.
data-inst GM Instrument Mapping
data-inst-name Specify the name of the Mabinogi instrument. e.g. Lute. see Instrument Tab
data-pan Specifies the orientation of the sound. default = 64 (center)
data-effect Reverb Effect depth. default=40 (optional)
data-group Put the group number you want to ensemble MML.

Sound will appear in the instrument and the scale that is specified in the following data-inst-name and to put a name.

Name GM Instrument Mapping Max Scale Min Scale
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

Scale is as same as the original. (Sounds in the same octave exceeds the limit value)

Notice: These sample does not works copy to clipboard feature for ZeroClipboard limitation.

Basic [Lemmings Tim2]

<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
;

Ensemble example [Rufus Welcoming Ceremony / Final Fantasy 7]

This program also support ensemble emulation.

<pre class="mabimml" title="Rufus Welcoming Ceremony (Chalumeau)" 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 (Flute)" 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 (Drum)" 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 (Bass Drum)" 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 (Cymbal)" 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,
,
;

Input

If there is a scale can not be played back, the color will change.

Left is 0, Center is 64, Right is 127.

default is 40.

0 is not ensemble mml.

Output