Features

Larger integer file sizes

With SFE, you can go far beyond the 2GB limit. Signed integer file sizes are no longer supported by compliant players, so 4GB banks are supported with the 32-bit chunk format.

The 64-bit RIFS chunk format extends SFE with nearly unlimited file sizes.

MSB and LSB bank selection

Say goodbye to player hacks with more than 2 million melodic instrument locations, and support for multiple percussion instrument banks. You can support XG or GM2 without needing to rely on proprietary player behaviour.

Future versions will allow you to support multiple standards at once, including XG, GM2, GS, CM and GM, based on system reset, allowing you to play more MIDI files seamlessly.

ISFe sub-chunk and feature flags

All SFE-specific information in one place means creating and saving SFE banks is easier than ever, and improved forwards compatibility with legacy SoundFont players.

Compatibility issues are solved with a standardised method of determining SFE feature support.

SFE Compression

Reduce the size of your SFE banks with ease. Based on the Werner SF3 compression system popular with today's open-source SoundFont players, SFE Compression includes full support for the OGG Vorbis and FLAC codecs, and containerised WAV samples.

UTF-8 support in text fields

You can add accented characters, different alphabets, kanji, kana and even emoji to your banks. Combined with support for SpessaSynth expanded data support, sample, instrument and preset names can be longer than ever.

Sample, instrument and preset names can be up to 40 characters long, increased from 20 characters in the SoundFont format. In practice, the length limit is between 10 and 40 characters.

Forwards compatibility

SFE 4 is committed to being forwards-compatible with legacy SoundFont players. Non-containerised SFE 4 banks (using the 32-bit chunk format) are forwards-compatible with legacy SoundFont 2.0x and Werner SF3 players while containerised and compressed SFE 4 banks (using the 32-bit chunk format) are forwards-compatible with Werner SF3 players that support the codec in use.

You can also use certain existing SoundFont extensions including SpessaSynth extensions (such as DMOD), with SynthFont Custom Features planned in a future update.

Long term support

We commit to adding new features to SFE 4, even after newer SFE versions are released. This is because SFE 4 is the branch that remains foundational forward compatibility with legacy SoundFont players.

When it comes time to update your SFE banks to a newer major version, support documents will be provided.

Frequent feature updates

Our aim is to add features in a way that is easy to implement, useful for creating all-new sound bank experiences, and work will with existing popular features, all without severely affecting forwards compatibility or requiring program developers to rewrite their SoundFont programs.

We also aim to provide usable reference implementations for each feature as soon as the feature is described in the specification, so you can check how the feature should work.