Introduction: Dual-Band Guitar/Bass Compressor

Background story:

My bass playing friend was getting married and I wanted to build him something original. I knew he has a bunch of guitar/bass effect pedals, but I never saw him use a compressor, so I asked. He's a bit of a feature-addict so he told me the only compressors worth using are multi-band, lots of knobs to play around with. I had no idea what a multi band compressor was, so I googled around and found some example schematics (like here and here). Knowing that my friend would not be happy with a meager 5 button pedal, I decided to design my own dual-band (well, not 'multi' but ok...) compressor.

Bonus challenge:

No integrated circuits allowed - only discrete components and transistors. Why? Many compressors are based around integrated circuits such as multipliers or transconductance amplifiers. While these ICs aren't impossible to obtain, they still form a barrier. I wanted to avoid this and also sharpen my skills at the art of discrete circuit design.

In this Instructable, I'll share the circuit I came up with and were and how to tweak the design to your own liking. Most parts of the circuit are not particularly original. However, I advice against building this pedal from A to Z without doing some breadboarding/testing/listening of your own. The experience you gain will be well worth the time invested.

What does a (dual-band) compressor do?

A compressor limits the dynamical range of a signal (see the scope picture). An input signal having both very loud and soft parts will be transformed in an output being overall less changing in volume. Think of it as an automatic volume control. The compressor does so, by making a short-term estimate of the 'size' of the guitar signal, and then adjusting the amplification or attenuation accordingly. This is different from a distortion/clipper in the sense that a distortion works instantaneously on a signal. A compressor, while in the strict sense not a linear circuit, doesn't (or shouldn't) add much distortion.

A dual-band compressor splits the input signal in two frequency bands (high and low), compresses both bands separately and then sums the results. Obviously this allows for much more control, at the expense of a more complicated circuit.

Soundwise, a compressor makes your guitar signal more 'tight'. This can go from quite subtle, making it easier to mix the signal in with the rest of the band while recording, to very outspoken, giving the guitar a 'Country' feel.

Some good further reading on compressors is given here and here.

Step 1: The Schematic

The circuit exists of 4 main blocks:

  1. input stage and band split filter,
  2. high frequency compressor,
  3. low frequency compressor,
  4. sum and output stage.

The input stage:

Q1 and Q3 form a high-impedance buffer and phase-splitter. The buffered input, vbuf, is found at the emitter of Q1 and also, phase inverted on the emitter of Q3. In case you are using very high input signals (> 4Vpp) S2 offers a way to attenuate the input (at the expense of noise), since we want the input stage to work linearly. R3 adjusts the bias point of Q1 so to get the maximum dynamic range from the input stage. Alternatively, you can increase the supply voltage from a the pedal-standard 9V to something higher like 12V, at the expense of having to recalculate all the bias points.

Q2 and the passive components around it form the well known Sallen & Key low-pass filter. Now here's how the band-splitting works: at the emitter of Q2 you'll find the phase inverted low-passed input. This is added to the input signal via R12 and R13 and buffered by Q4. Thus vhf = vbuf + (- vlf) = vbuf - vlf. Adjusting the low-pass frequency of the filter (R8, cross-over control) also adjusts the high-pass frequency output accordingly, since, by to the preceding formula we also have vhf + vlf = vbuf. Thus we have a simple complementary splitting of the sound in high and low frequencies from a single filter. In the Build-Your-Own-Clone example given in the introduction, a State-Variable-Filter is given this bandsplitting task. In addition to low-pass and high-pass, a SVR can also give a bandpass output, however we have no need for that here, so this is simpler. One caveat: due to the passive addition in R12 and R13, vhf is in fact only half the size. That's why -vlf at the emitter of Q2 is also divided by two using R64 and R11. Alternatively, place a collector resistor of twice the value of the emitter resistor at Q4 and live with the decreased dynamic range, or pick up the loss in another way.

The compressor stages:

Both low and high frequency compressor stages work in an identical way, so I'll discuss them in one go, referencing to the high-compressor stage of the schematic (the middle block, where vhf goes enters). The central parts, where all the compression 'action' happens are R18 and JFET Q19. It is well known that a JFET can be used as a variable voltage-controlled resistor. C9, R16 and R17 make sure that Q19 responds more or less linearly. R18 and Q19 form a voltage divider controlled by vchf. The bias voltage vbias for the JFET, derived from Q18, must be set (R56) so that the JFET is slightly pinched off: insert a 1Vpp sine at the C6 and ground vchf, then adjust R56 until the sine signal is found unattenuated on the drain of the JFET.

Next are Q5 and Q6 which form an amplifier of max around x50 and min x3, controlled by R25 (sense hf). Q7 and Q8, together with phase inverter Q22 form peak detectors of the amplified signal. The peaks of both signal excursions (up going and down going) are detected and 'kept' as a voltage on C14. This voltage is vhcf, which controls how much JFET Q19 is 'open' and thus how much an incoming signal is attenuated: imagine a large signal excursion coming in (either in the positive or negative direction). This will cause C14 to be charged, so JFET Q19 will become more conducting. This in turn lowers the signal going into the Q5-Q6 amplifier.

The speed with which the peak detection happens, is determined by R33 (attack HF). How long a peak will have an influence on the following signal is determined by the time constant of C14 x R32 (sustain hf). You may want to experiment with the time constants by changing R33, R32 or/and C14.

As said, the LF-part (bottom part block of the schematic) works identical, however the output is now taken from the collector of the phase-inverter Q12. This is to pick up for the 180 degrees phase shift of -vlf in the band-split filter.

The circuit around Q16 and Q21 is a LED driver, which provides a visual indication for the activity per channel. If LED D6 goes on, it means there is compression happening.

Sum and output stage:

Finally, both compressed band signals vlfout and vhfout are added using a potmeter R53 (tone), buffered with emitter follower Q15 and presented to the outside world via level control R55.

Alternatively, one can tap the attenuated signals on the drains of the JFETS and make up for the attenuation using extra amplifiers (this is called 'make-up' gain). The benefit of this is a less distorted initial response signal: as the first, short peak gets detected, it is likely that the signal get somewhat distorted/clipped by amplifier Q5-Q6 (Q10-Q11), since the detectors need time to respond and build up voltage on the detector capacitors C14/C22. The make-up gain amplifiers would require another 4 transistors.

Nothing about the circuit is very critical in terms of components. The bipolar transistors can be replaced with any common garden-variety small signal transistor. For the JFETs, use low pinch-off voltage types, preferably somewhat matched, since the source bias circuit serves both. Alternatively, duplicate the bias circuit (Q18 and components around it) so each JFET has its own bias.

Step 2: Building the Circuit

The circuit was soldered on a piece of perfboard, see the pictures. It was cut out in that particular shape to fit the housing with the connectors (see the next step). When assembling the circuit, it is best to test the sub-circuits regularly with a DVM, function generator and oscilloscope.

Step 3: The Housing

If there's one step I like the least in pedal building it's drilling the holes in the housing. I used a pre-drilled 1590BB style enclosure from a webshop called Das Musikding to give me a head start:

https://www.musikding.de/Box-BB-pre-drilled-6-pot

, where I also bought the 16mm pots, knobs, and rubber feet for the housing. The other holes were drilled according to the attached design. The design was drawn in Inkscape, continuing on the 'Rage Comic' theme of my other pedal Instructables. Unfortunately, the large and small knobs have a different green hue :-/.

Painting and artwork instructions can be found here.

A plastic take-away food container lid was cut out in the shape of the breadboard and placed in between the circuit board and the pots to form an insulation. Just below the lid of the 1590BB enclosure, a piece of cardboard cut to size has the same purpose.

Step 4: Wire Everything Up...

Solder wires to the pots and switches before placing the insulator and circuit board. Then wire everything up on the top-side of the board. Print out a small copy of the circuit for servicing, fold and place inside the housing. Close the housing and you're done!

Happy playing! Comments and questions welcome! Let me know if you build this totally awesome feature-overloaded compressor.

EDIT: the first sound sample is a clean 'dry' guitar riff, 2nd sample is the same riff sent through the compressor with no additional processing. In the screenshots, you can see the effect on the waveform. Clearly the compressed waveform is, well, compressed.