liquidsfz is a free and open source sampler that can load and play .sfz files. It can also load and play Hydrogen drumkits. We support JACK and LV2.
The main goal is to provide a library that is easy to integrate into other projects.
- API documentation is available here: https://space.twc.de/~stefan/liquidsfz/api-0.4.2
- There is also a list of currently supported SFZ opcodes
The API should be fairly stable at this point, so we try to maintain source compatibility.
To compile liquidsfz from a release source archive, use the usual
./configure
make
make install
You need the packages (on Debian/Ubuntu):
- build-essential (including a C++17 compiler)
- pkg-config
- libjack-jackd2-dev (JACK client)
- libreadline-dev (JACK client)
- lv2-dev (LV2 plugin)
- libgl-dev (LV2 GUI)
- libx11-dev, libxext-dev, libxrandr-dev, libxcursor-dev (LV2 GUI)
- xz-utils (installing the LV2 GUI font)
- libsndfile1-dev
Some components can be disabled during configure: --without-jack turns off
the JACK client and its JACK/Readline dependencies; --without-lv2 turns off
the LV2 plugin and its LV2/OpenGL/X11 dependencies.
If you are building from Git, you also need these packages for autogen.sh:
- autoconf
- automake
- libtool
- autoconf-archive
The LV2 GUI uses the ImGui submodule. Initialize it after cloning, then use
autogen.sh in place of configure:
git submodule update --init --recursive
./autogen.sh
make
make install
autogen.sh also runs configure and accepts its options, for example
./autogen.sh --without-jack. Release source archives already include the
required ImGui sources and generated configure script.
The liquidsfz command line program can be used like this:
liquidsfz ~/sfz/SalamanderGrandPianoV3_44.1khz16bit/SalamanderGrandPianoV3.sfz
Or if you want to load a Hydrogen drumkit, like this:
liquidsfz /usr/share/hydrogen/data/drumkits/GMRockKit/drumkit.xml
Finally, support for AriaBank .bank.xml files is available. Files can be loaded
like this
liquidsfz ~/sfz/karoryfer.shinyguitar-master/Shinyguitar.bank.xml
and programs can be switched using the program command.
liquidsfz works as a JACK client with midi input and audio ouput. If you connect the JACK midi input / audio output using a patchbay, you can send midi events to liquidsfz to test the sfz loader.
If you are interested in using a graphical front-end in conjunction with JACK, you can try QLiquidSFZ.
We provide an LV2 plugin, for hosts like Ardour/Carla/Qtractor and others, which is built and installed by default. It can also be downloaded as binary release below.
On Linux, the GUI's "Load SFZ/XML File..." button requires one of zenity,
kdialog, or yad at runtime. Install any one of these packages with your
distribution's package manager. This also applies to the binary LV2 plugin;
these helpers are not required to compile liquidsfz.
The code is licensed under MPL-2.0.
The current version of liquidsfz is liquidsfz-0.4.2, and can be downloaded here:
The LV2 plugin (and only the LV2 plugin) is available as self-contained 64-bit binary.
The Linux version is available here:
To install it, extract the archive and
mkdir -p $HOME/.lv2
cp -a liquidsfz.lv2 $HOME/.lv2/
The Windows plugin is no longer supported (in 0.4.0 or higher), an old version is available at
To install it, extract the zip file to the location where your LV2 plugins are, usually
C:\Program Files\Common Files\LV2
If you are a Windows developer and need only the .dll (not the plugin or JACK client), there is experimental support for building on Windows but this is experimental and may or may not work.