MIDI to MP3
Choose a .mid file and get an audio file back — MP3 or WAV — rendered in this browser. The notes are played by a small synthesizer at 44.1 kHz, so you hear the pitches and timing in the file, not a sampled piano. Nothing is uploaded.
Choose a MIDI file.
What you get, and what you do not
The output is the note data turned into sound: pitch, start time, length and velocity from the file. It is not a General MIDI soundfont and it does not know which instrument each track was written for — every track is played with the one sound you pick. Percussion on channel 10 is rendered as a short noise burst rather than a drum kit, because a plain oscillator on a drum pitch produces a wrong pitched note. If you need realistic instruments, import the MIDI into a DAW or a notation program with a sound library.
Tempo is read from the file's own tempo events. A file with no tempo event is played at the default 120 BPM — which is the right reading, because tick positions in such files were written against that same default, so the absolute timing comes back unchanged. The MIDI files produced by this site's MP3 to MIDI converter contain no tempo event, and their duration in seconds matches the source audio.
How loud one note comes out
A note's peak amplitude is 0.30 × (velocity ÷ 127)^1.3 before the whole mix is checked for clipping. Worked example — MIDI note 60 (C4), held for 1.99 s, velocity 100, Pure sine setting: 100 ÷ 127 = 0.787; 0.787^1.3 = 0.733; 0.30 × 0.733 = 0.220. Rendering that single note and reading the peak back gives 0.220. That agreement is the check, and it is the only reason the formula is on this page.
The same formula at velocity 127 gives 0.300, and at velocity 64 gives 0.123. Notes are released over 70 ms after their written length, so two notes that touch will overlap slightly in that window — which is why a run of notes peaks higher than any single note in it. If the summed mix exceeds 0.89 the whole render is scaled down to 0.89 so it cannot clip, and the summary line tells you the peak it started from.
Measured, not assumed
Everything below was run on 3 November 2026 against the build that is live on this page. Each row names the thing it was compared with, so the claim can be checked rather than believed.
| Check | What came out |
|---|---|
MIDI parsing against @tonejs/midi | 133 MIDI files, 37,947 notes. Same pitch on every note; start time and duration never differed by more than 0.00 ms. |
| Rendered pitch against the written note, Pure sine setting | 8-note test file, notes C4–C5, 2 s each. Every note's written pitch carried more energy than the semitone above and the semitone below; the smallest margin was 85.2 dB, the largest 105.3 dB. |
| Output length against the MIDI length | 6 files, 8 to 912 notes, 3.997 s to 64.987 s. Every render ends one second after the last note stops — the release tail and nothing else — and lands within one sample of that, from rounding the frame count up. |
| MP3 decoded back against the WAV | 4.9969 s of WAV became 5.0416 s of decoded MP3, a difference of 44.7 ms that is the encoder's frame padding, not a shift in the music. Peak 0.227 after decoding. |
| WAV header | RIFF, 16-bit PCM, 44,100 Hz, 2 channels, byte count 44 + frames × 4 as expected. |
The 133 files in the parsing check are this site's own test set: mostly MIDI produced by its own converter, plus a few source files used to feed that converter, ranging from 8 to 912 notes and 2 to 5 tracks. One of them is hand-written for the pitch test. The pitch test compares three candidate frequencies per note — the written pitch and one semitone either side — using a windowed Goertzel measurement over 1.2 s of each 2 s note, so a wrong octave or a wrong semitone would show up as a loss rather than being averaged away. Notes are rendered as tuned oscillators; percussion on channel 10 is rendered as filtered noise, so the pitch test does not cover it and the page does not claim it does.
midi to mp3
That is what this page does: it reads the MIDI file you choose and writes an MP3 of the notes. There is no upload step and no account, so the same file can be converted as many times as you like.
convert midi file to mp3
Pick the file, choose MP3 192 kbps or 320 kbps, press Convert. The download button appears with the file size next to it, and the player above it plays the same bytes you are about to download.
midi to audio
WAV 16-bit 44.1 kHz is offered next to MP3 for cases where you want an uncompressed file to edit. Both are rendered from the same buffer, so switching the output format does not change the sound.
midi to wav
Choose WAV in the Output menu. The file is written as uncompressed PCM, which is roughly 10 MB per minute at 44.1 kHz stereo, against about 1.4 MB per minute for MP3 at 192 kbps.
play midi without a player
If you only want to hear the file, pick Pure sine and convert — a browser tab is enough, no plugin and no separate MIDI player. The player in the result box plays the render before you download it.
Going the other way
To turn a recording into MIDI notes instead, use mp3 to midi. What that conversion does and does not preserve is written up on the accuracy page.