Tube Preamp

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.

Abstract

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:

The VST plugin can be downloaded here. On Windows copy the .dll file to the VST folder of your DAW. On Mac follow the instructions in the text file “vst”.

Win 32-bit:

Win 64-bit:

OS X:

Download

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

Advertisements

44 responses to “Tube Preamp

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

  2. 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.)

  3. 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.

  4. 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.

  5. 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!

  6. 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?

    L

    • 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,
      Philipp.

  7. 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.

  8. 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?

  9. 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 .

    Regards

    Gérard

    • 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.

      Regards,
      VIctor

  10. 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,
      Philipp.

      • 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.

  11. 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.

        Victor

  12. 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.

  13. 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?

  14. 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.

  15. 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:

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s