The Future of the SFZ Format
-
- KVRist
- 268 posts since 14 Oct, 2013 from San Francisco Bay Aea
Many thanks to infectedpimple for starting this very valuable discussion, and to all the participants.
One of the themes here is the absence of a GUI instrument editor. A couple of the roadblocks have already been mentioned. One is that the developer of such a program would be shooting at a moving target. Another is that the open source and free software development communities are not as vibrant in the computer music field as they are in other aspects of computing.
The world needs an SFZ sampler, ideally with a simple wave editor for trimming samples, setting loop points, and normalizing; a graphical representation for manipulating key ranges and velocity layers; some means for keeping track of articulation groups; and (as someone wisely suggested earlier in this thread) profiles for several target SFZ players. In its absence I have been trying to figure out what to do, with little success.
One approach is to use an existing editor like Kontakt, Halion, LinuxSampler or whatever and rely on one of the existing translation programs to move instrument definitions to and from SFZ files. The list includes Chicken Systems Translator, CdXtract, Extreme Sample Converter and Awave Studio. Which leads to my noobie question for all you seasoned veterans:
Which combination of instrument format (.nki, .gig., etc.) and conversion software provides the most complete (strike "most complete" and replace it with "least incomplete") translation back and forth?
Another approach I am considering is an editor that stores its instruments in text format, so that a converter can be written and maintained by somebody with my archaic and rusty programming skills. TX16Wx is a great tool in its own right, and it writes its instruments in XML. I haven't started trying to map back and forth between its opcodes and SFZ opcodes, so I don't know what the problems are. There may well be other candidates.
Comments and suggestions are welcome. Thank you.
One of the themes here is the absence of a GUI instrument editor. A couple of the roadblocks have already been mentioned. One is that the developer of such a program would be shooting at a moving target. Another is that the open source and free software development communities are not as vibrant in the computer music field as they are in other aspects of computing.
The world needs an SFZ sampler, ideally with a simple wave editor for trimming samples, setting loop points, and normalizing; a graphical representation for manipulating key ranges and velocity layers; some means for keeping track of articulation groups; and (as someone wisely suggested earlier in this thread) profiles for several target SFZ players. In its absence I have been trying to figure out what to do, with little success.
One approach is to use an existing editor like Kontakt, Halion, LinuxSampler or whatever and rely on one of the existing translation programs to move instrument definitions to and from SFZ files. The list includes Chicken Systems Translator, CdXtract, Extreme Sample Converter and Awave Studio. Which leads to my noobie question for all you seasoned veterans:
Which combination of instrument format (.nki, .gig., etc.) and conversion software provides the most complete (strike "most complete" and replace it with "least incomplete") translation back and forth?
Another approach I am considering is an editor that stores its instruments in text format, so that a converter can be written and maintained by somebody with my archaic and rusty programming skills. TX16Wx is a great tool in its own right, and it writes its instruments in XML. I haven't started trying to map back and forth between its opcodes and SFZ opcodes, so I don't know what the problems are. There may well be other candidates.
Comments and suggestions are welcome. Thank you.
Last edited by rrichard63 on Sun Jun 08, 2014 4:39 pm, edited 2 times in total.
-
- KVRist
- 268 posts since 14 Oct, 2013 from San Francisco Bay Aea
David (or anyone else who knows),
Could you explain to a noobie what this means, perhaps with a simple (if there is such a thing) example? Thanks!davidv@plogue wrote:... you can 'overload' any parameter in every child 'leaf'. ...
- KVRAF
- 7137 posts since 8 Feb, 2003 from London, UK
Code: Select all
<global> transpose=-12
<group> loop_mode=one_shot
sample=sine.wav
<region> lokey=64 hikey=96 loop_mode=continuous
sample=saw.wav
<region> lokey=16 hikey=48 loop_mode=loop_sustain transpose=+12
sample=square.wav
<group> lokey=16 hikey=96 loop_mode=continuous
<region> lovel=1 hivel=16 sample=1.wav
<region> lovel=17 hivel=127 sample=2.wav
What plays if I hit note 32? Well we get through as far as <group> just the same and the first <region> does not apply quite clearly. The second <region> has a key range this falls into, so it applies. Here two previously-set values get overridden in the child leaf node: loop_mode (from <group>) and transpose (from <global>) to give the set of parameters used.
But also, the second <group> now matches. Depending on the velocity, we'll also play 1.wav or 2.wav (from whichever <region> matches) with loop_mode continuous (from the second <group>) and transpose=-12 (from <global>).
Last edited by pljones on Sun Jun 08, 2014 5:05 pm, edited 1 time in total.
-
- KVRist
- 268 posts since 14 Oct, 2013 from San Francisco Bay Aea
Thank you. This is very helpful.pljones wrote:... Here two previously-set values get overridden in the child leaf node: loop_mode (from <group> and <transpose> from <global>) to give the set of parameters used. ...
- KVRAF
- 7137 posts since 8 Feb, 2003 from London, UK
I just spotted I could have made it more fun by moving the second group's loop_mode=continuous down to one of the contained regions
-
- KVRer
- 3 posts since 3 Mar, 2013
rrichard63 wrote:One of the themes here is the absence of a GUI instrument editor.
There is SFZEd by Steve Holt (see the attached picture). Also, one can use Scripting (e.g., Microsoft Visual Basic) to write information to a TXT file (which gets saved as an SFZ file) based on "filename formatting" parameters of WAV files and this method requires no GUI.
rrichard63 wrote:The world needs an SFZ sampler
Plenty of Samplers already import SFZ (e.g., Camel Audio Alchemy, Image-Line DirectWave). As you mentioned, there's no shortage of Sample Converting programs either to convert to other formats (e.g., SF2).
You do not have the required permissions to view the files attached to this post.
-
- KVRist
- 268 posts since 14 Oct, 2013 from San Francisco Bay Aea
I have this program. I find it harder to use than instrument editors with wave editors for trimming and setting loop points, and GUI representations of keymaps, velocity layers, etc.trillnox wrote:There is SFZEd by Steve Holt (see the attached picture).
As I asked above:trillnox wrote:Plenty of Samplers already import SFZ (e.g., Camel Audio Alchemy, Image-Line DirectWave). As you mentioned, there's no shortage of Sample Converting programs either to convert to other formats (e.g., SF2).
Thanks in advance.rrichard63 wrote:Which combination of instrument format (.nki, .gig., etc.) and conversion software provides the most complete (strike "most complete" and replace it with "least incomplete") translation back and forth?
-
- KVRer
- 3 posts since 3 Mar, 2013
Hmm, well what I do is separate WAV editing from SFZ Patch making. SFZEd gives a "virtual keyboard" interface which works as long as you have sfz.dll for "Auditioning".rrichard63 wrote:I have this program. I find it harder to use than instrument editors with wave editors for trimming and setting loop points, and GUI representations of keymaps, velocity layers, etc.trillnox wrote:There is SFZEd by Steve Holt.
It's likely to me that Chicken Systems is the best.rrichard63 wrote:As I asked above: Which combination of instrument format (.nki, .gig., etc.) and conversion software provides the most complete (strike "most complete" and replace it with "least incomplete") translation back and forth?
-
- KVRist
- 41 posts since 13 Apr, 2015
...And where are we now?
Well, I'd say we're in the same place JavaScript would be if there weren't an abundance of online references/guides on it.
What do we get if we try to find out what sfz is, or how we can use it? A couple of obscure, outdated pages that list the old opcodes with little or no explanation of how to use them or construct a simple file. And as for the sfz 2.0 spec, well there seems to be a worldwide conspiracy to keep that book selling.
It's hardly surprising that most people who look into it would quickly dismiss it as inaccessible. They may just as well go for the proprietary options that have all the fancy bells and whistles because at least they'll get some documentation to tell them how to use all the fancy bells and whistles.
Without proper documentation, an sfz player is only as good as the sample libraries you can get for it. Kind of defeats the point to me.
I don't use Sforzando myself as I haven't figured out how to make it portable yet, but it seems to be the foremost player at the moment. Having comprehensive sfz support and being free, I'd imagine it should be. As such, I'd expect them to lead the way in terms of documentation. whether they'd actually want to pull people to their site to browse online resources is a question for them.
Well, I'd say we're in the same place JavaScript would be if there weren't an abundance of online references/guides on it.
What do we get if we try to find out what sfz is, or how we can use it? A couple of obscure, outdated pages that list the old opcodes with little or no explanation of how to use them or construct a simple file. And as for the sfz 2.0 spec, well there seems to be a worldwide conspiracy to keep that book selling.
It's hardly surprising that most people who look into it would quickly dismiss it as inaccessible. They may just as well go for the proprietary options that have all the fancy bells and whistles because at least they'll get some documentation to tell them how to use all the fancy bells and whistles.
Without proper documentation, an sfz player is only as good as the sample libraries you can get for it. Kind of defeats the point to me.
I don't use Sforzando myself as I haven't figured out how to make it portable yet, but it seems to be the foremost player at the moment. Having comprehensive sfz support and being free, I'd imagine it should be. As such, I'd expect them to lead the way in terms of documentation. whether they'd actually want to pull people to their site to browse online resources is a question for them.
-
- KVRist
- 268 posts since 14 Oct, 2013 from San Francisco Bay Aea
+1. Very well said. I would add that this situation also make it hard, if not impossible, to develop and maintain players that are compatible with one another -- let alone software to build instruments.Marctwo wrote:... What do we get if we try to find out what sfz is, or how we can use it? A couple of obscure, outdated pages that list the old opcodes with little or no explanation of how to use them or construct a simple file. And as for the sfz 2.0 spec, well there seems to be a worldwide conspiracy to keep that book selling.
It's hardly surprising that most people who look into it would quickly dismiss it as inaccessible. They may just as well go for the proprietary options that have all the fancy bells and whistles because at least they'll get some documentation to tell them how to use all the fancy bells and whistles.
Without proper documentation, an sfz player is only as good as the sample libraries you can get for it. Kind of defeats the point to me. ...
- KVRAF
- 7137 posts since 8 Feb, 2003 from London, UK
It covers 1.0 and 2.0 and provides a clear reference guide. It's worth getting if that's what you're after.Marctwo wrote:And as for the sfz 2.0 spec, well there seems to be a worldwide conspiracy to keep that book selling.
Compare the number of people using JavaScript and SFZ. Then compare the number of available resources. You'll probably find it's reasonably in line.
It looks like I need to put some meta tags into my SFZ page as Google now seems to complete ignore it. Or maybe I need to pay them or something.
- KVRAF
- 4290 posts since 31 Oct, 2004
From my research, Sfz is not a viable format to sell multi-sampled sounds. There are too many compatibility problems with it... It's not very popular and most people don't care about it. Most people are either using Kontakt or any of the commercial sampler options available out there (mostly Ableton Live racks using simpler/sampler).
It's only interesting if you're a software developer who wish to implement the format into their software synthesizer. Otherwise, I don't see the point. For simple mapping it's okay, but I'm not even sure my ADSR programming would translate well in the samplers and synths that loads Sfz. No good...
It's only interesting if you're a software developer who wish to implement the format into their software synthesizer. Otherwise, I don't see the point. For simple mapping it's okay, but I'm not even sure my ADSR programming would translate well in the samplers and synths that loads Sfz. No good...
-
- KVRian
- 904 posts since 3 Aug, 2001 from Montreal
SFZ 2.0 can do any sort of flex EG other samplers can.SampleScience wrote:For simple mapping it's okay, but I'm not even sure my ADSR programming would translate well in the samplers and synths that loads Sfz. No good...
No there is no conspiracy involving the book. Its copyrighted work. I for one would love to have the time to build an official spec and publish it for free. time Time time.
David Viens, Plogue Art et Technologie Inc. Montreal.
https://twitter.com/plgDavid
https://plogue.com
https://twitter.com/plgDavid
https://plogue.com
-
- KVRAF
- 2142 posts since 20 Sep, 2013 from Poland
I don't know about the sell part, but it's certainly popular with people who like free stuff. Lots of times you see comments at BPB to the effect of "I wish there was an SFZ version".SampleScience wrote:From my research, Sfz is not a viable format to sell multi-sampled sounds. There are too many compatibility problems with it... It's not very popular and most people don't care about it.
-
- KVRian
- 1222 posts since 2 Dec, 2008 from Finland
Please, oh please, try to find that time. Two years, three years, no problem! Maybe at the very least consider taking a long walk to think about how you would do it, if you would do it. It could do so much good and since you're an expert, you really are the person to do it.davidv@plogue wrote:SFZ 2.0 can do any sort of flex EG other samplers can.SampleScience wrote:For simple mapping it's okay, but I'm not even sure my ADSR programming would translate well in the samplers and synths that loads Sfz. No good...
No there is no conspiracy involving the book. Its copyrighted work. I for one would love to have the time to build an official spec and publish it for free. time Time time.
The fact that the standard is so hard to get hold of makes the format practically a closed one. The only way to learn more about it is to come by instruments that others have made and then trial and error of what works where and how. It's clearly very versatile, and had it been entirely free I'm sure it would have caught on better.