Eliminating clicks, AKA the reverse-adwords
You know that annoying clicking sound you sometimes hear when you trigger a sound? How can we avoid it in a patch? Where does it come from? Let’s discuss.
Basically, a click happens when you ask a waveform to jump. Smooth transitions sound nice, steps don’t. Simple enough! But what does this REALLY mean? Waveforms are bipolar, meaning they go positive, negative, positive, negative, etc. Each time they cycle like that, they move through a zero point, generally referred to as a zero crossing, where they’re neutral. That’s also where your speakers or headphones sit when they’re not making sound. If you send a signal to your speakers that starts at zero, it’ll sound fine. However, if you send a signal to your speakers that starts, say, in the positive realm, it’ll cause a click, because speakers can’t teleport. Take a look at this picture:
The left of this picture shows the starting point for two audio files. Notice that the top example is cut badly, so it starts below the zero point. That means that it’s going to click when we play it back. The bottom file, however, is cut perfectly at a zero crossing, so there won’t be a click. SCIENCE!
Let’s hear what that sounds like:
The standard way to avoid this: fading
You’ll often see this sort of thing if you’re running an oscillator into a VCA and controlling that VCA with something like a decay-only envelope. Since oscillators in Eurorack are always moving, they’ll be in random positions every time you trigger the envelope, and often they won’t be at a zero point. An easy way to fix this problem is to create a very short attack stage at the beginning of your envelope. This basically creates a fade, so even if the waveform isn’t at zero when it starts, it’ll gradually increase in volume and won’t click, even if the attack stage is super fast. If you’re using a decay-only envelope, you can use a fast slew to create a fade like this. Easy enough!
The nerdy way: actual zero-crossing detection
The other way to avoid clicking is to actually detect when the input waveform is at zero crossing, using something like the WMD Digital VCA. This is pretty awesome, but I can’t think of a non-dedicated way to patch this, so if you don’t have a module like that it probably won’t be a great solution.
Clicks aren’t always bad, though
This may seem counterintuitive to say now that I’ve written a whole blog post about how to avoid clicks, but sometimes they’re useful in things like percussion. Check out our blog post on creating kicks and the other one on creating snares to see how we used some unusual patching techniques to actually create popping sounds like this.
A final note: clickless mutes
You may see some modules advertise “clickless” muting. The way this works is that they basically add a tiny, fast fade to the audio when it’s muted and unmuted, instead of just cutting off the audio instantly. This is handy in a performance, as there won’t be any unexpected pops. Another way to avoid this in modular is to mute your gates instead of muting the audio: this won’t silence a sound, but it’ll stop it being triggered, and this often sounds the most natural. Muta Jovis is great for this!