Curvessor is a free and open source VST/VST3 audio plug-in that implements a dynamic range processor in which the response curve of each channel is an automatable spline.

Curvessor can be used as a classic compressor/expander, enjoying the freedom and precision that comes with spline editing.

But more specifically, as it allows the authoring of response curves that are not increasing, Curvessor can be used for creative dynamic range processing in sound design.

Here is a brief video with an example of Curvessor (version 1) and Overdraw used together.

You can jump to the download section, or browse the source code.


  • The response curves are smoothly automatable splines.
  • Optional Mid/Side Stereo processing.
  • The amount of feedback can be smoothly changed, going from pure forward topology to pure feedback topology and everything in between. (NEW in verison 2)
  • Optional RMS and high-pass filtering on the level detector (NEW in verison 2)
  • All the parameters, including the knots of the spline, can have different values on the Left channel and on the Right channel - or on the Mid channel and on the Side channel, when in Mid/Side Stero Mode.
  • Dry-Wet.
  • Up to 32x Oversampling with either Minimum Phase or Linear Phase Antialiasing.
  • VU meter showing the difference between the input level and the output level.
  • Customizable smoothing time, used to avoid zips when automating the knots of the splines, the stereo link percentage, the wet amount, or the input and output gains.

Spline editing

The splines can be edited either by dragging the knots with the mouse, or by entering numeric values for the selected knot.

To enable or disable a knot, double click on it.

When the knots of two different channel are overlapping, the mouse will interact with the control point of the Left/Mid channel.
To interact with the knot of the Right/Side channel, use the right button of your mouse, or press the ALT key while clicking.

To zoom in or out, use the mouse scroll wheel.

Supported Platforms

Curvessor is developed and tested on Windows and Linux (VST and VST3).
If you are willing to build Curvessor from the source code, you may be able to build an AudioUnit/VST/VST3 binary for macOS.
If you encounter any issue, please contact me either here or on GitHub.

Version 1

Click here if you are interested in the old version of Curvessor.


Curvessor includes code from these third party libraries:

  • The JUCE cross platform C++ framework.
  • gammaenv: DSP S-curve envelope signal generator, by Aleksey Vaneev.
  • r8brain: an high-quality pro audio sample rate converter / resampler C++ library by Aleksey Vaneev.
  • HIIR: an oversampling and Hilbert transform library by Laurent de Soras.
  • vectorclass: a library for using SIMD instructions to improve performance on modern microprocessors by Agner Fog.
  • PFFFT: a pretty fast FFT, by Julien Pommier, with updates by Hayati Ayguen and by me.
  • Boost

vst compatible

VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.

Last release: version 2.1, built on 2021/12/10.


Copyright © Dario Mambro 2019-2024