夜光 MML Workshop

MIDI to MML

Turning an existing piece into something Mabinogi can play

  1. Why it cannot just be converted
  2. Step by step
  3. Reading the track list
  4. The three capture modes
  5. The track budget
  6. What to check after importing
  7. Known limitations

Why it cannot just be converted

MIDI and MML differ enormously in what they can express, and that is the root of the whole business:

MIDIMabinogi MML
Simultaneous notesOne voice can sound several notes at onceOne track sounds one note at a time
Number of voices16 channels, each unlimited4 tracks per score (Melody, Harmony 1, Harmony 2, Vocal)
InstrumentsA track can change instrument part-wayOne instrument per track, no changes part-way
Timing precisionVery fine — it can record the small imperfections of a human performanceIt has to land on the grid to be writable at all

So conversion is fundamentally about giving things up: at every moment, one note out of several is kept. What comes out is always less than the original; the only question is whether what went missing is the part you cared about — and that is exactly what the capture mode decides.

Step by step

  1. Click File in the editor's title bar
  2. Pick your .mid file in the import section
  3. The file box closes itself and is replaced by the track list
  4. Tick the rows you want, and choose a capture mode for each one
  5. Press Import

Importing does not replace, it appends — existing tracks are not overwritten. To bring in different voices in several passes, just repeat it.

Reading the track list

Each row in the list is shown in the form Ch 3 · Bright Acoustic Piano. Two things are worth explaining:

One row is not one channel

A row stands for one (MIDI track, channel) pair, not simply a channel. The reason is that piano scores often write the left and right hands as two tracks sharing a single channel — merging by channel would fold the two hands together, and the capture would have to choose between them, giving you something unlistenable.

By the same token, a track is not split apart just because it changes instrument part-way. Mabinogi cannot change instrument mid-track anyway, so splitting would not express the change either; it would just consume two track slots and leave both half empty. Rows like this are marked "▸ N instruments" as a heads-up.

What is shown is the GM instrument, not the track name

That is deliberate. A track name is free text typed by a person; the GM instrument is written by a machine and is what a player actually sounds. Files really encountered in the wild:

Track name in the fileActual GM instrument
MIDI mainVibraphone — not something you could guess from the name
MIDI violinString Ensemble 1 — the name is wrong; this is a string section
©MidiStar (identical on all 12 tracks)All different — the name is just the exporting tool's watermark

You use this row to decide the capture mode (which one for the piano, which one for the bass), and choosing by a name that may well be wrong means choosing wrong. The track name is only shown as a fallback, when the file records no instrument at all.

Channel 10 is the drum kit: it is marked "Percussion" and left unticked by default. Mabinogi has no equivalent drum kit, and forcing the conversion gives you nothing but a string of meaningless pitches.

The three capture modes

The mode decides one thing and one thing only: when several notes sound at the same instant, which one is kept.

ModeKeepsGood for
Favour melodyThe highest noteMelody lines, right hands, flutes, solos
Favour rootThe lowest noteBass, the root of left-hand chords
Melody + rootRuns both and produces two tracksPiano arrangements

Two consequences worth remembering:

"Melody + root" is the right answer for piano scores. The most common material people import is a piano arrangement with only one or two channels in the whole file — imported one-to-one, four of the six Mabinogi track slots sit idle. With this mode, one piano MIDI becomes four tracks — right-hand melody, right-hand inner voice, left-hand chords, left-hand root — and sounds a great deal fuller.

Broken chords are captured correctly

The capture rule is that any new note entering cuts off the note currently sounding, whether the new one is higher or lower. So a broken chord — notes entering staggered and released together (CEG) — is captured as c16 e16 g2.. rather than as the highest note G throughout. Had the rule been "take the highest note in each span", arpeggios would vanish entirely.

The track budget

At most 15 tracks can be imported at a time, and it counts the total — a row set to "Melody + root" counts as two. Going over shows a red line telling you by how many, and the import button is disabled.

What to check after importing

  1. Play it through first. The capture rule has no notion of "wrong"; a bad capture raises no error, it just sounds odd.
  2. Look at the character count. An import usually comes out over the game's limit. If it does, see the next point.
  3. Use Optimise in the toolbar to bring it down. It is the only function in the whole editor that changes the sound — what it moves is note length (holding on or releasing early), and it never moves any note's start time, so the rhythm cannot be structurally broken. Only one of the three rules can run at a time, and it tells you how many characters it saved.
  4. Check the instruments. Importing does not pick Mabinogi instruments for you; choose them yourself on the tabs.
  5. Set the velocities. Drop the accompaniment tracks a few steps so the melody can come through.

Known limitations

Not read the MML syntax yet? Start with the Mabinogi MML syntax guide — you will want it when it comes to fixing things by hand after an import. If the editor itself is unfamiliar, see the editor quick start and the reference and keyboard shortcuts. For anything else, the FAQ.