Sfz Sample Library Building Resources

I’ve been working on putting together a virtual orchestra sample library of my own recently. I’m assembling it from pieces of a few different free libraries. When I’m done, I intend to share it for free since the resource libraries I’m using are also free. In the mean time, I thought I’d gather together some links to information that I’ve found useful.

This first link is the list of the original sfz 1.0 opcodes. These form the basis of creating a sample library for an sfz player.

Sfz 1.0 description of opcodes

Some further explanation of the sfz 1.0 opcodes can be found here:

Sfz 1.0 further details

Of course, having an sfz player is very important too. I’ve already posted about my sfz player of choice here:

Sfz player – Sforzando – blog post

There are some additional opcodes introduced in sfz 2.0 but information about sfz 2.0 is hard to find online. Here is a link to a list of the sfz 2.0 opcodes that I found:

Sfz 2.0 opcodes

There isn’t much of a description to accompany the list, but once sfz 1.0 is understood, it’s not too difficult to figure out what an sfz 2.0 opcode does.

Linux Sampler SFZ reference

The above link is meant for the Linux Sampler, but it contains explanations of opcodes and could help understand some of the sfz 1.0 and 2.0 opcodes.

And the final SFZ resource, here are a few online chapters from the book:

Cakewalk Synthesizers: From Presets to Power User

That book is apparently the only place the full SFZ 2.0 specification exists. I haven’t read the book but chapter 13 and the appendix are said to address SFZ 2.0.

Because I’m building a virtual orchestra library, I’ve also found this list of instrument ranges to be a helpful guide although, I’m uncertain about the accuracy of some of it. For some instruments, I’ve seen video, and heard samples, of instruments being played outside the specified range, so it’s best to double check.

Playing range of orchestral instruments

Finally, although this blog post is mostly about the sfz format, my previous blog post about Looping a sample, taught me how to use the free tool Audacity to determine the values to put in the sfz “offset” opcode. Using the “offset” opcode together with the “ampeg_attack” opcode, and a few others, is the secret to creating a staccato sample from a sustain sample.

A few more related links:

General Midi percussion key map

MIDI CC numbers

Some YouTube videos on creating sfz files:


SFZ Tutorial Part 1: Hello World!


SFZ Tutorial Part 2: Generators , transpose and ADSR
3 comments on “Sfz Sample Library Building Resources
  1. Thanks, Paul! This is the first webpage I’ve found (after several _hours_ of research) that lists – and links to – the most important resources needed by any musician wanting to make use of the power of the SFZ soundfont format. I appreciate your efforts! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *