https://github.com/spotlightkid/faustfilters
A collection of virtual-analog filter multi-format audio plugins.
https://github.com/spotlightkid/faustfilters
audio-filter clap-plugins dpf faust-dsp ladspa-plugins lv2-plugins vst-plugins vst3-plugins
Last synced: 9 months ago
JSON representation
A collection of virtual-analog filter multi-format audio plugins.
- Host: GitHub
- URL: https://github.com/spotlightkid/faustfilters
- Owner: SpotlightKid
- License: other
- Created: 2020-07-30T13:57:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T20:26:36.000Z (almost 2 years ago)
- Last Synced: 2025-03-26T04:24:15.846Z (10 months ago)
- Topics: audio-filter, clap-plugins, dpf, faust-dsp, ladspa-plugins, lv2-plugins, vst-plugins, vst3-plugins
- Language: C++
- Homepage:
- Size: 119 KB
- Stars: 40
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# FAUST filters
A collection of virtual-analog filters from the [FAUST] standard library
packaged as multi-format plugins via the [DPF].
## Plugins
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.
### Diode Ladder
A diode ladder 24 dB lowpass filter
### Korg 35 HPF
A Korg 35 24 dB high pass filter as found in the MS-10 and early MS-20s
### Korg 35 LPF
A Korg 35 24 dB low pass filter as found in the MS-10 and early MS-20s
### Moog Ladder LPF
A Moog ladder-style 24 dB low pass filter
### Moog Half Ladder LPF
A Moog ladder-style 12 dB low pass filter
### Oberheim Multi-mode Filter
A multi-mode, state-variable filter as found in Oberheim synthesizers
This filter has four outputs:
* Bandstop
* Bandpass
* Highpass
* Lowpass
## Formats
All plugins in this collection come in the following plug-in formats:
* CLAP
* LADSPA
* LV2
* VST2
* VST3
## Compiling
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
## Installation
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` (`/lib/clap`)
* LADSPA: `LADSPA_DIR` (`/lib/ladspa`)
* LV2: `LV2_DIR` (`/lib/lv2`)
* VST2: `VST2_DIR` (`/lib/vst`)
* VST2: `VST3_DIR` (`/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.*
## Prerequisites
* 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.
* [pkgconf]
* The [faustpp] pre-processor (optional)
The [CLAP], [LV2], [LADSPA], [VST]2 (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.
## Author
This software project was put together by *Christopher Arndt*.
## Acknowledgements
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).
[CLAP]: https://cleveraudio.org/
[cookiecutter-dpf-effect]: https://github.com/SpotlightKid/cookiecutter-dpf-effect
[DPF]: https://github.com/DISTRHO/DPF
[FAUST]: https://faust.grame.fr/
[faustpp]: https://github.com/jpcima/faustpp.git
[LADSPA]: http://www.ladspa.org/
[LV2]: http://lv2plug.in/
[pkgconf]: https://github.com/pkgconf/pkgconf
[poly_filters]: https://github.com/polyeffects/poly_filters.git
[VST]: https://en.wikipedia.org/wiki/Virtual_Studio_Technology