MP3 to MIDI DAW Import: Five Faults That Only Show Up Inside the Project
A converted MIDI file can preview perfectly in a browser and still arrive in your project as one flattened track, at the wrong tempo, with every note-off inverted into a note-on. None of that is a converter bug: it is decided by bytes in the file header and switches in the import dialog.
The short answer
- Format 0 is one track by definition. Its track count is always 1, so the DAW has nothing to split.
- Velocity 0 means note-off — and at least one DAW ships an import option that can invert every one of them.
- The resolution lives in the file. One DAW exports at 96 ppq and shifts every event onto that grid.
- A file with no tempo event is 120 BPM by specification, not by your project.
- Channel 10 sounds as drums whatever program change it carries, and one DAW ignores General MIDI program numbers altogether.
Format 0 is one track, by definition
The MThd header carries six bytes: format, track count, division. Format 0 means one multi-channel track, and its track count is always 1 — so your DAW has nothing to split. Ableton states that data saved in SMF0 is stored in one track only, and that Live imports it into one track. Formats 1 and 2 exist for simultaneous tracks and independent patterns. Split the clip by channel afterwards: the channel is the only separation a format 0 file preserves.
Note-off, and the switch that inverts it
The specification's own example writes a note-off as a note-on with velocity 0 and labels it: note on, vel=0. FL Studio's import dialog turns that into a decision — one option reads, treat notes with a velocity of zero as Note ON, instead of the default Note Off. Enable it and every note-off becomes a note-on, so notes start and never stop.
The resolution travels inside the file
The division word holds ticks per quarter note in bits 14 through 0 — fifteen bits, at most 32767 — unless bit 15 is set, in which case the file counts SMPTE frames at -24, -25, -29 or -30 per second. A low-resolution file cannot express what a high-resolution project can: Ableton exports at 96 ppq and states that a sixteenth note divides into 24 steps and all events are shifted to that grid. Read the division before blaming the transcription.
Program change, and channel 10
General MIDI assigns sounds to 128 program numbers and reserves channel 10 for percussion, which sounds as drums regardless of the program change it receives — so a file written to that convention arrives with its drum part routed. The opposite happens too: Ableton states that Live does not support automatic sound assignment following the GM standard, so a converter's program numbers land on nothing.
Tempo: 120 BPM is the specification's default
Tempo is a meta event, FF 51 03, in microseconds per quarter note. The specification's example stores 500,000, annotated as 120 beats per minute, and adds that a file specifying no tempo is assumed to be 4/4 at 120 BPM. So an untempoed conversion lands at 120 while your project sits at 90. A file carrying a tempo map risks the opposite: in a format 1 file the map is the first track, and importing it can move your project's tempo rather than follow it. FL Studio exposes that as an option to import time signatures.
Ten seconds before you commit
Import into an empty project at the tempo you intend to work at. Count the tracks: one means format 0, so split by channel. Check whether the last note ends: if it does not, that is the velocity-0 switch. Set the tempo yourself rather than accepting the map. If the DAW rejects the file, check the extension — Ableton supports only .mid.
Specification quotations come from the Standard MIDI File format specification and the General MIDI requirements; DAW behaviour from Ableton's and Image-Line's own help pages, read 2026-09-27.