Author’s note: Although this article has been written from the point of view of a keyboard player being able to play new instrument sounds on their computer and midi keyboard, it also applies to drum sounds playable in midi.
What is a Soundfont?
A soundfont is a collection of sounds or audio samples that have been arranged to be played back by a computer’s sound card. It’s probably best to think of these as a sound library, arranged into specific folders by instrument. They can be played from your computer keyboard (depending on the software you use) or by a midi keyboard or even a midi drum controller if you have one.
They are arranged in banks of 128 sounds – 0 to 127.
They usually follow the General Midi (GM) format, which has a Piano as preset 0, right through to a Gunshot on preset 127.
You computer will already have a default soundfont which it uses.
I recently found out that it resides with your system32 folder – I am not suggesting that you mess with this though!
Why bother with Soundfonts?
1) They are freely available for download from various sources* to expand your library of sounds.
2) You can used them to create wav’s and mp3’s from existing midi files using i-Tunes, synthfont or midi converter studio.
3) You can play them directly from a midi keyboard and a software soundfont player, such as sfz+ or sfz in a Digital Audio Workstation (DAW) such as Reaper.
4) You can audition individual sounds within a soundfont, using Viena
5) They can be compressed and uncompressed with special software which is freely available (sfark, sfpack) and works a bit like Winzip.
*Where can I get FREE Soundfonts from?
File formats: What you need to know.
A standard soundfont file will have the following file extension (the three letters after the file name preceded by a dot, e.g. .sf2)
An example of a soundfont file name is a340.sf2
Here’s a screenshot of a typical directory full of soundfonts:
It may also have an alternative format .sfz
You can convert a soundfont (.sf2) file into an (.sfz) file by using Extreme Sample Converter 3
It creates a directory with all the relevant samples in and maps each sample to a specific key on your midi keyboard.
Here’s an extract from an .sfz file I created:
Test File By Neil Paddock – Sounds By Silicon Beats
<region> sample=C:\Users\Neil Paddock\Desktop\Silicon_Beats\kick.wav
<region> sample=C:\Users\Neil Paddock\Desktop\Silicon_Beats\snare_supraphonic_ghost.wav
You may also find soundfont files with other file extensions such as:
These formats contain standard soundfont files (Usually .wav (audio) files) which have been compressed to save space, a bit like compressing files with the Winzip or the Winrar utility.
You will need to convert/decompress .sfpack or sf2pack or .sfArk files before they can be used in a standard soundfont player.
(These both work a bit like Winzip)
How can I start using them straight away?
You will need a sample player. Cakewalk have a FREE one called sfz+ which you can download from here. You will need to register and set up an account with them first.
Using Soundfonts in sfz+
– click on the file window
– load the soundfont file
– play it
– left click to advance the presets 0 through to 127
– save as a preset (.rpl or fxp) for future reference
2) Using sfz+ in a DAW (We’ll use Reaper)
Click in the “File” window to load the soundfont from your hard drive and select the preset you want from the “Program” window. Left clicking moves to the next one. Left clicking on the Program Name (e.g. 0: Piano 1) advances to the next preset. Left clicking on “Program” gives you access to all 128 Presets.
– create a new project (Ctrl + N)
– create a new track within the project (Ctrl + T)
– click the FX button on the track you have just created to load sfz+
– If you have a midi keyboard connected (via midi or usb cable), arm the track (the red “ar” button) and turn monitoring on (the speaker button). Make sure the input sends on all midi channels. You will also need midi enabled and probably want ASIO drivers loaded.
– type sfz+ into the filter list (You will need to have downloaded the .dll file first and saved somewhere such as c:\Program Files\Steinberg\VSTPlugins\sfz+)
– click on the file window
– load the soundfont file from the directory that you store your soundfonts in (I use C:\Program Files\Soundfonts)
– play a note on your midi keyboard to see if it works
– left click on the “Program Name” to advance the presets 0 through to 127
– right click on the “Program Name” to go backwards from 127 to 0
– save as a preset (.rpl or fxp) in Reaper if you want for future reference
Note: Cakewalk also offer an alternative FREE soundfont player called sfz
which you can download from here:
Using soundfonts in Reason
– Create an NN-XT sample player
– Load the soundfont into it and the specific patch you want to play
– Save it as an .sxt preset so you can return to it later
What are the best GM soundfonts?
These are ones I have tried and they all work and sound good. The biggest is shown first. Some may be compressed so you will need to decompress them first to create the .sf2 format
Synthfont.com is a good place to get soundfonts from.
FluidR3 Gm.sf2 (144mb)
WeedsGM3.sf2 (54mb) bennetng_AnotherGS_v2-1.sf2 (33mb)
chorium.sf2 – distributed as an SF2pack with Midi Converter Studio, over at Maniac Tools (link given above).
Note: Please always respect the author’s wishes and use these appropriately. Generally, the soundfont authors like to be informed of the use of a soundfont and will NOT allow you to re-distribute as part of a sample library. Please check the readme that comes with the soundfont for specific details. These guys have put in huge efforts, sometimes over many years, to bring you these sounds, so please respect their wishes and say thanks. Some may also request a donation and at least a credit or acknowledgement for use.
And let’s face it, how many of us want to spend a year sampling a Grand Piano? Getting in touch and saying thank you is way easier!
**Here’s a demo I found on YouTube of how a soundfont can be applied to a standard midi file
Additional (External) Links:
An alternative Soundfont Player to sfz+: Bismark (The FREE Player is a called bs-0 (Software playback sampler))
How to create your own soundfont files: