What is sfz?

sfz is a freeware sample/soundfont player from rgc:audio, who were bought out by
Cakewalk in 2006 or 2007 (I forget).
You can get it from their
Project5 site.
Take care: there was an update in 2006 to cater for multithreading; you may need to search harder for that.
(Hint.)

What is "sfz format"?

sfz format is an open, non-proprietry method of describing a set of samples and how a sample player should play them.
It explicitly doesn't include the samples in the file, unlike Soundfonts or GigaSampler sets
(but similarly to a number of other proprietry binary formats).
As the description is a text file, it's very easy to create and - more importantly - easy to tweak.

I've written a more in depth description that you can find here
and the rgc:audio description is here.

DSmolken has been working hard to get the SFZ Format Wiki Pages project in a fit state.
It's now probably the best place for SFZ 2.x and also covers SFZ 1.x.

My latest (published...) attempt at Notepad++ styling is available here
(but should be considered work in progress - there is also one on the SFZ Format Wiki).

If manually tweaking text files isn't for you, Steve Holt has created a graphical interface to the format.
It's still under development and you can read about it on his site.

However, if you really enjoy command line text processing tools, I've a few PERL scripts that I used to create the mappings.
Note that I ran all this under GNU BASH rather than Microsoft CMD.

NOTE: Due to apparently unalterable server configuration issues with GoDaddy,
I have had to name all the script ending with ".pl-remove" rather than ".pl". Please remove "-remove".

makesfz.pl and spansfz.pl are used to process a directory
listing of "properly-named" samples (e.g. "instrument C#2.wav", etc).
If multiple velocity layers are present, some manual intervention (or clever use of the sort command) is required.

dropoct.pl and raiseoct.pl adjust files made with the above scripts - there are different standards for naming octaves, so these are handy!

Finally, qnd_sf2tosfz.pl and sf2tosfz.pl post-process the decompilation output of SF2comp.EXE (a soundfont compiler/decompiler). sf2tosfz.pl does a fairly complete effort (bar SF2 modulators - I might fix them up one day).
Handy if you have a soundfont you want to tweak but detest soundfont editors.

One way to get some idea what's going on inside a soundfont is to use SF2COMP (mentioned elsewhere on this site).
It appears to live here, including the source.
Better is to use sfZed, though.

As mentioned above, sfZed produces sfz format mappings from soundfonts.
I still like to hack the maps by hand, so I created this script
to simplify the sfZed output.
It's currently customised towards drumkits but it should be fairly easy to tweak for other purposes.

Note: when using an sfz format file, sfz currently loads all referenced samples into memory as 32 bit samples (even if the file is 16 bit), so you need a fairly generous amount of RAM to get the best from it.

For a more in depth discussion of velocity mapping, see the Amplifier section of my
sfz documentation. There is also a link to another handy utility.
You might then find the following find/replace command handy:
Find: // \(\d+\):\s+\(.*\)\s+(-[\d.]+)$Replace: <region> lovel=000 hivel=\1 amp_velcurve_\1=1 sample=..\Wav\\2(changing "..\Wav\" as required for the sample set).

Where are the mappings?

I have a few groups of mappings available from this site. None of the samples are here (nearly)!
The index pages below direct you to the appropriate place.