"Joe Cheep" Circuit Description

This page contains a description of the inner workings of -DeeT's "Joe Cheep" compressor circuit. To follow the story from the beginning, see -DeeT's "What Compressor" Page.

You might want to follow along in the Joe Cheep schematic. If you decide to build the "Joe Cheep" circuit, you'll need the parts list and construction hints.

Power Supply

The power supply section is really boring. I just figured I'd get it out of the way. A 20 volt wall transformer is rectified, filtered and regulated to produce plus and minus 15 volts for the op-amps. 0.1 uF decoupling capacitors are placed directly from all the IC power pins to ground, to keep the power nice and clean. There, now I feel better.

Signal Path

A really interesting thing about my "Joe Cheep" design approach is that the signal path consists 100% of passive components! Is this a bug, or a feature? Well, that depends on how you look at it. I wouldn't let my boss see this design, but I'll tell you why I did it this way with head held high.

First, let's trace the signal path for the left channel. Don't worry, it takes two seconds. The signal enters at "L IN" at the upper left corner of the schematic, travels through a 1.21K resistor (R25), and leaves through "L OUT". The photoresistor acts as a shunt element across the output. Simple!!

"But wait," you say. "You can't do that. First of all, this baby has an input impedance that (a) varies a lot, and (b) is well under 10K much of the time. Second, compressors are supposed to have a gain stage at their output to 'make up' for the gain lost in the compression process. Thirdly, its output impedance varies, and is often much higher than 600 ohms. This thing is a crock! It's three crocks!"

Like I said, I wouldn't show it to my boss. But let me try to redeem myself here.

On the matter of input impedance, it's true that the input impedance is pretty low, but mostly this compressor will be connected to pro or semi-pro audio gear, with 600 ohm or lower output impedance. The only time the compressor's input impedance drops to anywhere near that is when it's compressing very aggressively. The curve is already nonlinear so a slight bend in the curve (which will be minimal and gradual) is unlikely to be noticed. Also, let's consider what happens when the compressor does load the source slightly. The input voltage drops, which relaxes the compressor's grip on the source signal, which allows it to come back up. (It's a feedback loop, the likes of which are actually designed in to some compressors.) The result is that the amount of output signal is about the same whether the input gets loaded down or not!! The difference is that the super-precision gain reduction LED won't display the same brightness for the same amount of real gain reduction. I think I can live with that!

The second concern is the missing "make-up" gain stage. I know, I know... but hear me out. You've spent lots of money on your high quality audio mixer. It has super clean mic preamps. It has tons of headroom. It slices, it dices... and now you're introducing this penny-ante homebrew thingymobob into your pristine signal path. Given the fact that this is not professional equipment here, which do you trust not to crud up your sound: two resistors......... or an amplifier and power supply designed by a guy who put "cheep" into the name of his product? The fact is that the simpleminded power supply and cheap op-amps do nothing to degrade your sound, because they aren't in the signal path.

Finally, let's talk output impedance. Again, this will be used with semi-pro or pro quality gear. Realistically everybody but me builds things right. Those inputs are going to be 10K or higher. With an output impedance of 1K, we get away with it.

All of this does mean that you have to accept that this box only attenuates. To compare signals with and without compression, it's not as easy as pressing "bypass". But, you can make things easy on yourself by using two mixer channels. Come in to the first channel with the signal source, then take a post-fader direct out or aux send. Assign the channel so it's otherwise out of your way. Feed that direct or aux signal to the compressor, then take the compressor output back through another mixer channel.

With this arrangement, you can swap back and forth between compressed and uncompressed signals, at the same listening level, and you can even put both on meters to watch the compressor's action. You can even record both, in case you change your mind later! You also have the choice of eq-ing before compression, after, or both.

What it all comes down to is that the "Joe Cheep" is good at just one thing: compressing transparently and cleanly. If you want gain, switching and meters, your mixer is already good at that.

Side Chain

The heart of any compressor is its "side chain", which is the circuit that detects the audio level and generates the compression envelope. The "Joe Cheep" circuit is pretty simple, so follow in your schematic and repeat after me. We'll be examining the left channel, starting in the upper left corner of the page.

U1-A is an inverter and summing stage. It's there partly because the op-amps come in packages of two and one was left over (!), but also because in 'stereo' mode, the left and right channels must be mixed together, at least insofar as the compression is concerned. Its input impedance is 100K, to make sure that it doesn't muck up the input signal any more than the signal path already has. ;^)

Next is the "compression" knob, a 10K audio taper pot. This feeds a gain stage which multiplies the signal 11 times. This permits even small input signals to receive in-your-face compression. For moderate compression, all ya gotta do is turn down the knob.

The very interesting circuit using U2 is straight out of Horowitz and Hill's Art of Electronics. It's a full-wave rectifier, also known as an absolute value circuit. The op amps overcome the .6 volt drop across the silicon diodes, to make a virtually perfect rectifier. Audio signals go both positive and negative, but this circuit flips the negative parts upside-down, so all signals are positive. The voltage on U2 pin 7 is wiggly, but generally it becomes more positive the stronger the input signal is.

The circuit with U3-A and D3 is a similar trick to form a superior half-wave rectifier. It's not perfect, but it's good enough the way it's being used here. This "active diode" feeds a simple envelope generator involving R10, R13, R12 and C1.

When the active diode's output goes positive (remember that this means the input audio got louder), C1 is charged through R13 and R12. R10 is essentially out of the picture at this point because the active diode's output has a low impedance and can walk all over R10. The speed at which C1 charges varies from 6ms to around 70ms, depending on the setting of R12. 6ms is just fast enough for vocals, and a slightly slower attack can add a nice percussive "punch" to bass tracks or other percussive instruments.

When the incoming signal gets softer, the active diode is reverse-biased and doesn't conduct. This leaves C1 to discharge through R12, R13 and R10. This release time is always about 70ms slower than the attack time. The envelope produced at C1 models the ear's response to fast changes in volume level, with a fast attack and a moderately fast recovery time.

The output from that full-wave rectifier at U2 pin 7 is also fed to a simple RC circuit: R14 and C2. This is an integrator with a response time around 600ms. This envelope models the ear's response to changes in sustained volume levels.

At U4-A and U3-B are two active diodes, which are used to select the larger of the two envelopes available at C1 and C2. This means that the fastest available attack always wins, as does the slowest available release. This realizes the "dual release" that the Joe Meek compressor made famous. Brief increases in volume are recovered from quickly, but when a sustained sound is removed, recovery is slower. These release times are not adjustable but they have been extensively tweaked for maximum transparency. If you put knobs on these settings, you would probably find you consistently set them about where I have the timings preset now.

U4-B is an inverting summer, used to add a DC offset to the composite envelope signal. This offset biases the driver circuit at just the right point so a tiny additional voltage is enough to start the photoresistor's LED glowing. The voltage drop across D7 is nearly identical to that in the emitter follower driver transistor Q1, and the drop across yellow LED D6 (which won't light up, by the way) is nearly identical to that across the (yellow) LED coupled to the photoresistor V1.

The output at U4 pin 7 is negative. Originally I had another inverter to flip it back over. Now I just go with the flow and save a chip. A PNP transistor is used, powered from the negative supply, to drive the LED coupled to the photoresistor as well as the front panel "gain reduction" LED. Note: all these LEDs really do have to be yellow. Different LED colors have different forward voltages, and the one with the photoresistor, which we're stuck with, is yellow. (Photoresistors respond more readily to yellow than to any other available LED color.)

Stereo Switch

The "Joe Cheep" compressor can be used either as two independent mono compressors or as a single stereo compressor. In the stereo position, the left and right channels are mixed at the input to the left side chain. Don't worry: the inputs are still isolated, as the common point at the summing amp is a "virtual ground". The left side chain is used to drive both photoresistors, so the same compression, based on the total input level, is applied equally to both channels. The right side controls have no effect in stereo mode.

That's it!

Well, now you know more than you probably ever wanted to know about compressors, and I've stayed up way later than I ever meant to. Thanks for sharing in my enjoyable hack. If you end up building a "Joe Cheep", especially if you change yours and like it better, please let me know.

Go [back] to -DeeT's "What Compressor" Page.

David B. Thomas (dt@dt.prohosting.com)