SFZ format documentation

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Post Sat Dec 29, 2018 5:19 pm

I really appreciate the work you guys have been doing!! I don’t know much, but I’m still interested! 🙂
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

prodigal_sounds
KVRer
25 posts since 17 Mar, 2008

Re: SFZ format documentation

Post Sun Dec 30, 2018 1:37 pm

Wow, cool stuff. I'm a fan of SFZ and rolling my own instruments.

For those interested in the SFZ format, I highly recommend Simon Cann's "Cakewalk Synthesizers: From Presets to Power User". I have the 2nd edition... it includes a detailed chapter on the SFZ formats, both 1 and 2.

Link:
https://www.amazon.com/gp/product/14354 ... l_vppi_i11

You might add this link to the wiki.

DSmolken
KVRAF
1649 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Sun Dec 30, 2018 11:39 pm

That's true! Someday I'll get around to documenting all those opcodes in the SFZ 2.0 spec that were only implemented in Cakewalk stuff, too... nothing currently available supports them, but if someone developing an SFZ player wants to implement them, at least they'll be described.

DSmolken
KVRAF
1649 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Tue Feb 26, 2019 7:51 am

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.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 10:41 am

One thing that I think is definitely needed for SFZ is a lowest denominator standardization for compatibility. There needs to be a proposed and accepted basic minimum that everyone agrees on. For example: If I wanted to buy Rusty Drums SFZs to use with LinuxSampler, they wouldn't work. This is supposedly because of the scripting. So, there appears to be a level of SFZ support for LinuxSampler and a more advanced SFZ level of support for Sforzando. This is just an example, but I find it frustrating as a consumer of SFZ samplesets that I can't buy SFZ samples if my DAW is Linux and I'm using LinuxSampler. I bought Secret Agent Guitar last year, and haven't tried it yet, because supposedly it uses scripting as well.

What this all boils down to is that there MUST be a standardization in order for SFZ to remain a viable standard. The standard needs to be maintained and supported by VST Sampler instrument developers and by SFZ instrument content developers. If the group accepts SFZ level 1 support as the baseline compatibility, developers should not use opcodes that make their sample sets incompatible. SFZ should run on EVERY sampler that claims to be SFZ. Likewise, if SFZ level 2 support is decided by the consortium to be the base line of support, VST Sampler instrument developers need to support ALL of the new opcodes that Level 2 supports. If not, then they shouldn't claim full SFZ support.

We need to have a community meeting and a create a consortium accepted SFZ baseline.

Standardization is the only way.

People that I can think of that should be included:

Translation software teams
VST/AU/etc. Instrument software developers that write SFZ samplers and players
Sample instrument makers that record and create multisamples for the format that the samplers and players read
Anyone who is interested in setting an free and open standard for the industry

This, in my opinion is the ONLY way to move SFZ forward--it's too fragmented right now. We have Plenty of proposed and supported opcodes. (In fact, I'd say that we have too many--some of them are too extreme for a "bottom denominator" supported set.

Doing this, we consumers/users who buy the SFZ products will always know what we are buying, and developers will all have a standardized level that their products will be expected to meet to be called SFZ compatible.

SFZ instruments could be allowed a superset of the SFZ format, but would at the very least have to support the SFZ baseline to claim full SFZ compatibility. If it is an extended format (above and beyond the accepted SFZ standard), the format name needs to be called something else (possibly SFZ 3, SFZ+, etc).

Likewise, to be called SFZ compatible, multisample makers need to make their samples run at least on the baseline SFZ standard to be called SFZ. If they want to add extensions, they can call it something else possibly (SFZ 3 SFZ+, etc). But SFZ needs an accepted baseline and everyone needs to agree to it and stick to it.

It's the only way!
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 11:01 am

One way to start would be to get everyone to state the opcodes used in their product currently, whether it be VST Sampler instruments/players or whether it be multisample developers. This would also go for Translation software--we would need to know what opcodes they support. Then, we could create a baseline that most developers currently use. If the major developers would be willing to divulge their level of opcode support, then that would be a great start.

Developers/products that come to mind:

LinuxSampler
Sforzando
Bliss Sampler
Carla
Redux
ChickenSys (Translator)
Awave
Karoryfer
SampleScience
Samples From Mars
Wave Alchemy
michael picher music
Jeff G
etc...
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 11:10 am

Maybe we could start by sending out an excel spreadsheet survey which includes all of the known opcodes and get everyone who develops (and wants to have a voice) to do the survey and give their input. Those who want to participate would be welcome to do so. In the end, we could have a set "Official" standard that everyone could follow/aspire to, and no one would be held back if they want to go beyond as long as the baseline level is supported. We could have a consortium name/badge that all developers who meet the standard could advertise their product to support, which would help with sales of the product as well. :-)

Imagine a product being able to brag: "SFZ Consortium" Compliant! or "SFZ Cooperative" Compliant! or "SFZ Roundtable" Compliant! or etc., etc., etc... whatever the group chooses. :-)
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

enroe
KVRian
1112 posts since 19 Mar, 2008 from germany

Re: SFZ format documentation

Post Wed Feb 27, 2019 11:42 am

@audiojunkie:

You are right - a standard is a capital point. As far as I know there are three
standard levels at the moment:

1. sfz 1
2. sfz 2
3. sfz 2+ (Plogue Sforzando, Aria engine)

The levels and the classification of all levels are already documented at
http://www.sfzformat.com - thanks to DSmolken! :wink:

Missing is: The sensitive use and the labeling of these levels by developers. Some
developer only create "sfz 2+" sample sets and some create very basic "sfz 1" sample sets.
That can be confusing - indeed. :?
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de

DSmolken
KVRAF
1649 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Wed Feb 27, 2019 11:58 am

Yeah, it can be confusing, and hopefully someday we'll get an official SFZ 3.0 standard. I could go through the older Karoryfer instruments and see which ones are just SFZ 1 or SFZ 2, but the more recent ones I do label as requiring Sforzando, so at least there's that. But, yes, at least now we have a site with almost all the opcodes - almost, because there are some such as decim and bitred which were used in Cakewalk stuff, didn't make it to ARIA, and which I still need to document.

Some things might be possible to redo so they'd work with just SFZ 2 but I end up using things beyond that because the ARIA extensions do make things like pan, volume and tuning controls much easier, and using include and master to make things more modular is a huge time-saver when dealing with thousands of samples.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 11:59 am

I can agree with that. :-)

I just wish all instruments/players supported sfz 2+ so that all content (even the basic content) works. I'm not a fan of Sforzando (even though it is free). It is not cross platform and doesn't have any controls without special permissions and such. It DOES have DFD support though.

LinuxSampler has DFD and is cross platform, but supports less opcodes than Sforzando.

Bliss sampler supports SFZ natively and has cool VST + effects sampling (for SFZ) , but it doesn't have DFD. It barely supports Level 1 opcodes.

Carla has basic SFZ support and is not cross platform compatible.

Redux barely supports SFZ and is not cross platform compatible.


If Sforzando became cross platform to include Apple and Linux and provided at least basic ADSR control, or if LinuxSampler supported Level 2+ opcodes, or if Bliss supported level 2+ opcodes then any one of them would work, and content developers wouldn't have to worry at all. :-)
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 12:08 pm

DSmolken wrote:
Wed Feb 27, 2019 11:58 am
Yeah, it can be confusing, and hopefully someday we'll get an official SFZ 3.0 standard. I could go through the older Karoryfer instruments and see which ones are just SFZ 1 or SFZ 2, but the more recent ones I do label as requiring Sforzando, so at least there's that. But, yes, at least now we have a site with almost all the opcodes - almost, because there are some such as decim and bitred which were used in Cakewalk stuff, didn't make it to ARIA, and which I still need to document.

Some things might be possible to redo so they'd work with just SFZ 2 but I end up using things beyond that because the ARIA extensions do make things like pan, volume and tuning controls much easier, and using include and master to make things more modular is a huge time-saver when dealing with thousands of samples.
I like your products! I don't want you to get me wrong. :-) I would just love to be able to use them on LinuxSampler or Bliss or some of the other Linux compatible samplers. :-) I don't think you need to "rework" any of your fine instruments. They are great for Sforzsando. :-) I would however buy more of them if you had patches compatible with all of the major SFZ samplers currently available, such as LinuxSampler or Bliss. If that can't be done, maybe a version labeling SFZ1 or SFZ2, etc. would be useful. As it stands, when I see samples labeled as being for Sforzando, even though they are SFZ2+, I don't think of them as SFZ compatible, because they aren't for the samplers I use. I think of them as simply Sforzando compatible instruments. Which I admit that I noticed that you mention that they are "Sforzando compatible" on your website. :-) Maybe content developers could create two sets of sample patches: SFZ2+ and SFZ 1 (a baseline basic). I'd definitely buy more of them then. :-)
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

DSmolken
KVRAF
1649 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Wed Feb 27, 2019 1:45 pm

Yeah, that's understandable. Doing a Linux version would take a few extra evenings of work (a lot less than a Kontakt version, at least), so then it becomes a question of how many potential sales I'm losing out on by not doing one. With free samples at least I can say "the wavs are included, map'em for whatever sampler you want" but if expecting people to pay, that doesn't really fly.

And at least now if somebody does want to make instruments that will work in LinuxSampler or just need basic SFZ 1 or whatever, the information needed for that is all on one site. That's a big step forward in theory. Whether it's actually resulting in more people making SFZ instruments in practice, I don't know, but we'll see.

PTV
KVRAF
2120 posts since 5 Jan, 2006

Re: SFZ format documentation

Post Wed Feb 27, 2019 2:12 pm

A possible solution for sample developers is to create two sfz programs: one for Sforzando with custom controls and advanced features and another one simple "universal" sfz that can load in any sampler (just mapping)

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 2:24 pm

PTV wrote:
Wed Feb 27, 2019 2:12 pm
A possible solution for sample developers is to create two sfz programs: one for Sforzando with custom controls and advanced features and another one simple "universal" sfz that can load in any sampler (just mapping)
That's really what I'd like to see. :-)
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

User avatar
audiojunkie
KVRAF
2942 posts since 19 Apr, 2002 from Utah

Re: SFZ format documentation

Post Wed Feb 27, 2019 2:29 pm

I know that if I were personally a content creator of SFZ multisamples, I'd be wanting as many users as possible to buy them, and that would mean making my SFZ patches work on as many systems and instruments as possible. But at the same time, I can fully understand how some developers want to have specialized scripts that allow advanced features such as strumming, drum swirls, key switching, etc. Advanced features such as these can add value and sales as well. The key would be to provide support for both on the content provider side, and further opcode support on the sampler/player development side.
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Return to “Samplers, Sampling & Sample Libraries”