This repository is a collection of real-time audio effect algorithms implemented in C++. Each effect class is also demonstrated as an audio plug-in (Built using the JUCE Framework).
The effects implemented are the following:
- Time-Based:
- Digital Delay
- Reverb
- Modulation Effects:
- Flanger
- Chorus
- Vibrado
- Distortion:
- Vaccum Tube
- Diode
- Soft Clipper
- Hard Clipper
- Asymmetrical Clipping Distortion
- IIR Filters
- 2nd Order Butterworth Low-Pass Filter
- 2nd Order Butterworth High-Pass Filter
- Peaking Filter
- Dynamic Effects:
- Compressor
- Limiter
- Utility Classes:
- Comb Filter
- Comb Filter (w/ Linear Interpolation)
- Modulated Comb Filter
- All-Pass Filter
- All-Pass Filter (w/ Linear Interpolation)
- Modulated All-Pass Filter
- LFO (Low Frequency Oscillator)
- Envelope Detector
Clone the repo and initialize the submodules by running:
git clone https://github.com/tr3m/digital-audio-effects
cd digital-audio-effects
git submodule update --init --recursiveThe source code and CMakeLists.txt files for building each plugin can be found in the plugins directory.
cd plugins/<plugin-to-build>
cmake -B build
cmake --build build --config Releasecd plugins/<plugin-to-build>
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build buildThe resulting binaries can be found under the path:
build/<PLUGIN_NAME>_artefacts/Release/
Documentation can be found here.
These Digital Audio Effects are being developed in the context of my Graduate Project Thesis at the Department of Music Technology and Acoustics of the Hellenic Mediterranean University (HMU).