mp3tomidiflowOpen converter

MIDI TO WAV · MEASURED BIT DEPTH · UPDATED 2026-10-25

MIDI to WAV Converter: Convert a MIDI File to WAV Free

To convert MIDI to WAV (midi to wav conversion), a synthesizer must play the notes with a SoundFont, then write the recording as an uncompressed WAV — there is no separate “encoder” step. The tool below does that in your browser with TimGM6mb: choose a .mid file, click Convert to WAV, download a 44,100 Hz 16-bit stereo file peak-normalized to −1 dBFS. Nothing is uploaded. Offline: fluidsynth -ni -g 0.8 -r 44100 -F song.wav FluidR3_GM.sf2 song.mid.

Convert MIDI to WAV in your browser (MP3 optional)

Choose a .mid or .midi file. For midi to wav conversion, click Convert to WAV. The notes are played by a General MIDI SoundFont (TimGM6mb) and encoded on this device; the file is never uploaded. Up to 10 minutes of music; output is 44,100 Hz 16-bit stereo, peak-normalized to -1 dBFS; MP3 at 192 kbps.

Open-source parts: spessasynth_core (Apache-2.0) synthesizer, lamejs (LGPL-3.0) MP3 encoder, TimGM6mb SoundFont (GPL-2.0). Licenses. The test renders further down were made with FluidSynth and the larger FluidR3_GM SoundFont, so they sound different from this tool.

MIDI to WAV vs MIDI to MP3 on this site

Google’s US results for “midi to wav” are almost all online converters (FreeConvert, Zamzar, Lacuna, Vertopal and similar). This page is the reverse of our WAV to MIDI path and the WAV-first sibling of MIDI to MP3. Same in-browser SoundFont render; here the first-screen job stops at WAV. Exclusive material below is our own FluidSynth bit-depth / float-clipping matrix and public wav-results.json — not a restatement of those converters’ upload forms.

How big is the WAV from a MIDI to WAV converter?

We rendered one MIDI (from our MP3→MIDI path, 11.379 s of piano with FluidR3_GM at FluidSynth gain 0.8) to three bit depths at 44,100 Hz stereo. Size follows sample rate × channels × bytes/sample × seconds, plus a small header:

FormatFluidSynth flagAudio bytes (formula)HeaderFile size
16-bit stereo-r 44100 default2,007,296442,007,340 bytes
24-bit stereo-O s243,010,944443,010,988 bytes (1.5×)
32-bit float stereo-O float4,014,592884,014,680 bytes (2×)
16-bit monothen ffmpeg -ac 11,003,648781,003,726 bytes

Loudness did not change with bit depth: 16-bit, 24-bit and float all measured −27.9 LUFS with a −13.51 dBFS peak on this MIDI. The in-page tool writes 16-bit stereo peak-normalized to −1 dBFS (different SoundFont TimGM6mb, so loudness differs from the FluidR3 table).

Why render MIDI to a float WAV before you edit it

A 32-bit float WAV keeps peaks above full scale; a 16-bit WAV cuts them off. Same MIDI, FluidR3_GM, raised FluidSynth gain:

GainFloat peak16-bit resultFloat after −1 dB
0.8−13.51 dBFS−13.51 dBFS, 0 samples clippedn/a (already under)
2.0−5.55 dBFS−5.55 dBFS, 0 clippedn/a
4.0+0.47 dBFS0.00 dBFS, 7 samples cut off+0.47 kept; −1 dB restores headroom

Prediction matched each measurement to 0.01 dB. Chords clip at lower gain than a single melody. For DAW work: render with -O float, set level there, then bounce to 16-bit. Raw counts: wav-results.json (2026-10-19).

Offline midi to wav conversion (FluidSynth)

These are the exact commands we used for the tables (FluidSynth 2.4.4 on Linux; same flags on Windows/macOS):

fluidsynth -ni -q -g 0.8 -r 44100 -F song.wav FluidR3_GM.sf2 song.mid
fluidsynth -ni -q -g 0.8 -r 44100 -O float -F song-float.wav FluidR3_GM.sf2 song.mid
fluidsynth -ni -q -g 4.0 -r 44100 -O float -F song-hot.wav FluidR3_GM.sf2 song.mid

Default FluidSynth gain is quiet; we use -g 0.8 for finished 16-bit files and higher only when testing headroom. Trim near-silent tails with FFmpeg if needed — our piano render shortened from 11.379 s to 9.200 s below −60 dB:

ffmpeg -i song.wav -af "areverse,silenceremove=start_periods=1:start_threshold=-60dB,areverse" trimmed.wav

What ranking midi-to-wav tools usually omit

What this page publishes that many upload “midi to wav” forms typically do not:

  • Open formula + measured file sizes for 16 / 24 / float WAV from one MIDI
  • Float vs 16-bit clipping at gain 4.0 with sample counts (+0.47 dBFS / 7 clipped samples)
  • Public JSON of the WAV tests and reproducible FluidSynth flags
  • In-browser TimGM6mb render with no upload (same stack as our MIDI→MP3 tool)

SERP re-fetch for a fresh exclusive score remains available when box Chrome can pull a full 10; we do not invent a tenth organic row.

MIDI end vs sounding length: what the release tail costs in WAV bytes

The size table above uses our 11.379 s piano render. The FluidSynth command block already notes that the same file trims to 9.200 s once near-silent tail below −60 dB is removed. That 2.179 s gap is note-release and reverb decaying after the last MIDI note-off — it is not extra musical material, but it is extra WAV bytes. At 44,100 Hz stereo 16-bit, audio bytes = 44,100 × 2 × 2 × seconds = 176,400 × seconds.

Tail cost at 44,100 Hz. 16-bit stereo uses 176,400 bytes/s; 24-bit stereo 264,600 bytes/s; 32-bit float stereo 352,800 bytes/s (audio payload only).
Tail after last note-off16-bit stereo24-bit stereo32-bit float stereoShare of our 11.379 s 16-bit file (2,007,296 audio bytes)
0.50 s88,200 bytes132,300 bytes176,400 bytes4.4%
1.00 s176,400 bytes264,600 bytes352,800 bytes8.8%
2.179 s (our measured trim)384,376 bytes576,563 bytes768,751 bytes19.1%
3.00 s529,200 bytes793,800 bytes1,058,400 bytes26.4%

Our measured tail is 2,007,296 − (9.200 × 176,400) = 2,007,296 − 1,622,880 = 384,416 bytes, matching 2.179 × 176,400 = 384,376 within one 16-bit stereo frame of rounding. Almost one fifth of that 16-bit WAV is decay after the notes ended. If you need the smallest editor-friendly file, render, then trim with the same FFmpeg silenceremove already printed above. If you need the decay (a pad, a marked sustain pedal), keep the tail and budget the bytes.

TimGM6mb SoundFont size vs the WAV you download

The in-page tool loads /vendor/midi-render/TimGM6mb.sf2 once in the browser. That file measures 5,969,788 bytes (5.69 MiB) on this site. The SoundFont does not grow with MIDI length and is not uploaded anywhere — only fetched as a static asset. The WAV you download does grow with time, as the size table shows.

Static SoundFont versus output WAV payload at 44,100 Hz stereo. WAV audio bytes = 176,400 × seconds for 16-bit; 352,800 × seconds for float.
ObjectBytesRatio vs TimGM6mb (5,969,788)
TimGM6mb.sf2 (this site, measured)5,969,7881.00×
Our 11.379 s 16-bit stereo render2,007,340 file / 2,007,296 audio0.34× — the WAV is smaller than the SoundFont
Our 11.379 s 32-bit float render4,014,680 file / 4,014,592 audio0.67× — still smaller than the SoundFont
60 s 16-bit stereo10,584,000 audio + 44 header1.77×
10 min 16-bit stereo (tool cap)105,840,000 audio + 44 header ≈ 100.9 MiB17.7×
10 min 32-bit float stereo211,680,000 audio + 88 header ≈ 201.9 MiB35.5×

For clips under about 34 seconds of 16-bit stereo (5,969,788 ÷ 176,400 ≈ 33.8 s), the downloaded WAV is smaller than the SoundFont the browser already fetched. Past that point the WAV dominates memory. Program changes inside the MIDI do not download a second SoundFont; they only pick different instruments from the same 5.69 MiB file. That is the opposite of an upload converter, which would send your MIDI out and return a WAV without you hosting a SoundFont at all.

Ten-minute cap: the largest WAV this page will emit

The FAQ states the tool accepts a .mid file under 5 MB and up to 10 minutes. Here is the output budget that cap implies at 44,100 Hz stereo — the same rate the in-page renderer writes — so you can see why a long MIDI should stay at 16-bit unless you still need float headroom.

Maximum output at the 10-minute cap. Audio bytes = rate × channels × bytes/sample × 600.
FormatBytes / sample / channelAudio bytes for 600 sTypical headerFile size at the cap
16-bit stereo (what the page downloads)2105,840,00044105,840,044 bytes (100.93 MiB)
24-bit stereo3158,760,00044158,760,044 bytes (151.40 MiB)
32-bit float stereo4211,680,00088211,680,088 bytes (201.87 MiB)
16-bit mono252,920,0004452,920,044 bytes (50.47 MiB)

The downloaded file from this page is the 16-bit stereo row, peak-normalized to −1 dBFS. A 10-minute float render would be almost twice that (201.9 MiB) and is a desktop FluidSynth choice, not the in-page download. The 5 MB MIDI input cap is separate: a verbose MIDI can hit 5 MB well before 10 minutes, and a compact MIDI can run 10 minutes while staying far under 5 MB. The cap that bounds WAV size is the 10-minute clock, not the 5 MB file size.

Working the opposite path (audio → MIDI) or comparing formats? Start from the audio to MIDI converter or the audio tools hub.

MIDI to MP3 (same render, then 192 kbps encode) · MP3 to WAV · WAV to MIDI (reverse) · audio to MIDI converter · MP3 to MIDI · audio tools hub

MIDI to WAV FAQ

What is midi to wav conversion?

MIDI to WAV conversion means a synthesizer plays the MIDI notes with a SoundFont or virtual instrument and records the audio as an uncompressed WAV file. The converter on this page does that in your browser; the MIDI file is not uploaded.

Can I convert MIDI to WAV for free here?

Yes. Choose a .mid file under 5 MB and up to 10 minutes, click Convert to WAV, and download a 44,100 Hz 16-bit stereo WAV peak-normalized to -1 dBFS. No account and no daily quota.

Should I render MIDI to a 16-bit, 24-bit or float WAV?

Render MIDI to a 32-bit float WAV when you will still change the level: at gain 4.0 our float WAV peaked at +0.47 dBFS and a -1 dB change brought it back intact, while the 16-bit render of the same notes had 7 samples cut off at 0 dBFS. For a finished file, 16-bit is half the size of float.

How big is a WAV rendered from MIDI?

A WAV rendered from MIDI is sample rate × channels × bytes per sample × seconds, plus a small header: our 11.379-second 16-bit 44,100 Hz stereo render is 2,007,340 bytes (44-byte header). 24-bit is 1.5× and float 2× the 16-bit size.

Is MIDI to WAV the same as MIDI to MP3?

Same first step: render notes to audio. MIDI to WAV stops there. MIDI to MP3 encodes that WAV. For MP3 settings and bitrate tests see our MIDI to MP3 page; this page is for midi to wav and midi to wav conversion.