Modern digital distortion plugin (VST, VST3, AU).
Go to file
Kim T 3795450eef git submodule VST3_SDK 2021-07-11 14:31:10 -04:00
Assets Update morning at the dmv preset 2017-06-21 22:26:16 -04:00
Builds Version 1.0.3 2018-04-17 14:23:00 -04:00
Dsp Update the comments in the dsp file 2018-05-22 18:19:32 -04:00
Include/faust Disambiguate dsp namespace with some sketch practices 2018-04-09 11:36:01 -04:00
JuceLibraryCode Version 1.0.3 2018-04-17 14:23:00 -04:00
Scripts Add a changelog to the product zip 2018-04-17 14:18:10 -04:00
Source More sketchy namespace disambiguation; theres gotta be a better way 2018-04-17 14:00:11 -04:00
VST3_SDK@cce2c96f95 git submodule VST3_SDK 2021-07-11 14:31:10 -04:00
.gitignore Remove key files 2017-04-22 17:49:48 -04:00
.gitmodules git submodule VST3_SDK 2021-07-11 14:31:10 -04:00
.travis.yml Parallel build for diff configs 2017-05-07 17:10:08 -04:00
CHANGELOG.txt Add a changelog to the product zip 2018-04-17 14:18:10 -04:00
HELP.txt Add help documentation to release zip 2017-07-09 16:34:19 -04:00
INSTALL.txt Update installation instructions 2017-06-29 08:46:51 -04:00
LICENSE Add license 2017-06-22 22:29:53 -04:00
Makefile Well... makefile works, but it is not a very sustainable fix 2018-04-10 08:58:06 -04:00 Update build instructions in README 2018-05-22 18:18:33 -04:00
appveyor.yml Update artifact paths 2017-06-18 19:35:51 -04:00
screenshot.jpg Swap png out for jpg 2017-05-25 08:29:18 -04:00
temper.jucer Version 1.0.3 2018-04-17 14:23:00 -04:00


Modern digital distortion.

Temper Plugin

Temper is a digital distortion audio plugin targeting VST, VST3, and AU for OS X and Windows. It builds upon traditional waveshaping techniques using modulated filter coefficients to produce a unique phase distortion. The primary signal processing loop is written with Faust, and compiled with JUCE for the various build targets.


  • Faust (v2.5.32)
  • JUCE (v5.3.0)
  • VST SDK (v3.6.7)


Temper can run inside any plugin host that supports VST, VST3, or AU, such as Audacity (Free) or FL Studio (Paid).


Cutoff: The signal chain contains a simple resonant lowpass filter before the distortion unit. This parameter sets the cutoff frequency of that filter.

Resonance: This parameter sets the corner resonance of the lowpass filter mentioned above.

Curve: The first of the three parameters that control the distortion unit, Curve sets the shape of the waveshaper curve used to saturate the input signal before the phase distortion module.

Drive: Like a traditional overdrive, Temper includes a gain step before the waveshaper. Drive determines the gain applied at that step.

Saturation: The Saturation parameter controls the Dry/Wet mix of the waveshaper output; at 0.0, the dry input signal goes into the phase distortion module with the shaped signal modulating the phase offset. At 1.0, the wet waveshaper signal goes into the phase distortion module which is shaped by the same wet signal.

Feedback: The signal chain includes a feedback loop, taking the output of the distortion unit and feeding it back right before the distoriton unit again (after the filter). Feedback here decides the gain multiplier on that feedback loop.

Level: This simply adjusts the output level.


If you find any weird or buggy behavior, please open an issue! We will also happily accept pull requests implementing bug fixes or compatibility support. We may refuse pull requests or feature suggestions that change product direction, but we would love to hear your ideas so don't be shy.


This project is built with both JUCE and Faust, but we commit the result of the Faust compilation to enable maintaining a repository state that can be built on a new machine with minimal configuration.

Hence, with Visual Studio 2017, you should be able to just open the file Builds/VisualStudio2017/Temper.sln and build one of the three available configurations. Similarly, on OS X, open Builds/MacOSX/Temper.xcodeproj with XCode.

If you're interested in modifying the Faust DSP code, or compiling the DSP again, consult the Makefile for instructions. We have unfortunately hard-coded some assumptions into the Makefile, but you will notice the expected compilation command:

$ faust -A ../faust/architecture/ -I ../faust/libraries/ -a minimal-effect.cpp -cn TemperDsp -o ./Source/TemperDsp.cpp ./Dsp/temper.dsp

If you have faust on your $PATH, the above command (corrected for the appropriate paths to the library and architecture files) will recompile the temper.dsp file to C++.

If you have any trouble building, please file an issue.


Copyright (C) 2017 Creative Intent, LLC

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see