sndkit is a sonic toolkit for computer music composition.
It aims to bring a collection of useful audio DSP algorithms together in one ecosystem, and document how they work.
Each algorithm in the sndkit collection is written using literate programming, a paradigm that aims to present computer structure using natural language. This means that each algorithm has both an implementation (in ANSI C) as well as a brief explanation for how the implementation works.
Sndkit provides a core C api that allows the algorithms to be connected together to created patches. Patches can be conveniently built up using the LIL scripting language, included with the sndkit distribution.
Code and Installation
A standard POSIX C compilation environment is required (clang/gcc, Make, etc). There are no external third party libraries. Everything required is included inside the codebase, including a version of the tangler program required to convert literate programs to C code.
To compile, run:
This will produce an executable called
sndkit, which is
really a LIL interpreter fortified with sndkit functions.
You can test it with:
Which should produce a WAV file in the current directory called
sndkit can be installed with:
sudo make install
It is possible to run sndkit in realtime. However...
To keep things reasonably portable and manageable, realtime audio support is left as an exercise to the reader ;)
The only thing sndkit supports is offline rendering WAV files.
Available DSP Algorithms
The HTMLized version of the algorithms can be browsed here.
The text in this wiki is licensed under the Creative Commons Zero license, otherwise known as "CC0".
All tangled output is dual-licensed under MIT or the Unlicense.
(such as those found in the
extras folder) may
have their own permissive license.