Sfz Sample Library Building Resources

Virtual Playing Orchestra is an sfz based free virtual orchestra sample library. It’s assembled from other sfz based free sample libraries. These are some of the resources that can help with building an sfz library and understanding the sfz format..

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.

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.

This next resource states “This is the main reference point for anyone who wants to create virtual musical instruments using the SFZ format.” The web site looks to me like it’s trying to be exactly what it claims. It’s definitely worth a look.


When building my library I 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 *