Modern digital distortion plugin (VST, VST3, AU).
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets
Builds
Dsp
Include/faust
JuceLibraryCode
Scripts
Source
VST3_SDK
.gitignore
.travis.yml
CHANGELOG.txt
HELP.txt
INSTALL.txt
LICENSE
Makefile
README.md
appveyor.yml
screenshot.jpg
temper.jucer

README.md

Temper

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.

Dependencies

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

Usage

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

Parameters

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.

Contributing

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.

Building

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.

License

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 http://www.gnu.org/licenses/.