Hummingtomidi

MIDI to WAV Converter

Load a .mid and get a playable WAV back. The note messages are read and rendered on your own device — nothing is uploaded.

Tap to choose a .mid file, or drop it here

.MID · .MIDI

A MIDI file contains no sound

A .mid file is closer to a score than to a recording. It holds a header, one or more tracks, and a stream of timestamped messages: this pitch begins here, that one stops there, at this strength, on that channel. There is no waveform, no sample rate and no audio data anywhere inside it. That is why a MIDI file stays small, and why you can rewrite a single note or transpose an entire part without degrading anything. It is also why a media player cannot simply play one — a decision about what each note sounds like has to be made before a speaker can produce anything at all.

What a synthesizer adds

Rendering is that decision made audible. This page matches every note-on with its note-off, converts the file's tick positions into seconds from its tempo and time division, and schedules an oscillator at the frequency each pitch names. A short envelope shapes the beginning and end of a note so it does not click, and the oscillators are mixed into one waveform. The browser's offline audio renderer does all of this in one pass: the .mid is opened locally, the sound is built locally, and the finished WAV is handed back as a local download. At no point does the file go to a server.

Why the timbre is different

A MIDI file often requests an instrument — piano, strings, a synth lead — but that request is only a number. The actual sound lives in whatever soundfont, instrument plugin or hardware happens to play the file, and each one sounds different. This page uses a plain generated tone instead of sampled instruments, so a part written for piano comes back as a clean, even note. That is the expected behaviour of a synthesizer rather than a fault in the file or the conversion: pitch, order and timing survive intact, while tone colour is a choice made at playback time. A different player will give you a different voice from the very same .mid.

Why the length can differ

Duration is not stored as a number in a MIDI file either. It falls out of the last note-off together with the tempo map and the file's time division. When a melody was originally captured as audio, the recording usually carried silence, room noise, breath or a decaying tail after the final note; a rendered version stops when the notes stop. A file with a long empty tail can just as easily render shorter than a player's displayed length. Comparing against an original recording, expect the two to agree on where the notes are rather than on the silence wrapped around them. The note count, seconds and track count shown above are read from the file you loaded, not from a preset.

The opposite direction

This runs the reverse way from the MP3 to MIDI converter on the home page: that tool listens to a recording and writes note events, while this one starts with note events and produces audio. They are not inverse operations that restore the original file. Audio-to-MIDI keeps only a monophonic estimate of a melody, so rendering that estimate again gives a synthesised sketch, not the recording you began with. If you are working from compressed sources, the WAV to MIDI page explains how the input format affects that first step.