Audio → MIDI

Audio to MIDI Converter

How big can an audio-to-MIDI file get?

The short answer: an audio-to-MIDI file is so small you will never think about it. This converter writes a Standard MIDI File (format 1) that records note events — pitch, start time, end time, velocity — not sound, so a typical 3-minute song comes out around 12 KB. The size is set by how many notes the detector finds, not by the audio's length, bitrate, or container. A dense 10-minute track stays under about 50 KB. The MIDI is measured in kilobytes; the audio it came from is measured in megabytes. We measured the exact numbers below using the same writer this site ships, and the rule holds: more notes, bigger file — longer audio, higher bitrate, or a "better" format changes nothing.

Why a MIDI file is small in the first place

A .mid is not a recording. It is a list of instructions: "note 60 (C4) on at tick 0, off at tick 240, at velocity 100." The converter's own writer produces a format-1 file with two tracks — one tempo track (tempo + time signature) and one note track — running at a 480-ticks-per-quarter-note division. None of that carries a single sample of audio. A three-note chord and a three-hour drone both describe their notes with a handful of numbers per note, so the file never balloons the way an audio container would.

This is the single fact that makes every size question easy: the output grows with the number of note events, and only with that. Audio duration, bitrate, sample rate, MP3 vs WAV, stereo vs mono — none of them touch the byte count, because none of them are stored.

What we actually measured

Rather than quote a textbook constant, we ran this site's real writer (midi.js) on note lists of different densities and read back the byte length of the file it produced. The three columns below are real outputs — sparse (one note every half second), chord (four-note stacks every quarter second), and busy (three-note changes every 120 ms), which is the kind of density a dense polyphonic song produces.

Real .mid byte size from this converter's writer, by note count and spacing.
NotesSpacingApprox. audioFile sizeBytes / note
50sparse (0.5 s)~25 s503 B10.06
200sparse (0.5 s)~100 s1 853 B9.27
500sparse (0.5 s)~250 s4 553 B9.11
200chord (0.25 s)~12 s1 703 B8.52
800chord (0.25 s)~50 s6 653 B8.32
2 000chord (0.25 s)~125 s16 553 B8.28
300busy (0.12 s)~12 s2 453 B8.18
1 000busy (0.12 s)~40 s8 053 B8.05
3 000busy (0.12 s)~120 s24 053 B8.02

Two things to read off that table. First, the bytes-per-note figure collapses to a narrow band: about 8 bytes per note when notes are close together, about 10 when they are far apart. Second, the file is still only tens of kilobytes even at three thousand notes — that is a busy, several-minute track, and it is smaller than a single thumbnail.

Where the bytes come from

The file splits cleanly into a fixed shell and a per-note cost, so you can predict the size of any result without running it:

So the size of any conversion is roughly 40 + (notes × 8 to 10) bytes. A 1 000-note export is about 8 KB; a 5 000-note export about 40 KB. Nothing else enters the formula.

What actually decides the note count

The only lever on file size is how many notes the detector emits, and that is bounded by the analysis grid this converter uses: it reads the audio in frames that are 11.610 ms apart (about 86.13 frames per second), and at each frame it keeps up to 6 spectral peaks. That gives an absolute theoretical ceiling of around 516 note-ons per second — a wall of six simultaneous tones changing every frame, which is not music. Real recordings land far below that: a busy pop or game-track arrangement tends to sit around 8–10 notes per second, and a sparse solo line is a fraction of that.

Plugging the realistic rates into the per-note cost gives the song-length numbers a user actually cares about. These are also real writer outputs, not estimates:

Song-length sizes, from this converter's writer at realistic note densities.
Audio lengthNote densityNotesFile size
60 s8 / s4804 013 B (3.92 KB)
3 min8 / s1 44011 933 B (11.65 KB)
5 min10 / s3 00024 803 B (24.22 KB)
10 min10 / s6 00049 553 B (48.39 KB)

Read the last row as the practical worst case for normal music: ten minutes of dense material, under 50 KB. For the contrast that makes the point — the audio that produced it is typically 3–6 MB as an MP3 and tens of MB as a WAV, so the MIDI is roughly one hundred to one thousand times smaller.

Is there any hard limit?

Not one you will reach. The format and the writer both leave the ceiling effectively unbounded for real use:

Why the size is good news

The companion question — how many notes the converter can hold at once in a single frame — is answered separately in Audio to MIDI software: how many notes it can hold at once, and the difference between mono and poly detection (which changes note count, and therefore size) is in Mono vs poly: what each detection mode misses.

Questions

Does a longer song make a bigger MIDI file?

Only indirectly. A longer song usually contains more notes, and more notes mean more bytes — but a long, quiet song with few notes stays small, and a short, dense one can be larger per second. Length sets the opportunity for notes; the note count sets the bytes.

Will converting from WAV instead of MP3 give me a smaller file?

No. The container is not stored in the MIDI at all, so the source format never enters the byte count. WAV and MP3 of the same take produce the same notes and therefore the same file size (within the note-detection noise described on the MP3 vs WAV page).

Does a higher bitrate or sample rate shrink the MIDI?

No, for the same reason: none of those properties are written into the file. They can change which notes are detected, and thus the note count, but they never change the bytes-per-note cost.

Can the file get too big to open?

In practice, no. Even the dense 10-minute case above is under 50 KB, and every DAW and sequencer opens files like that instantly. The only way to produce something awkward is to feed in audio so long it cannot be decoded in your device's memory — and that fails at the decode step, before any oversized MIDI exists.

Why is my downloaded file sometimes a .mid and sometimes I only see notes?

This converter gives you two views of the same data: the binary .mid for software, and a CSV of the note list for reading. They are the same dozen-or-so numbers per note, just in different formats — see What is actually inside a MIDI file for the byte-level breakdown of the binary.

Convert a file now — runs in your browser, nothing is uploaded, and the result is a few kilobytes you own.

Related guides