The SFZ file format is a human readable instrument definition file format for audio sample based virtual instruments. In contrast to many other sampler file formats you can open and modify such .sfz files simply with any text editor.
A sfz file is divided into sections. A section defines in which context the subsequent statements in the sfz file shall be interpreted as. For example You may want to declare a lowpass filter to be used either for the entire sfz instrument, or you may declare the lowpass filter to be only used for a certain region on the keyboard instead. A section is introduced by its section name, where the section name is placed in a pair of angle brackets. The section name is then followed by the respective sfz opcodes which shall be assigned to that particular section. The sections available with sfz are:
Section | Standard | Description |
---|---|---|
<global> | SFZ v1 | Declarations which shall apply to the entire instrument. |
<group> | SFZ v1 | TODO ... |
<region> | SFZ v1 | TODO ... |
<control> | ? | TODO ... |
<curve> | ? | TODO ... |
<effect> | ? | TODO ... |
The actual individual statements which make up the articulation definition of a sfz instrument are called opcodes. For example there is an opcode for loading and assigning a sample file to be played. And there is an opcode for defining envelope parameters, and so on. The opcodes available with the SFZ file format are:
Opcode | Standard | Description |
---|---|---|
sample | SFZ v1 | Load and assign an audio sample file. |
script | LinuxSampler Ext. | Load an real-time instrument script for the instrument. |
set_ccN | SFZ v2 | Assign initial value to MIDI controller. |
TODO ... |