Self-owned backup fork of sfztools/sfizz (archived upstream 2025). Buildable snapshot in R2/archive.
Find a file
2019-09-16 16:05:55 +02:00
benchmarks Added a "diff" SIMD helper, and some more benchmarking... 2019-09-15 21:14:02 +02:00
clients Garbage collection disabled in the jack client (there is a race condition as we have 2 threads and only one atomic protecting the file data, so the garbage collector could clean up the file data before the boolean is set) 2019-09-16 16:05:55 +02:00
external Updated abseil 2019-09-10 16:14:01 +02:00
scripts Updated readme and scripts for Clang 2019-09-09 12:18:01 +02:00
sfizz Cleaned up the voice source fetching 2019-09-16 16:05:55 +02:00
tests Velocity tracking and replacements in note ons and offs are now done at the synth/global level. Velocity is always replaced and checked, since some libraries use "release" along with velocity ranges 2019-09-16 13:17:18 +02:00
.gitignore Updated Gitignore 2019-09-16 16:05:55 +02:00
.gitmodules Re-added submodules 2019-09-08 18:37:08 +02:00
CMakeLists.txt Updated modules 2019-09-08 18:17:58 +02:00
LICENSE.md Create LICENSE.md 2019-08-30 00:53:38 +02:00
README.md Updated readme and scripts for Clang 2019-09-09 12:18:01 +02:00

sfizz

Building

Sfizz depends on the sndfile library. The Jack client that you will probably build depends on the jack library. To build sfizz you need to install both as shared libraries on the system. In Debian-based distributions, this translates into

sudo apt install libjack-jackd2-dev libsndfile1-dev

The process is as follows:

  1. Clone the repository with all the submodules
  2. Create a build directory for CMake and cd into it
  3. Prep the Makefiles with the SFIZZ_CLIENTS option
  4. Build
  5. Enjoy :)

In the shell world, this means

git clone --recursive https://github.com/paulfd/sfizz.git
cd sfizz
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D SFIZZ_CLIENTS=ON ..
make

You can then find the Jack client in clients/sfizz_jack. Just specify an .sfz file as a parameter and you are good to go. The client will forcefully connect to the system output, and open an event input in Jack for you to connect a midi capable software or hardware (e.g. jack-keyboard). If no Jack server is already started it will start one with basic options.

Possible pitfalls and alternatives

If you already cloned the repository without the --recursive option, update the submodules manually with

git submodule update --init --recursive

You can build with clang, although in that case the CMakeFile defaults to using libc++ instead of libstdc++.