SFZ format documentation

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
DSmolken
KVRAF
1530 posts since 20 Sep, 2013 from Poland

Post Wed Aug 01, 2018 12:50 am

Documentation about the SFZ format is scattered, incomplete, and makes it difficult for new users to get started. I'm trying to do something about that.

http://www.sfzformat.com is not complete, but I've started populating that with information from older resources, and adding some more explanation about what the opcodes might be practically used for. A lot of the earlier documentation is very dry and "programmerly", which means you have to read what each opcode does on a technical level, try to understand how it might be used in a real instrument, and then see if that applies to the instrument you are trying to make. I'm also trying to address that by explaining things in more "musicianly" terms.

Right now, the SFZ 1 opcodes are filled in, headers, and I've written the first two parts of a guide explaining how typical instruments are made:

http://www.sfzformat.com/index.php?title=Drum_basics
http://www.sfzformat.com/index.php?titl ... ote_basics

Next is populating the SFZ 2 opcode information, and explaining how I've set up different types of vibrato for different instruments, Peter Jones' hi-hat muting rules as implemented in Swirly Drums, snare stirs, guitar feedback etc. It'll probably take months, but I think there's enough there to be usable now, so if anybody wants to try making a simple SFZ instrument for this year's KVRDC...

If any things are missing or not clear, let me know.

User avatar
Michael L
KVRAF
2609 posts since 25 Jan, 2014 from The End of The World as We Knowit

Re: SFZ format documentation

Post Wed Aug 01, 2018 1:24 am

Wow. Thank you. This resource has been needed for so long!
As you point out, for larger sample sets more complex tools are needed. Sfzed is Windows only, but the distinguised gentleman Hon. S. Gossner of Versilian Studio made a free Folder-to-SFZ Converter utility in Java (http://vis.versilstudios.net/sfzconverter.html) Perhaps you can work with him to add the full set of opcodes, and host that updated utility on both your sites?

Melkor
KVRian
946 posts since 25 Feb, 2008 from Sydney, Australia

Re: SFZ format documentation

Post Wed Aug 01, 2018 1:32 am

I think its great... sfz just has so much potential.

Really, there isnt much you can't do with it, with regard to sample playback.

Lately, I've been getting into random release samples (for bass gtrs, ie squeeks and slides etc)... The plain text editing is both a pro and a con, but I've come to now prefer it... I don't use sfzed anymore at all.


I'm using bassmidi, and it really seems to fit the bill as a portable player for my sfz library.... Its like a modern version of the old sfz, actually has a few controls, and seems to behave very similar, on the few sfz files I've tried with it.

Sforzando is better, but isnt portable.
Which is a major drag when you are wanting to use your sfz stuff, that you painstakingly compiled specifically to be portable! (and sound good, of course).
Prestissimo in Moto Perpetuo

DSmolken
KVRAF
1530 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Wed Aug 01, 2018 2:48 am

One thing that's definitely missing right now is a list of current SFZ players, and also tools which can export or create SFZ. I should definitely add a page for that.

It's great to know that this is appreciated by the rightful lord of Arda. If you want to explain something about different ways to use release samples, or whatever else, I can also include that in there somewhere.

enroe
KVRian
959 posts since 19 Mar, 2008 from germany

Re: SFZ format documentation

Post Wed Aug 01, 2018 2:13 pm

That is a great and needed project!

Since there is no complete docu about sfz the only
way to work with sfz is to pick up different infos
here and there.

Another point is: For the dongleless world in
sampling, sfz + sforzando are going to become
the standard! There's nothing you can't
do with it (except that sforzando is not portable).

So @ DSmolken: Thank you in advance - and I am
very eager to see your works! :tu:
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de

Dee.P.Tree
KVRist
243 posts since 25 Aug, 2015

Re: SFZ format documentation

Post Fri Aug 03, 2018 3:24 am

Thank you sir for this project. I am very much dependant on SFZs. It may be helpful to community.

I have came across this tool to create one. I have not used it, but, looks easy to use.

http://mildon.me/sfzdesigner

You may list it in sfz creation tools.

Regards,
Dee.

DSmolken
KVRAF
1530 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Fri Aug 03, 2018 5:21 am

I've added short lists of SFZ players and SFZ creation tools. Probably incomplete, so let me know what's missing, and if there's a better link for BassMIDI.

http://www.sfzformat.com/index.php?title=SFZ_player
http://www.sfzformat.com/index.php?titl ... tion_tools

So, what should I focus on next - documenting what the SFZ 2 opcodes do, or expanding the instrument-making guides with explaining how to emulate things like release samples, vibrato, legato etc?

User avatar
AHmedia
KVRer
1 posts since 13 Jul, 2018

Re: SFZ format documentation

Post Fri Aug 03, 2018 5:24 am

Polyphone, the SF2 editor can also import/export SFz. I use it a lot to breathe new life into older SoundFonts and it's a very capable editor. I don't know how it handles SFz specifically and what features are supported, but since Polyphone is free, I thought I'd throw that out there.

DSmolken
KVRAF
1530 posts since 20 Sep, 2013 from Poland

Re: SFZ format documentation

Post Fri Aug 03, 2018 6:06 am

Sure, added that one as well. Right now it's just a list, but if somebody tells me what is and isn't supported, I can add all that info there.

kinwie
KVRist
249 posts since 22 Aug, 2013

Re: SFZ format documentation

Post Fri Aug 03, 2018 6:20 am

DSmolken wrote:Sure, added that one as well. Right now it's just a list, but if somebody tells me what is and isn't supported, I can add all that info there.
It support all SF2 parameters but not the modulators and recognize only SFZ version 1 format of the equivalent parameters for the import and export. SFZ v2.0 is not supported.
I suggest and help the developer for the Polyphone's sfz feature addition.
I also suggest sfz to BASS MIDI dev and tested several earliest beta version.

User avatar
Michael L
KVRAF
2609 posts since 25 Jan, 2014 from The End of The World as We Knowit

Re: SFZ format documentation

Post Fri Aug 03, 2018 12:07 pm

DSmolken wrote:So, what should I focus on next - documenting what the SFZ 2 opcodes do, or expanding the instrument-making guides with explaining how to emulate things like release samples, vibrato, legato etc?
The logical order is as you say: what they do; then how to adapt them. We really need the first to fully understand the second, yesno?

User avatar
pljones
KVRAF
6456 posts since 8 Feb, 2003 from London, UK

Re: SFZ format documentation

Post Fri Aug 03, 2018 12:54 pm

I'd suggest an overall guide to SFZ 2 would be useful. SFZ1 was small enough that I could cover it all on the one page, including the overview (it all fitted into the one small table in "The model in more detail", really). For SFZ2, that same table would need to have at least one more dimension and be generally bigger! But I think it does help to have that general idea of what the approach to the design of the opcodes is, how you start with a "base" and then add "modulators" and "conditions" to it.

Begs the question of whether you assume everyone reading the guide will understand the format of a MIDI event, too...

goldglob
KVRian
767 posts since 10 Jan, 2007 from London

Re: SFZ format documentation

Post Fri Aug 03, 2018 4:52 pm

DSmolken wrote:I've added short lists of SFZ players and SFZ creation tools. Probably incomplete, so let me know what's missing, and if there's a better link for BassMIDI.

http://www.sfzformat.com/index.php?title=SFZ_player
http://www.sfzformat.com/index.php?titl ... tion_tools

So, what should I focus on next - documenting what the SFZ 2 opcodes do, or expanding the instrument-making guides with explaining how to emulate things like release samples, vibrato, legato etc?
Better link for BassMIDI is http://falcosoft.hu/softwares.html
It's the VSTi by falcosoft and based on the Bass/BassMidi libraries by Un4Seen.
The link you have on your site is to the original Un4Seen stuff which is something that can be integrated into the Windows OS as a replacement for the Windows built in MIDI player (or something like that), whereas the falcosoft is a VSTi just like any other soundfont/sfz player (64 bit as well).
Scroll way down the page to find it.
And nearer the top of the page is 'Soundfont MIDI player' which is actually a standalone version of the same thing (handy for quickly auditioning MIDI files on your desktop, and 64 bit as well). Don't be fooled by the dated looking GUI, the falcosoft stuff is current and still updated, not like most of the good ol' soundfont players.
And probably worth pointing out that the name 'BassMIDI' is misleading....nothing to do with the Bass, it's a soundfont/sfz player.
It's free.

Melkor
KVRian
946 posts since 25 Feb, 2008 from Sydney, Australia

Re: SFZ format documentation

Post Fri Aug 03, 2018 10:15 pm

Yes, I'll mention again that Bassmidi is delivering the goods for SFZ playback here...

It doesn't have adsr or filter cutoff/res (what exactly is that "tone" knob doing?) but it responds to midi cc, ie I can change the amp envelope via a js plugin that sends midi cc.

Not sure about dfd, but it has an option to load the entire SFZ into ram, and if this isn't selected, it loads each sample as it gets triggered (kinda like kontakt purge mode).

I rarely bother with SFZ v2... Most of the time I use rgc sfz anyway... What is in v2 that I'm missing out on? :)
Prestissimo in Moto Perpetuo

User avatar
pljones
KVRAF
6456 posts since 8 Feb, 2003 from London, UK

Re: SFZ format documentation

Post Fri Aug 03, 2018 11:44 pm

Melkor wrote:What is in v2 that I'm missing out on? :)
You can't do proper hi-hats in V1. (Yes, that _is_ all I care about :hihi: )

Return to “Samplers, Sampling & Sample Libraries”