A MIDI file is a list of events: this key went down at this moment, this hard, and came back up a moment later. It stores pitch as a number from 0 to 127 and timing in ticks, often 480 or 960 per quarter note. It doesn’t store note values, beams, ties, enharmonic spelling or which hand plays what. Sheet music is an interpretation of those events, written for a person to read.
That’s why converting MIDI to notation is more than a file-format swap. The converter has to decide that a note lasting 0.24 seconds at 120 BPM is an eighth note, that a cluster of low notes belongs to the left hand, and that a black key in a D major passage is F♯ rather than G♭. Every one of those calls shapes how readable the page is.
When the MIDI came from a notation app, those decisions are easy, because the notes already sit on a grid. When it came from a live performance, the converter has to infer the grid first. That’s where quantization comes in.
Quantization: how played rhythm becomes readable rhythm
Nobody plays exactly on the beat. A pianist pushes a phrase, lays back into a cadence, and holds notes a little long or short. A notation app reading raw timing writes what it sees, so a slightly late downbeat becomes a 32nd rest followed by a tied note. Multiply that by every note in a piece and the score stops being readable.
Quantization snaps note starts and ends to the nearest grid line, such as an eighth or a 16th note. A finer grid keeps more detail and more noise; a coarser grid reads cleaner but can flatten fast figures. For most pop and classical piano, 1/16 is a sensible starting point. For slow ballads, try 1/8. For swing, listen for whether the triplet feel survived, because a straight grid can’t represent it.
Quantizing for notation isn’t the same as quantizing for playback. In a DAW you might keep the human feel and quantize only partway. On the page you want each note on a clean value, while the performance itself lives on in your original MIDI file. The converter works on a copy in your browser, so the source file stays untouched.
Key signatures, time signatures and the grand staff
Many MIDI files carry no key or time signature at all, or carry the default 4/4 and C major that a DAW wrote without asking. The converter looks at the pitch content to suggest a key: which notes appear most and which ones the music settles on. Meter is harder to infer than key, so check the suggested time signature first, especially for waltzes and 6/8 songs that can look like 3/4 or 2/4.
Getting the key right matters more than it seems. It decides whether a black key is written as a sharp or a flat, how many accidentals clutter the page, and which notes read as chromatic. A piece in E♭ major written out in C major is technically correct and miserable to read.
For piano, the converter splits notes across a treble and a bass staff. A fixed split at middle C is the simplest approach, but real piano writing crosses it constantly: a left-hand melody climbing into the treble range, a right-hand chord dipping below. That’s why the staff layout is one of the suggestions you can review. If your MIDI already has a separate track for each hand, use them; it’s the most reliable route to a clean grand staff.
MusicXML or PDF: which download do you need?
PDF is the finished page. Print it, put it on a tablet, or send it to a bandmate. It isn’t meant to be edited, so make your quantize, key and track decisions before you export.
MusicXML is the editable score. It’s an open format that MuseScore Studio, Dorico, Sibelius and many other notation apps can import, and it carries notes, rhythms, clefs, key and time signatures, ties and staves. Use it when you want to add dynamics, articulations, lyrics or chord symbols, or rework the layout.
Why not import the MIDI straight into your notation app? You can, and for a cleanly quantized file it works fine. For a recorded performance, the app applies its own default quantization with no preview, and you end up fixing rhythms note by note. Cleaning up here first and importing the MusicXML usually saves that work.


