Tube Preamp

This plugin is now distributed by DDMF. It can be downloaded for free at:

The following work is the result of my bachelor thesis, titeled “Real-time implementation of a tube preamplifier in order to distort discrete audio signals” (original title in German: “Echtzeit-Implementierung einer Röhrenvorstufe zur Verzerrung diskreter Audiosignale”). I wrote the thesis in cooperation with d&b audiotechnik GmbH in summer 2012. The unauthorised use, reproduction, or passing on of individual content items or the complete page is not permitted.

If someone is interested in reading the whole thesis (German only), just drop me an email and I’ll send you the .pdf file.


Since the sound of an analogue tube amplifier has always exerted a strong fascination, electrical circuits with tubes play a certain role in the world of audio engineering up to now. On the other hand, audio technology becomes more and more digitised. In many cases, digital models emulate real devices in such a way that differences in sound are hardly audible. In this work a model is developed which is able to emulate the typical sound of a tube amplifier on digital devices. Here the main focus is on preamplifiers with triodes, since they have a particular influence to the sound.

Based on the physical properties of real tubes, a tube model is developed first. This mathematical model includes results of theoretical studies as well as analysis of data sheets. The model is then used to implement an entire amplifier circuit. In addition to the tube itself amplifier circuits contain several passive elements. In the domain of digital signal processing the latter are described by finite difference equations, which are solved recursively.

The resulting algorithm is finally implemented as a VST plugin in order to examine its tonal properties. The behavior of the digital model corresponds satisfactorily to real amplifier circuits. Important sound effects of analogue tube amplifiers can also be attested to the digital model. The VST plugin can be downloaded at the end of this page.

Triode Model

The first step was to develop a triode model, based on the characteristic curves of real tubes. In theory, the characteristic curve of a vacuum tube is described by Langmuir-Child’s law. However, it was quickly realised that compared to real tubes, this law is not accurate enough. So a new model has been developed. This model describes a triode as a mathematical function. With the model, it is possible to compute the plate voltage (Upc) as a function of the grid voltage (Ugc), depending on the working resistor (Ra) and the supply voltage (Ub).

The following graph shows this function for a 12AU7 triode with Ra = 10k and Ub = 250V:

Circuit Modeling

Based on this model, a plate follower stage was implemented.

Cathode Biasing

In this circuit, cathode biasing is used to adjust the bias point of the tube. This is realised by a resistor (Rc) and a capacitor (Cc), placed between the cathode and ground. The effect of cathode biasing can then be modeled by a simple first order RC low pass filter, with Ic*Rc being the input of the filter, and the cathode voltage (Uc) being the output.

If the input signal jumps for example from 0 V to 5 V, the cathode voltage follows quite similar to the step response of a RC-low pass filter:

Signal Limiting

There are two reasons for signal clipping in this circuit. The first one is caused by the tube itself. If there is a high peak at the negative half-wave of the input signal, the tube can’t amplify the signal anymore since the flow of current is completely cut-off. Thus, the positive half-wave of the output is clipped. This effect can be intensified by a more negative bias point.

Here the bias point of an 12AU7 is at around -12 V:

The second reason for clipping is caused by grid current. High peaks of the positive half-wave of the input signal make the grid voltage positive compared to the cathode voltage. In this case electrons are attracted by the grid. The grid current causes a voltage drop at the internal resistance of the previous stage, which limits the input signal. The following figure shows the effect. The grid voltage is obtained by shifting down the input signal (Uin) by the cathode voltage (Uc). In the upper picture the maximum grid voltage (Ugc) is ~ 0 V compared to the cathode. Hence, there is no grid current. In the lower picture the input signal has an amplitude of 10 V. At the positive peaks of the input signal the grid voltage rises above 0 V (compared to the cathode). The grid current begins to flow and clips the grid voltage.

Block Diagram

The block diagram of the algorithm that implements one single preamp stage, is displayed in the picture below.

VST plugin

Finally, two plate follower stages connected in series were implemented as a VST plugin. The following figure shows input and output of the algorithm:

The input signal (green) has an amplitude of 1 V. The first stage amplifies the signal almost linear (red). Since the input amplitude of the second stage is already very high, this stage is no longer able to amplify the signal linear. As a consequence, there are strong distortions in the output signal caused by tube cut-off and grid current (blue).

The distortions can also be seen in the FFT spectrum:

To get a constant amplification factor in the digital domain, the VST plugin has a drive and a gain knob:

VST and Cubase are trademarks of Steinberg Soft- und Hardware GmbH

66 responses to “Tube Preamp

  1. Absolutely beautiful! If you updated this with a mac developer you’d quickly sell a few thousand copies. Input, mix, output & oversampling 🙂 I’d be the first to put $20 towards it now and possibly more when finished. Perhaps do a fundme or startup thing?

  2. Thank you for this amazing software, which has obviously withstood the test of time! I have a 12AU7 preamp (Eastern Electric MiniMax) and so now I’m comparing the sound of this straight to the amp versus the real deal. I would love it if you could post a bit more on suggested alternative settings within the circuit for those of us with no comprehension of the schematic.

    • PS: On a lark I ran the Phi-L Tube Preamp VST through my 12AU7 tube preamp and what came out was a nasty sound, like hard clipping, even with the gain reduced. However, it sounds fine when bypassing the preamp and going straight into the amp. So does the digital distortion of 12AU7 harmonics addition, combined with the harmonic distortion of the actual 12AU7 tubes (cathode follower plus gain stage, phase inverting), lead to hard clipping?

  3. How was the development for such a perfect emulation to this day still amazes me what is offered here with low CPU consumption, I wonder which software was used and which methods were used? for such realistic results.

  4. Brilliant plugin! For free, this is absolutely amazing! This plugin sounds much better than many commercial tube preamp plugins! Could You please in the future implement oversampling or any kind of antialiasing? That is all that it needs to be perfect. If possible, a short, simple PDF manual would be very helpful. Please do not abandon this truly wonderful project! Thank You very very much 🙂

  5. Thank you for your work. You are very clever. Im using 32 bit version in reaper, and it sounds amazing. Also I need your brief explanation for tweaking. Can you send it me too, please. I will try to get best tone with guitar.

    To reset any modification in schematic Im using built-in DAW function in presets menu for each plugin – reset to factory defaults. It works stable, only some noise producing.(also when voltage changing) Also it save custom presets.

    Have you plan to make new version?

  6. This is a truly phenomenal plugin. I absolutely loves what it does and it has no counterpart I’ve ever come across. The only problem is I’m just fiddling as I don’t understand the schematics. Can anyone dumb it down some and make it a little bit more accessible? I realize it’s quite a complicated issue, but ANY help would be great!!

  7. Any chance you have some new ideas for a good 2018 update. I’m sure you have some ideas to improve upon this good plugin. One tiny little option would be a circuit reset button, for those of us dumb enough to fiddle and not make note of the defaults. So a little circuit default reset would be good to have.

  8. Downloaded the mac version, but it does not show up anywhere after dropping it in my components subfolder. Is anyone else having this problem?

  9. I build tube amps so I got really excited when I found this. But it needs more development mostly on tube behavior under various voltages and setup values. It’s an amazing idea to be able to tweak the actual tube circuit in digital zone while listening to it, this could be revolutionary if it can be made to actually sound and behave like a real tube (if that’s even possible.)

  10. Hi Phil!
    Simply sounds great! Thank you!
    I am a bit overwhelmed by all the possibilities of changing the capcities etc. Do you have some favorite presets which are different in character and are a good start for further tweaking?

    • Hi, thanks. I’m glad you like the sound. The default values correspond to a preamplifier with two ECC82 (12AU7) tubes. I think this is the best point to start, since it’s close to reality.

  11. Please update this wonderful piece. No complain, because it’s free. But like mentioned before, a Mix Knob and maybe Input Stage would be even more fantastic. Thank you.

  12. Best Pre Amp I’ve tried Yet! wonderful sweet sound that coplements my Les Paul style guitar. You have done a wonderful job here of research and programming. Than You!

  13. Philipp,

    This is a fantastic plugin, a fine Preamp!

    Changing the .component to .vst in Mac OSX doesn’t work in Mavericks (osx 10.9.5).
    The AU loads as expected inside Presonus Studio One v2 without any problems.

    However the VST does not appear in Studio One nor in Bitwig Studio

    For Bitwig, which only supports VST its a problem for anyone who wants to use Tube Preamp

    Are you happy for a plugin developer to contact you to help with a Mac side of things?


    • Oh, that’s bad news. Unfortunately I haven’t worked on the plugin for several months, since I’m quite busy at the moment.
      Help from a Mac developer would be nice.

      Best regards,

  14. Love it ! so versatile,I’m sure if I tried some of the things that sound so good on this on real hardware,I would probably start a fire, yet with this you can safely create all sorts of ace f.x.

  15. I downloaded the file for windows 64 8.1 and copied it to my vst folder for Sonar x3 and scanned for plugins also but tube preamp does not show up! s there something i need to do?

    • Hm. That’s strange. That’s exactly the way it should work. Are you shure, you’ve downloaded the correct file (TubePreamp-64 v2.0.1.dll)? Otherwise you could also try the 32-bit version?

  16. Dear Phillip,

    i am using Fidelia player with Itunes playlist on my Imac and i would like to know how to add your tube preamp plugin to my player ( it can host three different plugin )…
    I have replaced .component for .vst as indicated but my iMAC can’t load your application…

    Don’t hesitate to mail if you can help .



    • Gerard,

      I also downloaded this preamp for my Mac, but for use within Logic Pro. Since it was labeled “.component”, I simply put it into the Components section in the Audio folder of the main HD Library–NOT the User Library. What this does is let OSX see it as an Audio Unit, and it loads up just fine in Logic. Whether this will work for what you’re trying to do, I cannot say, but it might be worth a shot.


  17. Wonderful sound with great tuning options. A very valuable and serious ugprade for my mics and other sources and instant classic in my setup. All of this for nada. Thanks a lot !

    • Basic electrical understanding of tube amplifiers is needed to tweak the schematic. All parameters depend on each other, so if one is changed this will affect several parts of the circuit. Some time ago, I made a very brief explanation. If you’re interested, just drop me an email.

      Best regards,

      • I’m using this with JRiver v20 and I really like the sound. I accidentally changed some of the schematic settings, so naturally looked for a ‘reset to default’ button but couldn’t find one. Is this something you could include in the next revision please.

  18. Hi there! Gretings from Istanbul. We tried your plugin and it sounds fantastic. Adds warmth to the vocals and even to the full mix brilliantly. Not to mention, it gives a boost to the tracks it is inserted to. Thank you. We’ve been using it on Presonus Studio One 2 (Mac OSX Mavericks) with no issues whatsoever so far. If you should have such projects in the future, or develop it for 64 bit on OS X, I’d definitely like to be notified and try them 🙂

    • Yes, this would be nice. Unfortunately I don’t have time at the moment to go further with the project. Maybe there will be updates and other formats in future, but I can’t promise…

      • You can use this as an Audio Unit. It comes with the extension ‘.component’ when you download it. What I did was to simply drop it into my Components folder within the Audio folder on the main Library and it loads up fine in Logic Pro 9. In fact, right after I installed it, I booted up Logic to check it out, the Audio Units Manager scanned it, and there it was. Works like a charm.


  19. Nice plugin. I like the roundness and warmth it seems to add.

    On JRiver 18, one of the forum questions was about using the 64 bit version. Media Center is a 32 bit program. The 32 bit version works quite well.

    One user reported some issues on MC 19 that so far haven’t been identified.

  20. I borrowed a tube preamp and the phil-L tube preamp does a good job of replicating the sound. I’m using JRiver Media Center which does its internal processing at 64 bits. It will work with VST plug-ins operating at any bit depth up to 64 bits. I’m curious what the bit depth for processing is on the tube preamp?

  21. Hi

    Congretulations for your idea per se. J would likr to try it with JRiver MC 18. Its not clear to me how to install it.I am using win 7 64 bit

    • I don’t know how it works for JRiver. Usually you have to copy the .dll file into the vst folder of your host, or include the path to the .dll file to the vst path of your host.

  22. This tube preamp sounds great ! It really helps to give sounds a lift…Any chance of an x64 installer ? That would be cream on the cake 🙂 Thanks…ajw

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s