What's new

Sfzformat - documenting SFZ and how to use it

DSmolken

Senior Member
For a couple of months now, I've been documenting the sfzformat.com wiki with information on all the listed opcodes, and also added a couple of guides on mapping basic drums and sustained instruments. I've collected the information published in other places, documented SFZ 2 and ARIA extensions opcodes, and tried to make the explanations and examples more meaningful to musicians instead of being dry and programmerly and forcing the reader to figure out what something might actually be useful for.

I'm gonna keep this going, planning to document the modeling I've done for things like vibrato, snare drum stirs, guitar feedback, Peter Jones' hierarchical hi-hat muting scheme etc. which should contain a lot of information that's applicable cross-format too.

So, if anybody would like to give making SFZ instruments a try, there's now one site that should document all the opcodes and hopefully serve as a one-stop information store. If any info's still missing, do let me know.
 

David Cuny

Summer, we hardly knew ye.
The resource looks nice, thanks! :cool:

Do you know if there any public information available for creating a GUI for Aria instruments? Based on this enhanced Aria skin for the EWI I've got a pretty good idea of how to create a GUI using XML. But I'm not sure what the XML file should be called (my_instrument.xml, perhaps), or how the param and slot parameters might interact with the SFZ parameters.

For my purposes, that's overkill anyway. I'm mostly interested in being able to show which MIDI keys work as keyswitches.

Any clue how to do that?
 
OP
DSmolken

DSmolken

Senior Member
The GUIs, that's not public, and the main XML for each instrument bank needs to be digitally signed by Plogue, but they'll do that for free for non-commercial instruments which are half-decent. You can contact them if you want the documentation and example files.

For keyswitches, though, sw_low, sw_high and sw_label are the opcodes.
 

David Cuny

Summer, we hardly knew ye.
The GUIs, that's not public, and the main XML for each instrument bank needs to be digitally signed by Plogue, but they'll do that for free for non-commercial instruments which are half-decent. You can contact them if you want the documentation and example files.

For keyswitches, though, sw_low, sw_high and sw_label are the opcodes.
Thanks! :thumbsup:
 
OP
DSmolken

DSmolken

Senior Member
I have documented hierarchical hi-hat muting and limiting cymbal polyphony. It's pretty long and dense reading, but I go through simpler cases at first, so you don't have to implement everything at once. The principles will mostly apply to any sampler, not just ones that use SFZ.

Here's the article:

http://www.sfzformat.com/index.php?title=Cymbal_muting

Edit: fixed the splash muting rules, so now it mutes everything else, too.
 
Last edited:
OP
DSmolken

DSmolken

Senior Member
http://www.sfzformat.com/index.php?title=Legato and http://www.sfzformat.com/index.php?title=Vibrato added to the SFZformat page. Not much there yet, just the Meatbass settings for envelope legato and LFO vibrato. I'll expand those later, wiht all the stuff like different sax vibrato types, and also true sampled legato. But I figured that these, as simple as they are, are enough to be useful to people looking to do simple, basic stuff.

When it's done, the vibrato page is probably gonna be bigger and more complicated than the cymbal muting, but the simple stuff will still be simple, and I'll also add a proper explanation of what does what.
 
OP
DSmolken

DSmolken

Senior Member
Major update to the http://sfzformat.com site - moved to Github pages which are more mobile-friendly, cleaned up a whole lot of small errors in the process, and also made the LinuxSampler opcode support information a whole lot more accurate. The page repository is at https://github.com/sfzformat/sfzformat.github.io and we also have a Discord server for page update and general SFZ discussions.

Also put my open-source instruments on Github at https://github.com/sfzinstruments and will upload other developers' open-source stuff there later.
 
OP
DSmolken

DSmolken

Senior Member
Added some tutorials... the brush stirs one I mentioned in another post, which isn't really all that SFZ-specific just uses SFZ as an example, and these two explaining the modulations possible under the SFZ1 and SFZ2 specs:



The second includes a simple way to make sax vibrato that goes below the main note's pitch, and also using LFOs to modulate other LFOs and achieve humanization.

We could use more contributions, if somebody wants to help out. We could use someone who knows Jekyll plugins so we can reorganize the opcode info into a proper data structure and generate pages and tables from it. We could also use code examples of things we haven't posted yet. Examples of piano-specific stuff like release noises, pedal noises and half-pedaling would be great, as would true sampled legato, or a subtractive synth. I know all those things are possible but haven't really done them so I don't really have anything handy.
 
OP
DSmolken

DSmolken

Senior Member
And an in-depth desription of implementing vibrato, including different ways to humanize it, asymmetrical vibrato for saxes and guitars, and filter wobble.


As usual, code examples are in SFZ, but the principles will apply anywhere. And, as this is an open-source project and hosted on Github as such, feel free to adapt this and port the code examples to Kontakt, HISE or whatever.
 
Top Bottom