preamp, v2

NB: The use of the software on this page is deprecated in favour of more recent development lines.

This page presents a LADSPA plugin approximating the characteristics of soft and hard harmonic distortion of a 12AX7-based valve preamplifier stage, as well as an emulation of typical valve amplifier linear filtering characteristics. The plugin has been reworked from a (somewhat crude) previous version.

The Preamp Model

Data from previous investigations (harmonic distortion and hard clipping, single-stage transfer function) and data obtained from a real amplifier (Fender Super 60) have been reviewed for an approximated model of the preamplifier stage.

The modeled unit consists of seven building blocks:

The initial hi-pass filter (an equivalent is found in actual circuitry) prevents the lower frequency content from dominating the tone evolution of the model (no 'auto-wah' effect) at high gain settings.

The first transfer function (polynomial, shaped in the likeness of data obtained from an emulated valve preamp circuit) causes gentle harmonic distortion and compression.

From data sampled off a real amplifier it can be seen that the operating point (0 equivalent) of the circuitry is in constant movement. This behaviour is approximated (albeit a bit roughly) by a low-frequency (0.4 Hz sine) LFO.

To minimize aliasing artefacts in the unit's output, the clipping transfer function is applied to an oversampled version of the input signal. The filters for both the interpolator and the decimator stages have been implemented as precomputed IIR filters which give the unit's frequency response a subtle mid-range frequency boost which is characteristic of the modeled circuit, and assumed to be characteristic of guitar amplifiers in general.

The transfer polynomial gives smooth and continuous clipping characteristics. Up to very high gain settings, the asymmetry of the transfer function provides a colourful mix of partials strongly resembling that which makes 'valves sound better'. It also adds DC content, which is removed by the final DC-blocking filter.


9% average CPU for 3 ms latency audio at 44.1 kHz on an AMD K6-III, 450 MHz.

No denormal protection. Send mail if you think this plugin consumes too much CPU.


Nov 2 2003: more attenuation at higher gain, source code cosmetics and a 1% speedup.


You may want to read the Gnu Public License that covers this plugin.


Your feedback is welcome. Please let me know if/how the plugin works for you, and what you would like to see improved.


$ tar xvfz preamp.tar.gz
$ cd preamp
$ make
# make install

How to Use

There are two control ports:

The unit applies final attenuation/gain to the signal to smoothen the average loudness of the output over the gain range.

Sample Rate Dependencies

The oversampling filters employed in the unit are designed for specific sample rates.

FS (kHz) oversample
44 - 484x
88 - 962x
176 - 192none

At different sample rates, the frequency response of the plugin is shifted, and aliasing attenuation can be reduced.

You may want to route the unit's output through an EQ and a cabinet emulation like 'matched' to recreate more of the characteristics of the real thing.

Future versions of this plugin may or may not produce a different sound., February 20 2004.