SF2
SoundFont | |||||
![]() |
|||||
Developer: | E-mu Systems, Inc., Creative Labs | ||||
Header: | RIFF | ||||
Content: | PCM | ||||
Instruments: | Intrinsic | ||||
Target Output
| |||||
Released: | 1990-??-?? | ||||
First Game: | ? | ||||
Extensions |
|
SoundFont (SF2) file format widely used by Creative Sound Blaster AWE32 and by software synthesizers. The file doesn't store music, but it does contain the digital audio samples for instrument collections and parameters for further shaping the sound and specifying how the sample should be played.
Older, proprietary SoundFont1 uses SBK extension while SoundFont2 versions uses SF2 extension which also supports compressed files with SF3 extension.
Creative sound cards like Sound Blaster AWE32 and Sound Blaster Live! have onboard RAM with native SoundFont support for hardware wavetable synthesis.
Contents
Players
- Awave Studio - Windows
- Falcosoft MidiPlayer6 - Windows
- FluidSynth - Linux, Unix, Windows
- Digital Sound System - DOS
- MIDI (XMPlay) - XMPlay
- MIDI Decoder - foobar2000
- modizer - IOS
- ModPlug Tracker - Windows
- SpessaSynth - Web
- SynthFont - Windows
Editors
- Awave Studio - Windows
- Polyphone - Linux, Macintosh, Windows
- Project Swami - Linux, Macintosh, Windows
- SpessaSynth - Web - note: it technically only allows trimming SF2 files for specific MIDI files and compressing them
- SynthFont Viena - Windows
- Vienna SoundFont Studio - Windows
Converters
SF2 to ?
- Awave Studio - Windows - DLS
- Polyphone - Linux, Windows, Macintosh - SF3, SFZ
- sftools - Linux - SF3
- SpessaSynth - Web - SF3, RMI
? to SF2
- libdmusic - Linux, Windows - DLS
- SpessaSynth - Web - DLS
- SynthFont Viena - Windows - DLS - note: this program incorrectly interprets DLS values as SF2 generators (inverting the attenuation for example), resulting in wrong volume and envelope values.
Games
SF3
SF3 is a version of the SF2 format created by MuseScore. It uses Ogg Vorbis compression for reduced file size, otherwise it's identical to the SF2 format. It uses the *.sf3 extension.
Technical
All SoundFont files use RIFF tree structure, and the identifier is "sfbk".
RIFF Tree Structure
File Root │ └─ RIFF:sfbk - RIFF SoundFont bank header ├─ LIST:INFO - Information container │ ├─ ifil - SoundFont version │ ├─ isng - SoundFont hardware signature │ ├─ irom - SoundFont ROM info │ ├─ iver - SoundFont ROM version │ ├─ INAM - Name / Title │ ├─ IPRD - Product │ ├─ ICOP - Copyright │ ├─ ICMT - Comment │ ├─ IENG - Engineer who worked on the file │ └─ ... ├─ LIST:sdta - Samples │ ├─ smpl - Sample waveform data as 16-bit signed PCM │ └─ sm24 - 8-bit PCM data to add to the smpl chunk, forming 24-bit sample data (optional) ├─ LIST:pdta - Instrument definitions and parameters │ ├─ phdr - Preset headers: name, bank, program, zones │ ├─ pbag - Preset zones: start and end index, refer to pbag and pmod │ ├─ pmod - Preset modulators: all modulators for the preset level │ ├─ pgen - Preset generators: all generators for the preset level │ ├─ inst - Instrument headers: name, zones │ ├─ ibag - Instrument zones: start and end index, refer to ibag and imod │ ├─ imod - Instrument modulators: all modulators for the instrument level │ ├─ igen - Instrument generators: all generators for the instrument level │ └─ shdr - Sample headers └─ ...
Links
- en.wikipedia.org/wiki/SoundFont - Wikipedia.
- synthfont.com/sfspec24.pdf - SoundFont format specification.