Makerro

Makerro / What a MIDI file is

What a MIDI file actually is

Most explanations stop at "MIDI is not audio" and leave out the thing that actually trips people up: there are two kinds of MIDI file, and which one your software writes decides whether your song arrives in one piece.

It is sheet music, not a recording

An MP3 is the sound of a piano. The notes are baked in. You cannot change the instrument, fix a wrong note, or move anything — you would be editing a photograph of a performance.

A MIDI file holds no sound at all. It holds instructions: play note C, at this moment, this hard, for this long. Something else — your software, a synth, a phone — reads those instructions and makes the noise.

That is why one MIDI file can be a piano, then a guitar, then a string section. The notes are separate from the sound, so you can change the key, slow it down, fix one wrong note at bar 34, or print it as sheet music. It is the editable version of a piece of music, which is exactly why it is what you want when you are moving a song between programs.

The part nobody explains: Type 0 and Type 1

The MIDI file format was finalised in 1996 and it defines more than one layout. Two of them matter in practice, and the difference is not cosmetic.

TypeHoldsWhat you get
Type 0 One track Every part flattened together into a single stream. The notes are all there, but the bass, the drums and the melody are one undifferentiated pile with no names.
Type 1 Many tracks, played together One track per part, each with its own name, plus a conductor track carrying tempo and time signature. This is what you want.

If you have ever exported a song, opened it somewhere else and found everything piled onto one instrument with no labels, you were given a Type 0 file. Nothing was corrupted. The format simply had nowhere to put the separation.

Reading is not writing

Here is the trap. Almost every program reads both types. Far fewer write both. A program can import a beautifully separated Type 1 file and still be incapable of producing one.

Ableton Live is the clearest example. It imports Type 0 and Type 1 happily, and writes only Type 0 — one track per file. That is why its menu says Export MIDI Clip, singular, and why there is no command for the whole song. It is not an oversight anyone forgot to fix; it is what the export was built to do.

The usual workaround is to consolidate each track by hand, export them one at a time, and merge the files in something else. For a project with twenty parts, that is an evening. This converter does it in one step, reading the Live Set directly in your browser.

What a MIDI file cannot carry

Worth knowing before you are disappointed. A MIDI file holds notes and timing. It does not hold:

  • Your sound. Instruments, synth patches and effects are not notes. The file says "play C"; what plays it is decided at the other end.
  • Audio. A vocal take or a sample is a recording, and there is nothing in a recording to turn into instructions.
  • Automation. Filter sweeps and volume rides are mostly program-specific and do not survive the trip.
  • Your mix. Levels, panning and routing belong to the program you left.

Anything promising to convert a whole project between two programs is either rendering the sound to audio or overstating what it does. Moving the notes is a solved problem. Moving the sound is not, and will not be.

A quick way to tell what you have

Open the file in any notation program — MuseScore is free — and look at how many staves appear. One stave with everything on it means Type 0. Several named staves means Type 1. If the tempo is wrong as well, the file came without a conductor track, which usually means it was assembled by something that did not know to write one.

Need a tool that doesn't exist yet? I build these one at a time, by hand. Tell me what you need.

This is a one-person workshop, not a company. If a file format is ruining your week, or one of these tools reads your bank's statement wrongly, say so — a real example is the most useful thing you can send me, and it is usually fixed within a few days.

This form sends only what you type. Your files are never part of it — they are never uploaded anywhere, which is the whole point of the tools.