A collection of virtual-analog filters from the FAUST standard library packaged as multi-format plugins via the DPF.
All plugins are mono, i.e. they have one audio input and output, unless noted otherwise. They all have two (automatable) parameters:
- Cutoff / center frequency in Hertz (
20.0 - 20,000.0
) - Q factor (range varies)
The plugins depend on the host to provide a generic UI to control parameters.
A diode ladder 24 dB lowpass filter
A Korg 35 24 dB high pass filter as found in the MS-10 and early MS-20s
A Korg 35 24 dB low pass filter as found in the MS-10 and early MS-20s
A Moog ladder-style 24 dB low pass filter
A Moog ladder-style 12 dB low pass filter
A multi-mode, state-variable filter as found in Oberheim synthesizers
This filter has four outputs:
- Bandstop
- Bandpass
- Highpass
- Lowpass
All plugins in this collection come in the following plug-in formats:
- CLAP
- LADSPA
- LV2
- VST2
- VST3
Make sure you have installed the required build tools and libraries (see
section "Prerequisites" below) and then clone this repository (including
sub-modules) and simply run make
in the project's root directory:
$ git clone --recursive https://github.com/SpotlightKid/faustfilters.git
$ cd faustfilters
$ make
To install all plugin formats to their appropriate system-wide location, run the following command:
make install
The makefiles support the usual PREFIX
and DESTDIR
variables to change the
installation prefix and set an installation root directory (default: empty).
PREFIX
defaults to /usr/local
, but on macOS and Windows it is not used,
since the system-wide installation directories for plugins are fixed.
Use make's -n
option to see where the plugins would be installed without
actually installing them.
You can also set the installation directory for each plugin format with a dedicated makefile variable.
- CLAP:
CLAP_DIR
(<prefix>/lib/clap
) - LADSPA:
LADSPA_DIR
(<prefix>/lib/ladspa
) - LV2:
LV2_DIR
(<prefix>/lib/lv2
) - VST2:
VST2_DIR
(<prefix>/lib/vst
) - VST2:
VST3_DIR
(<prefix>/lib/vst3
)
Example: make DESTDIR=/tmp/build-root VST_DIR=/usr/lib/lxvst install
To install the plugins only for your current user account, run
make install-user
.
Again, you can also set the installation directory for each plugin format with a dedicated makefile variable.
- CLAP:
USER_CLAP_DIR
($HOME/.clap
) - LADSPA:
USER_LADSPA_DIR
($HOME/.ladspa
) - LV2:
USER_LV2_DIR
($HOME/.lv2
) - VST2:
USER_VST2_DIR
($HOME/.vst
) - VST3:
USER_VST3_DIR
($HOME/.vst3
)
Note: The given default values for all of the above listed environment variables differ depending on the target OS.
-
The GCC C++ compiler, library and the usual associated software build tools (
make
, etc.).Debian / Ubuntu users should install the
build-essential
package to get these. -
The faustpp pre-processor (optional)
The CLAP, LV2, LADSPA, VST2 (vestige) and VST3 headers are included in the DPF framework, which is integrated as a Git sub-module. These need not be installed separately to build the software in the respective plug-in formats.
faustpp
and FAUST are only needed to re-generate C++ source and headers files
if the FAUST DSP source files in the faust
directory are changed.
This software project was put together by Christopher Arndt.
The idea for this project was inspired by the poly_filters LV2 plugin collection.
The DSP code is generated from the FAUST sources via the faustpp pre-processor.
The project is built using the DISTRHO Plugin Framework (DPF) and set up with the cookiecutter-dpf-effect project template (with additional customization).