One of the first things I tried when I started designing modules was building a distortion/saturation for my modular. It was also one of the first things I totally failed at, several times. I’ve build about a dozen different circuits, none of them did what I wanted it to do. Although distortion circuits are generally fairly simple things, it turned out surprisingly difficult as I’m pretty picky about distortions. Creating a mess of the incoming signal is not enough, it has to sound good as well. In the end I managed to build something useful. Let’s meet ‘Trident’, a distortion module designed for Eurorack.
While the variety of flavours in distortion and overdrive circuits is enormous, I found few of them useful in the synth world. Synths tend to have a widely different frequency content as your typical guitar signal, you also can’t rely on the amp to soften the harshness most distortions introduce. So, after building a dozen or so different classic guitar distortion circuits, from Rats to Big Muffs, I figured out I would have to come up with a better approach to avoid things ending up as a hot screaming useless mess. Ok, it might be great if you’re into the Japanese Industrial Noise Scene or, at a stretch, the german Avant-Garde Brutalist movement maybe. Since I’m not very interested in those styles I wanted something more versatile.
I’m not going to dive into all the different clipping and overdriving circuits out there, you can write a book on those, probably several books and someone probably already did. Instead, I’m going to concentrate on the problems I noticed when using the classic circuits with synths.
- In the Eurorack world audio voltages are a a lot higher than the millivolts guitars use. Diodes are often used in clipping circuits. You can easily clamp a signal using diodes to +/-0.7V. Which is more or less ideal for a guitar signal that’s hovering around 300mVpp, but Eurorack signals hover around 10Vpp so unless you attenuate heavily before your clipping stage it will turn anything into a mush.
- Any clipping circuit will be easily triggered by a lot of low frequency content as those are generally higher in amplitude. In a synth signal having a lot of low frequency content is not unusual. As a result of this, saturation/distortion circuits tend to lose a lot of low frequency content. A lot of circuits address this by implementing with some kind of EQ stage, either before, after (or both) the clipping stage. Turns out that’s what often adds the specific character to distortion rather than the clipping stage itself.
After a bunch of failed attempts I finally ditched the idea of using diodes in the clipping stage, there is just no way it works out without a lot of trouble. That took long enough, but what else to use? The idea came when I was working on the ‘Can-I-kick-it‘ module. While implementing the waveshaper I took the decision to allow the input level to be user controlled so you could sweep from the triangle over a sine wave to a full on square wave. The square wave is actually generated by clipping the whole circuit. And that’s when I thought, why not try to make it into a distortion.
A few test did convince me that it was an idea worth pursuing. It all sounded rather nice, especially since it could be used subtly as well, just rounding off the peaks. This solved the signal level issue a bit, but not the frequency content problem. A multi-band version seemed a good idea, plenty of VST’s offer the functionality and it would solve most problems, sadly not the pressing climate change issues, or global pandemics, but it would solve the issues with taming a clipping circuit.
The splitting of the bands
The whole ‘problem’ with multi-band-whatever’ is splitting the frequencies in to bands and combining them afterwards. Preferably avoiding any phase issues and unwanted distortions in the process. Since I’m designing a distortion, I can afford some liberty in this regard. I could call it ‘colouring’ and no one would be the wiser, but still.
I came up with a circuit based on a trick I used back in the hardware sampling days (Yeah, I’m that old). My trusty Akai S3000XL had a low-pass filter, but no high-pass filter. In order to achieve a hi-pass effect without buying the expensive filter board option, we resorted to layering samples. -hu?- *Some boring physics ahead, proceed with caution* When 2 waves with equal amplitude and frequency encounter each other exactly at 180° phase, they cancel each other out. So, if you play back a sample and, at the exact same time and speed, sample accurate, play back the same sample, but inverted (aka, a 180° phase difference) they will cancel each other out and you will hear nothing, nada, njet. If you then apply a low-pass filter to only one of the samples, but not the other, the low frequencies will continue to cancel out, since they are unaffected by the low pass filter, but the high frequencies won’t since they’re not present in both samples. So there you have it, a high pass filter. A lot of multi-mode filters do this to create the HPF output. You can extend this technique further and come up with plenty of nifty phase tricks.
So, how does that relate to what I needed to do here. Building a low-pass and high-pass filter for the lower band and upper band is the easy part. A 12db sallen-key filter design is not very complex. Given the idea above we can set up a way to achieve a middle band by taking the unaltered signal and subtract the high and low band, leaving only the middle band. That subtraction can be achieved by adding the inverted filter outputs to the un-inverted signal. Still with me?
Rather surprisingly, this idea worked far better than I anticipated. I mean, theoretically it should work, and it did in simulations, but reality is often just that tad more annoying. Combining the resulting waveform from the 3 bands did give me back the original signal within an acceptable margin of error. My scope still can detect a slight differences between both signals, but they’re up high in the audio spectrum where they probably won’t cause too much havoc to the signal, that is, if you are going to hear it at all. I really didn’t notice anything during tests and, it’s a god damn distortion, I’m not going to fuzz over a slight artefact in the signal.
All that’s left to do was implementing 2 filters. In itself a pair of Sallen-key filters would do just nicely and is easy enough to implement. *Some math later* I came up with the right values for the capacitors and resistors so that the filter would be sweepable in a usable range and, also not totally unimportant, uses available parts. Luckily for me there are websites these days who can help with the math involved. For a moment there I feared… I had to, you know, pen and paper. Gasp.
Now 12db filters aren’t optimal, things do get a bit weird when the low filter is at its highest and the high filter at its lowest setting. At that point, there is some overlap in the middle between both at a still noticeable level. But adding 24db filters instead would complicate things a whole lot more. And some vigorous testing later I decided to keep the 12db filters. I found the subtle frequency shifting not being a real issue.
Here are some nice pictures of the frequency analysis by pushing white noise through it and measuring the output frequency spectrum (without any drive added.)
As a small after-thought I added send-returns for each band. Seemed like a fun idea to be able to run effects on frequency bands. It also turned the whole things into a little bit more then just a plain distortion, which is a nice touch.
So, what can it do
Turned out, it’s a lot of fun.
- EQ: By adjusting levels you got yourself a crude but useful EQ. Easy to tone down the subs a bit of bring out the highs. It’s not the surgical kind, it acts more like a shelve eq, since, well, it actually is, but those things are useful to have around.
- Exciter: Slightly driving the high-end only gives very much the same result as an exciter would. Because that’s what an exciter kinda does (more or less).
- Saturator: A surprisingly gentle to not so gentle saturation can be achieved, very tape like. much saturation, much wow. No flutter though, but mucho grunge.
- Distortion: That’s what it’s build for and it can do it.
- Distortion^3: It could be used as 3 individual one band distortions.. just in case you are in the Japanese Industrial Noise scene and do need 3.
- Signal splitter: Using the sends you can split out the signal in its frequency bands. It’s fun to use some effects on some bands and leave other unaltered. Can be handy to combine with an FX module.
- Signal combiner: using the returns it can be a mixer, if you want. I mean, sometimes you just need to combine some signals together and just don’t have a spare mixer.
- Waveshaper: Originally the design stems from a wave shaper and it still can do that job just as well. 3 times. Put in a tri wave, get a sine or a square and anything in between.
- Bass/sub enhancer. By slightly driving the bass frequencies only, you can get it much more focussed and punching through the mix by slightly saturating them.
- It can also fill up several HP in your rack whilst totally looking cool.
And yes, you can get one
Links / Resources
As of writing, nothing special to report.