What is KVR Audio? | Submit News | Advertise | Developer Account

Options (Affects News & Product results only):

OS:
Format:
Include:
Quick Search KVR

"Quick Search" KVR Audio's Product Database, News Items, Developer Listings, Forum Topics and videos here. For advanced Product Database searching please use the full product search. For the forum you can use the phpBB forum search.

To utilize the power of Google you can use the integrated Google Site Search.

Products 0

Developers 0

News 0

Forum 0

Videos 0

Search  

The Future of the SFZ Format

Sampler and Sampling discussion (techniques, tips and tricks, etc.)

Moderator: Moderators (Main)

rrichard63
KVRist
 
64 posts since 14 Oct, 2013, from San Francisco Bay Aea

Postby rrichard63; Sat Jun 07, 2014 1:39 pm Re: The Future of the SFZ Format

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.
Last edited by rrichard63 on Sun Jun 08, 2014 8:39 am, edited 2 times in total.
rrichard63
KVRist
 
64 posts since 14 Oct, 2013, from San Francisco Bay Aea

Postby rrichard63; Sat Jun 07, 2014 3:06 pm Re: The Future of the SFZ Format

David (or anyone else who knows),

davidv@plogue wrote:... you can 'overload' any parameter in every child 'leaf'. ...


Could you explain to a noobie what this means, perhaps with a simple (if there is such a thing) example? Thanks!
User avatar
pljones
KVRAF
 
4620 posts since 8 Feb, 2003, from London, UK

Postby pljones; Sun Jun 08, 2014 12:16 am Re: The Future of the SFZ Format

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 100? Where is that defined? Well, the defaults for lokey and hikey are 0 and 127 but there's no such thing as a global setting for sample, hence we have to see if there's anything at a lower level overriding it. The <global> gives us transpose=-12 but no sample. The first <group> gives us a sample and a loop_mode. Neither of the two contained <region>s applies and nor does the second <group>, so we've got all the information we can get. So we play sine.wav with transpose=-12 and defaults for all other known parameters.

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 9:05 am, edited 1 time in total.
rrichard63
KVRist
 
64 posts since 14 Oct, 2013, from San Francisco Bay Aea

Postby rrichard63; Sun Jun 08, 2014 8:38 am Re: The Future of the SFZ Format

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. ...


Thank you. This is very helpful.
User avatar
pljones
KVRAF
 
4620 posts since 8 Feb, 2003, from London, UK

Postby pljones; Sun Jun 08, 2014 9:07 am Re: The Future of the SFZ Format

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 :D
trillnox
KVRer
 
4 posts since 2 Mar, 2013

Postby trillnox; Sat Jun 21, 2014 4:42 am Re: The Future of the SFZ Format

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.
rrichard63
KVRist
 
64 posts since 14 Oct, 2013, from San Francisco Bay Aea

Postby rrichard63; Sat Jun 21, 2014 6:28 am Re: The Future of the SFZ Format

trillnox wrote:There is SFZEd by Steve Holt (see the attached picture).


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: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).


As I asked above:

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?


Thanks in advance.
trillnox
KVRer
 
4 posts since 2 Mar, 2013

Postby trillnox; Sat Jun 21, 2014 6:45 am Re: The Future of the SFZ Format

rrichard63 wrote:
trillnox wrote:There is SFZEd by Steve Holt.

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.

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: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?

It's likely to me that Chicken Systems is the best.
Previous

Moderator: Moderators (Main)

Return to Samplers, Sampling & Sample Libraries