||This article appears to be written like an advertisement. (November 2013)|
SoundFont is a brand name that collectively refers to a file format and associated technology designed to bridge the gap between recorded and synthesized audio, especially for the purposes of computer music composition. SoundFont technology is an implementation of sample-based synthesis, first used on the Sound Blaster AWE32 sound card for its General MIDI support, and is still supported on current Sound Blaster products. See also Gravis Ultrasound.
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.
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.1 of the SoundFont file format was introduced in 1998 with an E-mu sound card product called the Audio Production Studio. The 2.1 version added features allowing sound designers to configure the way MIDI controllers influence synthesizer parameters. The 2.1 format is bidirectionally compatible with 2.0, which means that synthesizers capable of rendering 2.1 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.1 format, but just not apply the new features.
SoundFont 2.4 (there never was a 2.2 or a 2.3 version) was introduced in 2005 with the Sound Blaster X-Fi. The 2.4 format added support for 24-bit samples. The 2.4 format is bidirectionally compatible with the 2.1 format, so synthesizers that are only capable of rendering 2.0 or 2.1 format would automatically render instruments using 24-bit samples at 16-bit precision.
Sample-playback-based MIDI synthesizers use wavetables to define the base samples that are used to render their MIDI files. MIDI files in themselves don't contain any sounds, rather they contain only instructions to render them, and consequently rely on the wavetables to render such sounds correctly. SoundFont-compatible synthesizers allow users to use SoundFont banks to augment these wavetables with custom samples to render 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.
1-minute song, MIDI played through SoundFonts
|Problems playing this file? See media help.|
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)
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.
- "Digital Sound Factory releases SoundFont libraries". rekkerd. 2007. Retrieved 2007-08-30.
- Viena, free sf2 editor.
- Swami, free soundfonts editor for Linux.
- Polyphone, free sf2 editor for Windows, Mac OS X and Linux.