Clean Mastering

What to Avoid in a Clean Master

If you want a master to sound clean, odds are you’ll want to avoid a few things:

First, you’ll want to avoid plugins that introduce a significant amount of latency - sometimes it’s hard to see if a plugin you’re using introduces latency, but at least in Logic Pro X, you can hover over the insert, and a text box will pop up showing how many samples of latency is caused by the plugin.

The greater the latency, the more likely your signal is to encounter pre-ringing. A subtle form of distortion in which latency compensation causes mild attenuation to transients - especially in the low-frequency range.

With this in mind, you’ll want to master your session at a higher sampling rate - since plugins will delay by a set number of samples if you increase the sampling rate of the session, you’ll reduce the amount of time each sample takes up, in turn reducing the latency time and subsequent pre-ringing distortion.

The latency of each plugin makes a very small change to the sound, but as you can imagine, this adds up the more plugins we add.

This brings me to the next point - you’ll want to avoid using too many processors.

In addition to latency, plugins can add small artifacts to the signal - again, this effect is subtle and will vary from plugin to plugin since some are designed better than others, but the more you add, the more likely you are to encounter unwanted artifacts.

If you need to use a lot of plugins in your chain, listen carefully to ensure that they don’t negatively impact the quality of the signal.

Next, you’ll want to avoid introducing moderate to significant saturation - although the harmonics introduced from saturation sound great in most cases, they’ll reduce the dynamic range by adding low-level content to the signal.

Again, this isn’t a bad thing in most masters, but retaining the dynamic range is important when trying to achieve a clean sound - so let’s leave the dynamic range unaffected as much as possible.

Similarly, exciters should be avoided - although they can brighten up the sound, making it sound cleaner, they’ll likely create aliasing distortion by distorting high frequencies - if you use either an exciter or high-frequency saturation, you could attenuate aliasing with oversampling, but this increases the plugin’s latency, in turn causing subtle pre-ringing distortion.

The last thing you’ll want to avoid when making a clean master is parallel processing.

This includes parallel compression, parallel maximization, or any other form of processing that splits the signal.

This idea is true for both auxiliary sends within the DAW and wet/dry dials within plugins. In other words, don’t use sends, and if you’re using a plugin with a wet/dry or mix dial, ensure that the effect is set to 100%.

When a signal is split and processed differently than the original, phase cancellation will occur when the 2 signals are combined.

The severity of this cancellation depends on the plugin used - for example, parallel EQ causes the most noticeable cancellation, but all forms of parallel processing will negatively affect the signal in this way.

With these ideas in mind, let's create a clean mastering chain.

Watch the video to learn more >

Starting the Chain with EQ

To start the chain, I’m going to use this Weiss EQ1 - it’s an incredibly clean-sounding EQ, but what I like about it is that it forces me only to make a handful of changes.

If you’d like a free alternative, I’d recommend the MEqualizer by Melda Audio - just be sure to avoid the ‘Saturation’ dial in the top window.

You’ll notice that if I keep the plugin on the low-latency mode, it doesn’t introduce any latency whatsoever. I’m going to keep the processing as stereo and avoid affecting the left and right channels separately. Again I’m trying to keep things as simple as possible for this master.

With the EQ, I’ll boost the lows, dip a little around 250Hz to reduce high-frequency masking, boost some of the vocal’s clarifying frequencies, and then add some air with a high shelf.

Although some of these filters look aggressive, notice that the biggest change I’m making is to the lows, and it’s still under 2dB.

What you change will depend on what you’re trying to achieve - but just be sure to avoid super narrow or aggressive changes - they’ll sound unnatural and, depending on the EQ, may even introduce artifacts.

Let’s take a listen to this EQ being enabled, and notice how the track sounds clean but with certain ranges augmented.

Watch the video to learn more >

Introducing Clean Maximization

Although we want to preserve our dynamic range as much as possible, maximization, when used correctly, can increase the perceived depth and dynamic range of a master.

This is how that works:

In short, maximization increases the quietest parts of the signal. Some of these parts were so quiet that they were masked by louder sounds and/or fell below our threshold for hearing. This usually happens to high-frequency details, as well as the very end of reverb tails.

By bringing these parts up, we’re reducing the dynamic range, but we’re giving the listener something that they can actually hear during quieter parts.

With that in mind, I’m going to use this Weiss MM-1 Maximizer and stick to the default setting but switch it over to the loud algorithm.

Now, notice that I’m getting no peak down attenuation from the ceiling - instead, I’m only using the maximizer.

Additionally, notice that the wet/dry is set to 100% - this will reduce phase cancellation and keep the signal sounding clean.

If you don’t have this plugin, try OTT by Xfer Records but use very subtle settings to avoid hyping up the sound too much.

I’d avoid using the Sonnox Inflator since it’ll add a lot of harmonic content, in turn changing the timbre.

With that in mind, I thought this MM-1 was the best option, even if it does introduce some latency.

Let’s take a listen to the plugin being introduced, and we’ll switch between algorithms to hear how each one impacts the sound.

Watch the video to learn more >

Trying P440 Equalization

This is a new EQ I came across that I think works really well for mastering - I’m inserting it after the MM-1 to adjust the balance of our now maximized signal.

I’ll keep everything pretty simple and subtly amplifying 120Hz, around the snare’s fundamental and kick’s 2nd-order harmonic, by about 1dB.

Then, I’m very subtly amplifying 6kHz to brighten up the sound, and the same can be said for a little under 10kHz. The filters this plugin introduces are very subtle and broad, similar to a Pultec, but with distinct curves and Q values.

Now, the main reason I like this plugin is what it can do to the low frequencies. I’m going to introduce this Tremor function, using the dial to set the frequency cutoff and the gain slider to amplify the filter subtly.

Strangely enough, this function introduces the Schumann frequency and multiples or harmonics of it. The Schumann frequency is about 7.83Hz, so below our perception of hearing, and it’s the same frequency as the Earth’s natural resonance.

Whether or not these frequencies have a big effect on humans is still being researched, but for some reason, I really enjoy the sound of these harmonics being added to the lows.

Another reason I picked this particular plugin is due to its zero latency, which, as we’ve covered, is ideal when creating a clean-sounding master.

So let’s take a listen to this EQ being introduced, and then I’ll adjust the Tremor function to a more aggressive level so you can hear how it affects the lows.

Watch the video to learn more >

Introducing Soft-ish Knee Clipping

Although clipping isn’t thought of as a clean form of processing when compared to the timbre-altering effect of compression and saturation, it’s actually a lot cleaner sounding than one might think.

I’ll use this Newfangled Saturate Clipper, but if you want a free version that’s similar, I’d recommend this Free Clip plugin by Venn Audio.

With the drive slider, I’ll increase the incoming signal until I start to see some attenuation - I’m noticing that 3dB is a good starting point with the signal occasionally hitting the ceiling.

You might think that a hard-knee setting is best since it’ll only attenuate transients and add the distortion associated with clipping less often. However, after listening closely, I’m noticing that slightly softer settings are squeezing the signal nicely, as well as introducing less noticeable distortion.

I think this detail-preservation effect is lessening the effect of the distortion, but nevertheless, I’m really enjoying the sound of these settings.

What’s great about this plugin, or clippers in general, is that it lets me push the signal to the ceiling while adding very transparent attenuation, especially if I keep the attenuation around 1dB.

Lastly, the plugin itself introduces subtle latency - nothing too significant.

So let’s take a listen to this plugin being introduced, and notice how it sounds fuller, louder, of course, and how the attenuation is pretty transparent.

Then, we can adjust the knee settings and detail preservation slider so you can hear how these elements alter the sound.

Watch the video to learn more >

Final Limiting Stage

Last up for our chain, let’s add a limiter to get the LUFS to a competitive level while ideally retaining the original timbre.

I’m going to use this FabFilter Pro-L2, but a great free alternative is LimiterOne by CISDSP Factory. Or you could use Limiter No.6 Tokyo Dawn Labs, which includes a lot more features, a clipper, and more.

Back to the Pro-L2, I’m going to turn off lookahead, avoid oversampling, and set a longer attack with a shorter release of 50ms.

You might be wondering how I can use these settings and avoid inter-sample peaking. In short, all I need to do is turn down the output. Granted, I’ll need to keep an eye on my true-peak meter, but I’m noticing that after lowering the output to -0.5dB, my TP level is staying around that value.

I’ve found that the Transparent algorithm has the lowest latency and the cleanest sound unless it’s pushed super hard. Since we increased the level with the clipper before this plugin, I don’t need to use this limiter too aggressively - so this algorithm will work well. Alternatively, Punch is another great low-latency option.

I avoided lookahead since it’ll affect the ADSR of my transients. The same can be said about TP limiting, so I’ll avoid this as well.

A release time of 50ms is the quickest I can set it before I start to cut into and distort the signal’s lowest frequencies. By using a quick setting, I can return the signal to unity quickly, which retains the dynamic range better than long-release settings.

If we look at our metering, we’ll notice that our TP level is still good and that the LUFS is roughly -11. Keep in mind that this plugin’s LUFS measurement is relative to -9 LUFS, so 2 below -9 LUFS is -11 LUFS. Just saying this because that’s definitely not something that’s clear at first glance.

Admittedly, this master is not the loudest, but it has a clean and upfront sound that still retains its depth and dynamics.

We’ll do a quick recap and A/B of the full chain in a moment, but first, let’s listen to the track with this limiter enabled and notice how it sounds cleanly amplified with only a small difference in its tone or timbre.

Watch the video to learn more >

Full Chain Overview

Before we do a full A/B of the original signal and our chain, let’s just look at some key points.

First, we only used 5 plugins or inserts - no sends, and all effects were set to 100% whenever a parallel or blend function was available.

Almost all plugins were either low-latency or no latency, and the session was set to a 192kHz sampling rate to keep the time delay per sample as low as possible - which helped minimize the effect of pre-ringing.

Only subtle changes were made with the EQs, and we only introduced non-harmonic generating plugins - so no tape emulations or saturators, aside from the soft-knee clipper.

Lastly, the limiting we used did not introduce oversampling, lookahead, or true-peak limiting and instead utilized a lower output to avoid inter-sample peaking.

Like I said at the beginning of the video, I’m being super nit-picky here with what type of processing I’m introducing, but I think the final result sounds incredibly clean. Let me know if you’re hearing the same thing in the comments section or if this chain kind of misses the mark for you. Either way, I’m happy to hear your thoughts.

Let’s take a listen to the full A/B - I’ll use peak normalization so that the comparison is a bit closer.

Watch the video to learn more >