SoundFont is a brand name that collectively refers to a file format and associated technology that uses sample-based synthesis to play MIDI files. It was first used on the Sound Blaster AWE32 sound card for its General MIDI support.
The newest version of the SoundFont file format is 2.04 (often incorrectly called 2.4). It is based on the RIFF format. A detailed description can be found in the specification, which is currently only available as a copy on various company sites.
The original SoundFont file format was developed in the early 1990s by E-mu Systems and Creative Labs. A specification for this version was never released to the public. The first and only major device to utilize this version was Creative's Sound Blaster AWE32 in 1994. Files in this format conventionally have the file extension of .SBK or .SB2.
SoundFont 2.0 was developed in 1996. This file format generalized the data representation using perceptually additive real world units, redefined some of the instrument layering features within the format, added true stereo sample support and removed some obscure features of the first version whose behavior was difficult to specify. This version was fully disclosed as a public specification, with the goal of making the SoundFont format an industry standard. All SoundFont 1.0 compatible devices were updated to support the SoundFont 2.0 format shortly after it was released to the public, and consequently the 1.0 version became obsolete. Files in this and all other 2.x formats (see below) conventionally have the file extension of SF2.
Version 2.01 (usually, but incorrectly called 2.1) of the SoundFont file format was introduced in 1998 with an E-mu sound card product called the Audio Production Studio. The 2.01 version added features allowing sound designers to configure the way MIDI controllers influence synthesizer parameters. The 2.01 format is bidirectionally compatible with 2.0, which means that synthesizers capable of rendering 2.01 format will also by definition render 2.0 format, and synthesizers that are only capable of rendering 2.0 format will also read and render 2.01 format, but just not apply the new features.
SoundFont 2.04 (there never was a 2.02 or a 2.03 version) was introduced in 2005 with the Sound Blaster X-Fi. The 2.04 format added support for 24-bit samples. The 2.04 format is bidirectionally compatible with the 2.01 format, so synthesizers that are only capable of rendering 2.0 or 2.01 format would automatically render instruments using 24-bit samples at 16-bit precision.
MIDI files do not contain any sounds, only instructions to play them. To play such files, sample-based MIDI synthesizers use recordings of instruments and sounds stored in a file or ROM chip. SoundFont-compatible synthesizers allow users to use SoundFont banks with custom samples to play their music.
A SoundFont bank contains base samples in PCM format (similar to WAV files) that are mapped to sections on a musical keyboard. A SoundFont bank also contains other music synthesis parameters such as loops, vibrato effect, and velocity-sensitive volume changing.
SoundFont banks can conform to standard sound sets such as General MIDI, or use other wholly custom sound-set definitions.
SoundFont creation software (.sf2 format)Edit
Several .sf2 editors are available:
- Vienna from Creative Labs, requiring a particular sound card (such as Sound Blaster),
- Viena (with a single "n"), created in 2002,
- Swami is a collection of free software for editing and managing musical instruments for MIDI music composition, used mainly under Linux,
- Polyphone, free editor for Windows, Mac OS X and Linux created in 2013.
- e.g. at http://www.synthfont.com/sfspec24.pdf (PDF; 518 kB; The document incorrectly claims to be for version 2.01 in the page footer.
- "SoundFont 2.1 Application Note" (PDF). Retrieved 10 November 2014.
- "Digital Sound Factory releases SoundFont libraries". rekkerd. 2007. Retrieved 30 August 2007.
- Viena, free sf2 editor.
- Swami, free soundfonts editor for Linux.
- Polyphone, free sf2 editor for Windows, Mac OS X and Linux.