How to play a MIDI file with a SoundFont, and export it to WAV or MP3
A MIDI file is only notes. A SoundFont supplies the sounds. Put the two together and you can hear the song, change how it sounds by swapping SoundFonts, and save the result as an audio file. Here are five ways to do it, from a free tool in your browser to a full DAW.
By Aiden Shihadeh, developer of simpleSF2 · Updated 28 October 2026
Quick answer
| Just listen | The free online MIDI player, or VLC |
|---|---|
| WAV or MP3 | The free MIDI to WAV converter, in your browser |
| From the command line | FluidSynth, one command per file |
| Edit the song too | Open the MIDI file in a DAW and play it through a SoundFont plugin |
| Sheet music | MuseScore Studio, which plays and exports with any SF2 |
simpleSF2 plays SoundFonts in any DAW on Windows, macOS and Linux. Download free
Unlock multiple libraries, 16-channel multitimbral mode, and reverb and chorus for £9.99. One-time purchase.
Unlock 16 channels + reverb — £9.99Pick the right SoundFont first
Most MIDI files are written for General MIDI: channel 10 is drums, and each other channel asks for one of 128 standard instruments by number. For those, use a General MIDI SoundFont, one bank that has all 128 instruments and a drum kit. GeneralUser GS is a good free one. A single-instrument SoundFont, like a piano, will play every part on that one instrument.
Game music is the exception. A MIDI file ripped from a game often sounds right only with that game's own SoundFont. The video game SoundFonts guide covers where those come from.
Way 1: In your browser, with nothing to install
I made two free tools for this, using simpleSF2's own sound engine. Both come with
GeneralUser GS, a free General MIDI SoundFont, and both let you pick your own
.sf2 instead. Your files are read in your browser and never uploaded.
- The online MIDI player plays a
.midfile as soon as you drop it in. It's the quickest way to hear how a song sounds with different SoundFonts, and you can tap an instrument to mute it. - The MIDI to WAV converter renders the song through the SoundFont and saves it as WAV, MP3, FLAC or AIFF.
Both take SF2 files only, not SF3 or SFZ, and they play the song as it is. To change notes, swap one instrument or mix the parts, use a DAW (way 4).
Way 2: Listen in VLC
VLC plays MIDI files through a built-in FluidSynth, but it needs to be told which SoundFont to use.
- Open Tools → Preferences (on a Mac, VLC → Settings).
- At the bottom left, under Show settings, choose All.
- Go to Input / Codecs → Audio codecs → FluidSynth.
- Set SoundFont file to your
.sf2, save, and restart VLC.
VLC is for listening. It can't reliably save the result as audio with your SoundFont, so use one of the other ways for that.
Way 3: Export WAV with FluidSynth
FluidSynth is the free, open-source SoundFont synth behind VLC, MuseScore and many other tools. It runs on Windows, Mac and Linux, and with one command it turns a MIDI file into a WAV:
fluidsynth -ni -F song.wav -r 44100 soundfont.sf2 song.mid
-niruns it without a shell or MIDI input, so it renders and exits.-F song.wavwrites the audio to a file instead of your speakers.-r 44100sets the sample rate.
Get FluidSynth from your package manager on Linux (sudo apt install
fluidsynth), Homebrew on a Mac (brew install fluid-synth), or the
Windows builds on its GitHub releases page. If the result is too quiet, raise the gain
with -g 0.5 (the default is 0.2). Much higher and busy songs start to
clip.
Way 4: Open the MIDI file in a DAW
This is the way to go if you want to change anything: fix a note, swap one instrument, add effects, or mix it properly. Every DAW opens MIDI files. You then play them through a SoundFont plugin such as simpleSF2.
- Drag the
.midfile into your DAW, or use its import command. Most DAWs create one track per MIDI channel. - Load simpleSF2 on a track and import your SoundFont.
- For a General MIDI file, switch on simpleSF2's 16-channel mode (part of the £9.99 unlock) and send every MIDI track to that one instance. Each channel then picks its own instrument from the file's program changes, and channel 10 plays drums, just like a hardware General MIDI module.
- With the free version, put one simpleSF2 on each track instead and pick each track's preset by hand.
- Export or bounce the song to WAV. REAPER, FL Studio, Cubase and Studio One can also export MP3 directly.
Step-by-step setup for your DAW: REAPER, FL Studio, Ableton Live, Logic Pro, GarageBand, Cubase, Studio One and LMMS.
Way 5: MuseScore Studio, for sheet music
MuseScore Studio is a free notation
program that opens MIDI files as sheet music and plays them through SoundFonts. To add your
own, drag the .sf2 onto the MuseScore window and confirm the install. Then
open the Mixer (F10), and in each instrument's Sound slot
choose SoundFonts and your file. File → Export
saves WAV, MP3, FLAC or OGG. Good if you want to see or print the notes; awkward if the
MIDI file is a dense game or dance track.
Turning the WAV into an MP3
The MIDI to WAV converter saves MP3 directly, and so do REAPER, FL Studio, Cubase, Studio One and MuseScore Studio. If your tool only gave you a WAV, convert it afterwards. In Audacity (free), open the WAV and use File → Export Audio with MP3 as the format. From the command line, ffmpeg does it in one go:
ffmpeg -i song.wav -b:a 192k song.mp3
Keep the WAV if you plan to edit the song again, since every MP3 conversion loses a little quality.
Common questions
Why does my MIDI file sound like a cheap keyboard?
Your computer is playing it with its own built-in General MIDI sounds (Microsoft GS Wavetable Synth on Windows, for example). Play it through a better SoundFont using any of the ways above.
Can I convert an SF2 file to WAV?
An SF2 file isn't a song, so there's nothing to convert on its own. What you can do is play a MIDI file, or your own notes, through it and record the result. The MIDI to WAV converter does that with any MIDI file and your SF2. To get the raw samples out of an SF2, open it in the free editor Polyphone and export them; the make your own SoundFont guide shows Polyphone's layout.
Why are the drums playing as a piano?
The drum part needs to be on MIDI channel 10, and the player needs to treat channel 10 as drums. In simpleSF2's 16-channel mode this happens automatically. With one instance per track, pick the SoundFont's drum kit preset (usually bank 128) on the drum track.