The Sound Design Toolkit (SDT) is an open-source (GPLv3) framework for ecologically founded sound synthesis and design. Think of it as a virtual Foley-box! It can simulate various acoustic phenomena arising from solid interactions (e.g. collision, rubbing, rolling, scraping), liquids (e.g. dripping, streaming water), gasses (e.g. explosions, blowing wind), and machines (e.g. combustion engines, electric motors). The library consists of physically informed sound synthesis models, audio processing algorithms and analysis routines.
The SDT is mainly aimed at research and education in Sonic Interaction Design (SID), but it's been successfully used in musical contexts as well.
The SDT sound synthesis algorithms have been implemented according to three main points:
- auditory perceptual relevance;
- cartoonification, i.e. simplification and exaggeration of the underlying physics in order to increase both computational efficiency and perceptual clarity;
- parametric temporal control, which ensures appropriate, natural and expressive articulations of sonic processes.
API documentation can be found online here: https://skat-vg.github.io/SDT/
The core library (framework and API) is implemented in the C language, making it suitable for developing interactive media such as games, audio and VR applications.
In addition, the SDT algorithms are made available as ready-to-go externals and patches for Cycling '74 Max and Pure Data (Pd). In particular, a package is provided for Max which offers an advanced front-end GUI, as well as examples with presets and tutorials.
A Max package (Mac OS and Windows) and a Pd library (Mac OS, Windows and Linux) which include patches and precompiled externals, as well as the SDT shared core library / Apple framework are provided as release assets of this repository at: https://github.com/SkAT-VG/SDT/releases Unpack the appropriate .zip file for your operating system and target platform into the desired destination folder.
Users may as well build a Max package, Pd library, shared core library /
Apple framework on their machines. In that case, make sure to pull the SDT git
repository including the submodules under the 3rdparty
directory. If your
git client doesn't do that automatically, enter the following git command:
git submodule update --init --recursive
or check the equivalent option in the git preferences of your GUI client.
- In a terminal, type the following commands to compile the software in all its flavors (Max package, Pd library, Apple framework):
cd build/macosx
make
- Install one or more products: The provided scripts will install the selected
products in the given destination
<path>
, creating aSDT
subfolder:
make install_max DSTDIR=<path>
make install_pd DSTDIR=<path>
make install_core DSTDIR=<path>
- To clean the source directories after compilation:
make clean
- To uninstall one or more products, run the corresponding command.
Please provide the same
<path>
specified at installation (the parent folder of the SDT folder)
make uninstall_max DSTDIR=<path>
make uninstall_pd DSTDIR=<path>
make uninstall_core DSTDIR=<path>
To compile the SDT under Windows, you need a distribution of the GNU C Compiler and a UNIX style shell, as provided in MinGW + MSYS (http://www.mingw.org, recommended) or Cygwin (http://www.cygwin.com).
- Once the compiler is installed, open its shell and issue the following commands to compile the software in all its flavors (Max package, Pd library, shared DLL):
cd build/win32 (or cd build/win64 for the x64 version)
make
- Install one or more products. The provided scripts will install the selected
products in the given destination
<path>
, in a subfolder (SDT
for Pd or DLL andSound Design Toolkit
for Max):
make install_max DSTDIR=<path>
make install_pd DSTDIR=<path> (only for 32 bit)
make install_core DSTDIR=<path>
- To clean the source directories after compilation:
make clean
- To uninstall one or more products, run the corresponding command.
Please provide the same
<path>
specified at installation (the parent folder of the SDT folder)
make uninstall_max DSTDIR=<path>
make uninstall_pd DSTDIR=<path> (only for 32 bit)
make uninstall_core DSTDIR=<path>
- In a terminal, type the following commands:
cd build/linux
make
- Install one or more products. By default, the building environment will
install the SDT shared library in
/usr/lib
and the headers in/usr/include
(DSTDIR=/usr
). The default path for the Pd library is/usr/lib/pd/extras
. Root privileges may be required to access the default install path. If you want to change the install path, provide aDSTDIR
argument:
make install_pd DSTDIR=<path>
make install_core DSTDIR=<path>
- To clean the source directories after compilation:
make clean
- To uninstall one or more products, run the corresponding command. Root
privileges may be required to access the default install path. If you
installed SDT under a custom path, please provide a
DSTDIR
argument:
make uninstall_pd DSTDIR=<path>
make uninstall_core DSTDIR=<path>
The SDT was developed through the years with the contribution of the following EU-projects:
- 2001-2003 'SOb' http://www.soundobject.org/
- 2006-2009 'CLOSED' http://closed.ircam.fr/
- 2008-2011 'NIW' http://www.soundobject.org/niw/
- 2014-2016 'SkAT-VG' http://www.skatvg.eu/