You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| 4.0-rc2 | Development | December 26, 2024 | Made small changes to the feature flag system<br>Revised how duplicated presets between banks are handled<br>Deleted a few references to future versions |
7
+
| 4.0-rc1a | Release candidate | December 18, 2024 | Human-readable version introduced <br>Fixed some words and formatting <br>Removed reference to dynamic RIFF for now |
6
8
| 4.0-rc1 | Release candidate | December 10, 2024 | Overhauled specification structure <br>Included program and compatibility specifications, AWE ROM emulator specification and feature flags in same document <br>Removed references to future features <br>Got rid of even more redundant things <br>Added a few more sections <br>Changed some wordings <br>Added release candidate information <br>Shortened SF history to just the post-2.04 breakthroughs |
7
9
| 4.0.11a | Update | December 9, 2024 | Corrected some hyphenations for the word "sub-chunk". |
8
10
| 4.0.11 | Milestone | December 9, 2024 | Separated copyright/trademark and draft disclaimers <br> Rewritten 0.2 <br> Separated SFe team and special thanks lists <br> Corrected a name <br> Added and changed a few definitions <br> Added concept of RIFF-type format structures and rewrote 3.1 accordingly <br> Added clarification to 5.12.3 about tree structure <br> Defined new SFty value for 8-bit samples <br> Made it clear that a missing smpl sub-chunk without an SFty value that implies 8-bit samples means that a bank is Structurally Unsound <br> Added 6.2c <br> Added the SFe Compression 1.0 standard based on FluidSynth Werner SF3 August 2021 specification <br> Versioning update again <br> More consistent use of words and formatting <br> Added SiliconSFe specification <br> Clarified that no new illustrations are required for SFe 4.0. <br> Removed reference to real-time synthesis, as that feature won't be added before SFe 5.0 |
@@ -27,9 +27,9 @@ The SFe standard has been created to provide a successor to E-mu Systems®'s Sou
27
27
28
28
## 1.2 Changelog
29
29
30
-
| Revision | Date | Description |
31
-
| -------- | ---------------- | ----------- |
32
-
|4.0-rc1a | 18 December 2024 | n/a |
30
+
| Revision | Date | Description |
31
+
| ------------| ---------------- | ----------- |
32
+
|This version | 26 December 2024 | n/a |
33
33
34
34
For draft specification revision history, see `draft-revision-history.md` (available in the SFe specification package or on the GitHub repository).
35
35
@@ -524,7 +524,7 @@ Assume `Final` if contents are unknown.
524
524
525
525
The `WORD` value `wSFeDraftMilestone` contains the draft specification milestone or release candidate number that a bank was created to. This varies depending on the value of `achSFeSpecType`.
526
526
527
-
The case-sensitive UTF-8 character field `achSFeFullVersion` contains the full version string of the specification used, for example `4.0-rc1a`.
527
+
The case-sensitive UTF-8 character field `achSFeFullVersion` contains the full version string of the specification used, for example `4.0-rc2`.
528
528
529
529
If the `SFvx` sub-chunk is missing or of an incorrect size, assume these values:
530
530
@@ -943,13 +943,11 @@ The feature flags system is split like this:
943
943
- Bit 2: Reserved
944
944
- Bit 3: Reserved
945
945
946
-
### 6.2.7 Branch 05 SiliconSFe support
947
-
948
-
#### 05:00 User-defined sample ROMs
946
+
#### 04:02 User-defined sample ROMs
949
947
950
948
- Bit 1: Support for user-defined sample ROMs
951
949
952
-
#### 05:01 ROM emulator
950
+
#### 04:03 ROM emulator
953
951
954
952
- Bit 1: 1MB ROM emulator support
955
953
@@ -1017,7 +1015,7 @@ This occurs when the file is structurally damaged or manually edited in a manner
1017
1015
- In SFe, the preset to be used is no longer necessarily the first one. Instead, selecting the correct preset (or combination of presets) to use will be permissible.
1018
1016
- Such a feature is optional, and if not implemented, the player should use the legacy SF2.04 behavior in these cases (use the first preset found).
1019
1017
- Editors should warn the user if such presets are found.
1020
-
- This behavior might change in future versions, so please take the `ifil` value, and later versions of this specification, into account. In particular, later versions of SFe will use the `ISFe-list` sub-chunk to determine this behavior.
1018
+
- This behavior might change in future versions, so please take the `ifil` value, and later versions of this specification, into account.
1021
1019
1022
1020
## 8.4 Duplicated preset locations across files
1023
1021
@@ -1027,9 +1025,10 @@ This occurs when multiple files are loaded simultaneously (now a required featur
1027
1025
- This was because multiple file loading was not a standard feature mandated in the legacy SoundFont® standard.
1028
1026
- Legacy SF2.04 and Werner SF3 compatible software developers therefore had the liberty to implement multiple file loading; however, they wanted to.
1029
1027
- This edge case will now be defined in SFe.
1030
-
- If multiple presets across loaded files have the same value of `byBankMSB`, `byBankLSB` and `wPreset`, then the preset to be used may be selectable from all the presets with the same bank location, depending on the player implementation. The preset to be used may also be a combination of multiple presets.
1031
-
- Such a feature is also optional, and if not implemented, you can either use the first preset found, or you can combine all the presets.
1032
-
- This behavior might change in future versions, so please take the `ifil` value, and later versions of this specification, into account. In particular, later versions of SFe will use the `ISFe-list` sub-chunk to determine this behavior.
1028
+
- If multiple presets across loaded files have the same value of `byBankMSB`, `byBankLSB` and `wPreset`, then the preset to be used may be selectable from all the presets with the same bank location (in the way described in section 8.3).
1029
+
- Such a feature is optional, and if not implemented, the player should use the legacy SF2.04 behavior in these cases (use the first preset found).
1030
+
- Editors should warn the user if such presets are found.
1031
+
- This behavior might change in future versions, so please take the `ifil` value, and later versions of this specification, into account.
1033
1032
1034
1033
## 8.5 Undefined chunks
1035
1034
@@ -1412,7 +1411,7 @@ If an implementation is unable to reach the layering requirements without crashi
1412
1411
1413
1412
- Upgrade the `ifil` version in the header from `wMajor=2`, `wMinor=4` to `wMajor=2`, `wMinor=1024`.
1414
1413
- Overwrite the `isng` value with `SFe 4`.
1415
-
- Create an `ISFe-list` sub-chunk with information: `SFty = "SFe-static"`, `SFvx = 4, 0, Release Candidate, 1, "4.0-rc1"`, `flag` corresponding to features used in the bank.
1414
+
- Create an `ISFe-list` sub-chunk with information: `SFty = "SFe-static"`, `SFvx = 4, 0, Release Candidate, 2, "4.0-rc2"`, `flag` corresponding to features used in the bank.
0 commit comments