SF2

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
SoundFont
SF2.png
Developer: E-mu Systems, Inc., Creative Labs, MuseScore
Header: RIFF
Content: PCM
Instruments: Intrinsic
Target Output
Output - Digital Audio.png Output - MIDI - No.png Output - FM Synthesis - No.png Output - PSG - No.png
Released: 1990-??-??
First Game: ?
Extensions
  • *.sbk
  • *.sf2
  • *.sf3

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 SoundFont 1 uses SBK extension while SoundFont 2 versions uses SF2 extension which also supports compressed files with SF3 extension.

SF3 is a variant of the SF2 format created by MuseScore. It uses Ogg Vorbis compression in the smpl chunk to reduce file size and the shdr field uses slightly different indexes, otherwise it's identical to the SF2 format.

Creative sound cards like Sound Blaster AWE32 and Sound Blaster Live! have onboard RAM with native SoundFont support for hardware wavetable synthesis.

Players

(Category)

Editors

(Category)

Converters

(Category)

SF2 to ?

? to SF2

Games

(Category)

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