In part Three of a three-part series on dynamic equalization we delve deeply into “spectral dynamics processing” with Meldaproduction’s unique and versatile MSpectralDynamics plugin.

by Dave Townsend, Sept.2014

Welcome to Part Three of a three-part series on dynamic equalization with emphasis on Meldaproduction plugins.

Editor’s note: this article is split into two parts, both appearing in this issue, due to the length. The author is referring to three installments, the first and second of which were seen in previous issues of SoundBytes Magazine issues. Now back to our regular programing.



In the first two installments, we examined two plugins that straddle the line between equalizers and dynamics processors: MDynamicEQ and MAutoDynamicEQ. In this article, we’ll look at a relatively new class of processors that blur that line even further: spectral dynamics processors. In particular, we’ll dig deep into MSpectralDynamics from Meldaproduction ($273), as well as a couple of its precursors, notably Voxengo’s venerable Soniformer, for context.

Chances are you don’t presently use MSpectralDynamics or even know anything about it. That’s because despite being on the market for five years it hasn’t generated a whole lot of buzz. That, I think, is mostly because potential users just aren’t quite sure what it does. That’s understandable because it’s unlike anything else you likely have in your kit.

If you have heard of it but aren’t sure what it is, I’m going to try to dispel some of the mystery. If you’ve never heard of it before, then you are going to thank me for introducing it to you. You’re welcome.

So What Is It?

Just what IS a “spectral dynamics processor”? I wish I had a concise one-line description that could convey what it is. So does the developer, I think. The Meldaproduction website [LINK: http://www.meldaproduction.com/plugins/product.php?id=MSpectralDynamics] says it’s “a dynamics processor which works in the spectral domain allowing you to work with individual frequencies”. Yeah, I know, the first time I read that it didn’t exactly inspire an “ah-ha” moment for me, either.

The best short descriptor I’ve been able to come up with is “a processor that equalizes through compression”. Oh, you’re thinking; a multi-band compressor, right? Or maybe a dynamic equalizer? Well, yes, it is kind of like those things, but not really either of them. It’s something different, as we’ll see.

My Own Introduction to MSpectralDynamics

I initially tried MSpectralDynamics solely out of curiosity. It seemed unusual, so I downloaded the demo and tried it out. Not knowing what to expect, I dropped it onto the master bus with the intention of twisting knobs to see what they did. It had a LOT of knobs.

What happened next took me by surprise. Simply inserting the plugin into the master bus made an instant improvement in the clarity of my mix, without me doing anything at all. Oh, I said to myself: that’s different.

I started pulling up project after project, dropping MSpectralDynamics onto the master bus of each one. In many of them, I heard a noticeable improvement, again without tweaking anything. Or even having the first clue as to what I, or it, was actually doing.

By then I was starting to get pretty excited. Could this possibly be the mythical holy grail of audio plugins, the elusive Sound-Gooderizer you just slap on, sit back and enjoy? Well, not exactly. The Gooderizer plugin remains an elusive dream. But if this plugin is any indication, we do seem to be on track to get there someday.

MSpectralDynamics is essentially a massively-multiband compressor/expander. It defies categorization because although it’s a dynamics processor you don’t necessarily use it like a compressor. Not even as a conventional multi-band compressor. Ultimately, it works more like an equalizer – but it’s not an EQ, either. It’s all of these things and none of these things. Yeah, I know, I’m not making this any clearer, am I? Bear with me.

Probably the easiest way to visualize a spectral dynamics processor is to look at it from a historical perspective, to see how the concept evolved.

The Evolution of Spectral Dynamics Processors

In the beginning, there were equalizers and there were compressors. Although typically used together, they performed separate duties with little functional overlap. That began to change with the introduction of the split-band compressor in the early 60’s, which used crossover filters and two compressors, allowing low and high frequencies to be compressed separately.

This solves a problem in mastering that stems from the fact that the vast majority of a song’s energy is contained in the low frequencies. That means broadband compressors are almost always responding to low-frequency elements within the mix, such that high-frequency elements are being reduced along with the lows. Every time you squash a loud bass guitar note, an innocent shaker or tambourine takes the hit along with the bass.

Although splitting the spectrum in two helps, it doesn’t solve the problem completely. It just pushes the problem down the frequency spectrum. You’ll always have to choose an arbitrary split point, and within each resulting band the same problem continues to exist: lower frequencies’ amplitudes determine the amplitude of higher frequencies within the same band.

The solution is to add more bands. A three-band compressor gives even greater control. Four bands, better still. However, in the realm of hardware it’s just not practical, cost-wise, to keep adding bands. (A modern multi-band hardware compressor might set you back up to 5 grand!) But in the realm of software, no such cost limitations exist, so four-, five- and six-band compressors quickly became commonplace for digital mixing and mastering.

The Digital Multi-band Compressor

The C4 from Waves, so-named because it features four compressors, has been around since c. 2000 and set the standard for this style of multi-band compressors.

The bottom half of the display contains controls for four identical compressors. A later version added two more bands and is named – surprise – “C6”. There never was a C8, probably because they were running out of room for all those controls. It gets pretty crowded when you’re replicating compressor controls four or six or eight times.

Massively-Multiband Compressors

As computers grew more powerful it became practical to add more and more bands, with each compressor handling a smaller and smaller portion of the spectrum. This allows for very detailed control over specific elements of a mix such as taming narrow resonances, as well as overall smoothing of the spectrum and volume maximization.

Let’s take a look at one such massively-multiband compressor, Voxengo’s Soniformer. It’s been around since 2003 and remains a popular and very useful processor. In the evolutionary family tree, it falls between a multi-band compressor and a spectral dynamics processor.

Voxengo Soniformer

This plugin features 32 fixed bands, each covering just ¼ octave with independent attack, release, threshold and ratio parameters for each band.

The challenge for a plugin developer is presenting all those controls (256 of them!) in a way that isn’t overwhelming to the user. With Soniformer, that challenge was elegantly addressed by dedicating a separate view for each parameter rather than for each compressor, with a drawable curve to more easily set their values en masse. A real-time spectral display is then overlaid atop all of them for reference while making adjustments.

In the screenshot to the right, we’re looking at compression ratios for all of the 32 bands (talking about the lower panel; the upper panel is a gain-reduction meter). Click on one of the buttons along the bottom to select a different view. There are similar screens for threshold, range, attack, release, side-chaining, panning and makeup gain. It sure doesn’t look like your typical compressor, but it’s a clever and practical way of packing in a whole lot of controls without making it all hopelessly confusing.

The green bars are RMS signal levels, a spectrum analyzer that divides the signal into each of the 32 bands. The little white lines floating above it are peak values. These two pieces of information help the user set up compression ratios, as configured and displayed by the segmented white line running horizontally across the whole thing. The same information is provided for each of the other views, making it equally easy to adjust thresholds, reaction times and makeup gain for all 32 compressors at once.

Soniformer, despite its complexity, is easy to understand and surprisingly quick to get good results from. If you have problems with resonances due to less-than-ideal acoustics in your room, or hard-to-mike acoustical instruments such as a standup bass, then Soniformer can save the day. In addition to remedial applications it can also be used in the conventional way multi-band compressors are used for mastering, and it’s well-suited for maximizing volume in bass-heavy genres.

The main concept I want to point out with regard to Soniformer is the idea of drawing a curve to visually configure many parameters at once. The curve paradigm lets us manage great complexity by presenting it as an easily-visualized shape, allowing us to draw a curve that’s then imposed upon the spectral content via compression.

Spectral Dynamics, the Next Step

Using drawn curves to configure many parameters at once, it becomes practical – from a user standpoint – to expand a multi-band compressor to crazy numbers of bands. Get the number of bands high enough, a few hundred or a thousand of them, and we’re no longer thinking in terms of bands at all, but rather just about the spectral shape that they collectively define.

The more you start thinking in terms of spectral shapes, the more the plugin starts looking like an equalizer. After all, that’s what you do with any paragraphic equalizer, right? You specify the shape you want the frequency distribution to take. MSpectralDynamics does indeed look a lot like an equalizer. But it’s not. It’s a compressor that equalizes.

This class of processor truly straddles the line between equalizer and compressor, because although it uses compression and expansion like a dynamics processor, it does so primarily to smooth and shape the spectrum rather than to control dynamics. Although it can replace a conventional multi-band or dynamic EQ for some applications, it’s really distinct from either of those tools.

Using MSpectralDynamics

MSpectralDynamics can play a variety of roles. I use it primarily for mastering and vocal busses, but it’s also a pretty good de-esser and general spectral problem-solver. It can even do noise reduction, no kidding. And it can also play at least one role you probably didn’t even know you were missing: spectral ducker. We’ll talk more about that later, because it’s a very cool application.

My experience has been that the plugin quite often does something good to full mixes even without touching any controls. That’s handy, because there are an awful lot of controls. The good news is that there are just four of them you need to understand in order to get started:

Slope

Wet/dry

Attack and release

Smoothing

Familiarize yourself with those four and you’re on your way. (OK, nitpickers, attack and release are really two separate controls, but if you get one you’ll get the other. I’m counting them as one.)

Sidebar: Easy Mode vs. Edit Mode Like most Meldaproduction products, MSpectralDynamics has two modes: easy and advanced. By default, the plugin comes up in Easy Mode. Personally, I almost never use Easy Mode with MSpectralDynamics. With the exception of the de-noise example in the usage notes, the rest of this article will refer exclusively to controls on the Edit (advanced) Mode screen. Click on the Edit button to close Easy Mode and enter the “real” user interface.

Spectral Slope

OK, time to dig into the meat of this thing, starting with the biggie: Slope. Hang in there with me, because I’m going to take the long way around…

Take a look at the following four spectral graphs. These are from four different genres and four different eras. Although not identical, the similarities should be obvious.

It’s no coincidence that these four graphs look similar. Those frequency distributions weren’t arrived at by some committee, but by literally billions of people agreeing on what sounds good over hundreds of years. Beethoven didn’t have a spectrum analyzer, but he nevertheless intuitively chose arrangements, voicing, instrumentation and stage placement that resulted in just this type of spectral signature. (By the way, Beethoven is represented in picture D, above. That’s his Fifth Symphony. The other three are prog rock, pop and soul tracks from Rush, Pink, and Seal, respectively.)

Here’s a generalized picture (right) of what you’ll normally see in spectral analyses of full music mixes. There are usually three distinct segments representing low, mid and high frequencies, each with their own “slope”, or rate of change.

The main differentiators between one spectral graph and another are the frequency of pivot point A, the frequency and relative amplitude of pivot point B, and the slopes of line segments C, D and E. We’re most interested in the middle line segment (D), which represents the most significant frequencies in any mix. In particular, we’re interested in the relative amplitudes of A and B, because they determine the angle of segment D’s downward slope.

OK, you weren’t expecting geometry. Sorry. The point of this is that it’s the slope of line segment D that is the primary determiner of the overall perception of brightness of tone. No, it’s not segment E as you might think. Rather, it’s the rate at which levels drop from around 70-100Hz up to about 3-5KHz – often referred to as the spectrum’s “slope”.

The slope is never a perfectly-straight line like the idealized graphic above, but it does follow a clear downward angle. Fortunately, we don’t have to talk about this angle in degrees, but rather as decibels per octave. If frequency ratios decrease by 3 decibels for each higher octave, we say that the graph has a “3dB per octave” slope. (Pink noise is, by definition, white noise filtered for a 3dB per octave slope.)

Slopes can vary from shallow (e.g. 3 dB/octave) to steep (e.g. 6 dB/octave). Pop and electronic dance music, being generally brighter, will tend toward the shallower range of slope, often between 3 and 3.5 dB per octave. Naturalistic genres such as classical, folk and traditional jazz will usually be 4.5 to 6 dB per octave. Classic rock typically ranges from 4 to 5.5 dB per octave.

I’m a classic rock guy but prefer a somewhat modern sound, so for me the sweet spot is between 4 and 4.5 dB/octave. If you’re into contemporary electronic dance music, you’ll probably aim for a much gentler (brighter) slope, perhaps 3 dB/octave or even lower.

So where to start when choosing a slope? My advice is to grab a spectrum analyzer and take a look at some of your favorite songs that you’d like to emulate. Using either Voxengo SPAN or Meldaproduction’s MAnalyzer (both free) you can easily determine the slope of any mix, whether it’s your own production or a commercial reference. (See the sidebar “Determining the Slope of a Mix”.)

Sidebar: Determining the Slope of a Mix Spectrum analyzers also have a “slope” adjustment, but it has no effect on the sound passing through it. Instead, its purpose is to filter the spectrum with positive gain for display purposes. For example, if the signal under analysis has a 3 dB per octave downward slope, the analyzer can apply a +3 dB per octave compensation so that the resulting visual is more or less horizontal in appearance. This is a nice convenience, because it’s easier to match a slope target when your goal is a horizontal line. You can use this feature to determine the slope of a reference mix. Import the reference into a track in your project and insert a spectrum analyzer there. Set it for slow averaging (infinite averaging if your analyzer offers it) and one-octave smoothing. Play back the file for at least a few seconds (you might want to skip intros and fadeouts, as they’re often not representative). Adjust the analyzer’s slope control until the display takes on a more-or-less flat appearance and note the slope value. It’s as easy as that.

The preceding dissertation about slopes merely serves to bring us to an understanding of the most important knob on the MSpectralDynamics plugin: Slope. Its value is entered in decibels, from 0 dB per octave up to 6 dB per octave. This setting imposes a shape onto the compressor threshold curve for the plugin, a sloping line tilted at the angle you specify. The higher the value, the more aggressive the compression will be at higher frequencies. Or, put another way, the higher the value the less trebly the mix will sound.

Insert MSpectralDynamics on the master bus of a mix and move the Slope control up and down. You’ll easily hear the effect it has because it’s not unlike the Treble knob on your stereo, just in reverse. Turn it counter-clockwise to make the overall mix brighter, clockwise to make it darker.

I usually start at 4.5 dB, but the slope you end up with will be largely genre and style dependent, as well as a matter of personal taste. You might choose the slope based on the genre you’re trying to emulate, to match up multiple songs in an album, to brighten up a dull mix or to soften harshness in an overly-bright mix.

Wet/Dry Mix Control

Normally, you’ll adjust this control last. So why talk about here rather than at the end? Well, earlier I alluded to four controls that are the most important to understand with this plugin. Slope was #1. The wet/dry mix knob is #2.

The wet/dry mix parameter is exactly what it says: it mixes the compressed and uncompressed signals together. Bringing the dry signal in results in upward compression by raising the level of quiet portions, a technique known as parallel (or “New York”) compression. 0% is fully dry, or bypassed. 100% is fully processed. You use it more or less the same way you’d do with any compressor that features a wet/dry mix knob.

Conventional parallel compression typically entails high compression ratios (e.g. 8:1 or 10:1) mixed underneath the dry signal. However, high ratios aren’t the norm in most scenarios where you’d likely be using MSpectralDynamics. With this plugin you’ll more often be using gentle compression ratios of 1.5:1 or less, using the wet/dry setting as a broad adjustment for softening the overall effect and restoring some of the natural dynamics.

I usually keep this knob at 100% until everything else is set, then start backing off the wet/dry mix until the effect becomes barely audible, and finally set it about halfway between there and 100%. More often than not, for me it ends up at around 80%, although it might be as low as 40%-60% if I’m after a subtle effect. But if I’m using MSpectralDynamics for remedial purposes such as squashing resonances on an instrument or vocal track, it’ll most often remain at 100%.

Attack and Release

As with any compressor, attack and release times have a big effect, but it’s especially true for this type of compressor, and especially on the master bus. In that role, you’ll often get the most pleasing effect with a fast attack and short release. Long release times tend to suppress ambience and reverb tails, so start with a release around 100ms and gradually lower it until the ambience and reverb come back. I often end up as low as 10ms, but it depends on the mix.

On individual tracks, longer attack and release times with higher compression ratios may be more appropriate. Try release times as long as 500-700 ms for vocals, although 150-200 ms will work most of the time. When adjusting attack times on vocals, start short (1 ms) and listen to the hard consonants, pops and sibilance as you gradually increase the attack. If you’re using an entry-level condenser, you’ll probably prefer a faster attack, since cheap condensers often exaggerate those types of sounds.

Normally, release times are much longer than attack times, but there is at least one application where an attack time longer than the release time may work best, and that’s when you’re sidechaining MSpectralDynamics for a ducking effect. More on that later.

There is also an automatic release option. In this mode, the plugin automatically adjusts the release time based on an analysis of the incoming dynamics. Personally, I rarely use automatic release except occasionally on the master bus. As a general rule of thumb, automatic release is most helpful when there is a great deal of variability in the material, such as in a full mix. For instrument tracks and sub-busses, I prefer the sound-shaping possibilities of manual release settings.

Smoothing

The Smoothing parameter determines how the frequency analyses are averaged. Turning this parameter clockwise effectively reduces the number of bands and makes them broader. Turning it toward its minimum setting makes the bands narrower. Here are some examples with different Smoothing values:

For mastering, I usually set no higher than 2%, and for very busy mixes 0% might work best. For individual tracks that only need broad smoothing (as opposed to severe remedial treatment) you may want to go as high as 5%. If you’re only after volume maximization, you can go all the way up to 20%, which gives you essentially a wide auto-adjusting tilt-EQ.

CPU usage will be highest with the lowest Smoothing values, so there’s an added incentive to turn the knob up if you don’t need high resolution. With higher Smoothing values you can also switch to either the Low or Medium Quality setting (lower-left of the same panel) and save even more CPU.

Wait a Minute…What About Threshold?

The four controls described above are what I consider to be the most important ones for this processor. You may be wondering why Threshold isn’t among them. After all, it’s by far the most critical adjustment on normal compressors. But with MSpectralDynamics you’ll typically set the threshold at minimum (-80dB, essentially silence) and leave it there.

That’s because, more often than not, you’ll be using this plugin for a general smoothing/leveling effect. With the threshold at minimum, the compressors are always engaged. You might expect such a tactic to result in bland, featureless mush with the life sucked out of it, but surprisingly it does just the opposite: it will actually bring out subtleties in your mix that you forgot were in there! No kidding.

Which is not to say the threshold adjustment doesn’t serve any purpose. On individual tracks especially, it may work better with a high threshold and high ratio, much like you’d typically use a multi-band compressor.

You may also have occasion to alter the threshold curve in order to emphasize or de-emphasize certain frequencies. As we’ll see, MSpectralDynamics lets you do anything you want with the threshold by defining a custom curve.

Customizing the Threshold

Sometimes, you may find that initially the plugin is compressing certain frequencies too aggressively. You might be losing the very low end or over-emphasizing the very high end, or in some cases might see an unwanted bump in the frequency response around 2-3 KHz. Sometimes, you just have a nasty resonance or sibilance that you want to address, or maybe a track that’s overly bright in places. For these scenarios, the solution is to modify the threshold curve.

Click on the Threshold button above the spectrum display to enter the threshold edit mode. A black line will appear along the bottom of the display representing the default threshold, which is flat. You can drag this line upward to raise the threshold, the same as turning the Threshold knob clockwise.

To change the shape of the threshold curve, you break the line up into smaller segments and adjust them individually. Double-click on the line to create a node. Create two nodes and you have a new line segment that you can move up and down by dragging the line. Nodes can be moved independently, allowing you to alter the slope of the line segment between them. Multiple nodes may be moved as a group by dragging a rectangle around them.

As you move a line segment upward, it reduces the amount of compression for that frequency range by raising the threshold. If you move it up until it’s above the average signal level, you’ll remove the effect entirely for that range.

You’ll want to audition your custom curve and compare it to the default flat threshold. Just click on the Threshold button to revert to the default threshold, and then click it again to return to your custom curve.

Other Controls

The Input Gain knob boosts or lowers the signal coming in to the plugin. Be forewarned: this plugin does not like to be overdriven! If you see the slightest indication of flat-topping on the spectral display, use the Input knob to lower the incoming signal. This affects only the main signal; it has no effect on the sidechain input.

Temp Gain can be used to add (or subtract) up to 24 decibels of gain to the signal prior to the detector. Some temp gain will be needed for all but the highest signal levels. You’ll be able to see the temp gain reflected in the Analyzer window, and hear its effect as the amount of compression increases with the temp gain level. Just be careful not to turn it up so high as to cause internal clipping, which will also be evident in the Analyzer window. If you’re using the sidechain input, Temp Gain controls the amplitude of the sidechain input.

The Resolution knob changes the FFT bin size, or in other words the granularity when analyzing the spectrum. Lower numbers represent higher resolution (and greatest CPU usage). The default setting of 10 ms works most of the time, but Resolution should be equal to or less than the attack time. So if you’re using a very fast attack, such as when using the plugin for de-essing, you’ll probably want to lower the Resolution setting accordingly.

Attack, Release and Ratio all work like you’d expect. Use the same rules of thumb for this plugin as with any other compressor. For mastering, I like a low ratio (1.2:1), fast attack (1 – 2ms) and fast release (10-20ms). However, if you hear your reverb tails being overly emphasized, increase the release time to 40 or 50ms. For maximum transparency, try slow attack (20-50ms) and slow release (150-250ms).

Negative ratios (e.g. 1:1.2) are supported, too. This causes the processor to work in reverse, as an expander rather than as a compressor. Some interesting effects can be achieved this way, but be careful; it’s possible to inadvertently peak into the red.

Naturality is a non-obvious parameter. What it does is cause each band to interact with its neighbors, so that when one band compresses, adjacent bands are also affected, blurring the delineation between bands. The effect is subtle, and can often be turned off entirely. I normally set it to 0, 1 or 2 percent.

Quality sets the resolution for frequency detection, or how many discrete frequencies can be identified by the spectral detector.

(Technically, it selects an FFT size of 2048, 4096 or 8192 bins, which in turn determines how many different frequencies can be measured. Even at the lowest Quality setting, it can still distinguish frequencies that are only 10Hz apart.)

The vendor recommends leaving Quality at its default setting of “High” unless you’re running out of CPU and need the plugin to operate more efficiently. However, the Low and Medium settings are fine in conjunction with high Smoothing values.

Despite its name, this setting does not affect sound quality. It does, however, affect the way other parameters work, so unless you’re willing to start over from scratch it’s best to not change it mid-project.

Range determines the maximum amount of compression that will ever be applied. This isn’t a common feature on general-purpose compressors, although it’s becoming more so, and is fairly standard on many multi-band compressors and dynamic equalizers (e.g. Waves C4, Fabfilter Pro-MB, Voxengo Soniformer). Left at its default value of 96dB, the Range option is disabled. Change it only if the material is so extremely dynamic that the plugin is occasionally applying an unnatural-sounding amount of compression to the loudest parts.

Look-ahead enables a look-ahead buffer, which allows the plugin to see what’s coming in order to respond to large amplitude changes in a smoother, less obvious way. In other words, it can start responding to future events that haven’t actually happened yet. Ignoring time is just one of the cool things that digital compressors can do that analog devices cannot.

For most MSpectralDynamics applications, though, look-ahead isn’t needed and increases both latency and CPU overhead. If you don’t know what look-ahead is good for, and under what specific circumstances it’s called for, just leave this option off.

AGC, which stands for Automatic Gain Control, is a feature that automatically compensates for level reduction caused by compression. This is off by default, but you may want to enable it because it can help prevent the self-deception that occurs when you think something sounds better or worse just because the volume has changed. Be aware that if you’re using long attack and release times (> 100ms) AGC can cause pumping and should be turned off. I usually leave it off anyway.

Limiter: the plugin has a built-in limiter that you engage via the Limiter button on the right-hand column of controls. The limiter has no controls and is permanently set to brickwall at 0dB, so most users will have no use for it. Leave it off and save the CPU overhead.

GPU Acceleration

This option can be found under the main Settings context menu, via the Settings button at the very top-right of the screen. When enabled, MSpectralDynamics makes use of your video card’s processor to offload some of the graphics overhead from your computer’s main CPU. It makes animations smoother and lowers CPU usage.

GPU acceleration is turned on by default, and that’s usually best. But if you experience weirdness such as incomplete graphics, freezing or flickering, try turning it off. With some video cards, notably ATI cards, strange things can happen when multiple plugin UIs from different vendors are onscreen simultaneously that all use GPU acceleration (Waves plugins are especially susceptible). If you have vision limitations that require you to use a screen magnifier, it may also be incompatible with GPU acceleration.

Knee Size

By default, the compressor’s threshold is set to silence. That means it’s always working, always compressing to some degree. The amount of compression increases as the signal level rises. This results in a gentle leveling effect that smooths the overall spectrum along the slope that you specified.

You can, of course, raise the threshold (often compensating with a higher compression ratio) but for mastering I find it works best to keep the threshold low.

Another option for softening (or hardening) the effect is changing the knee. “Knee” refers to the rate at which the compressor transitions from gentle to high compression. As you turn the Knee control counter-clockwise toward 0%, the transition becomes sharper, until at the leftmost position it becomes a “hard” knee.

The default value of 25% gives a reasonably smooth transition and is suitable for most applications. Increase it if you want softer, less-pronounced compression, such as when mastering a mix that doesn’t have a lot of big peaks in it. A hard knee is more appropriate for higher ratios on individual tracks.

Note that Knee Size, along with the Ratio and Range parameters, is overridden by a custom processor shape, as described below.

Processing Shape: Custom Transfer Function

The term “transfer function” refers to how a compressor reacts to different levels of incoming signal. When you change the Ratio value, you’re changing the slope of the transfer function. MSpectralDynamics lets you completely customize the transfer function, which it refers to as “Processing shape”.

To enable editing, click on the little zig-zag button to the left of the question mark. The same editing controls described above for creating a custom threshold curve also apply for defining a custom processing shape, e.g. double-click to create a node, double-click a node to remove it.

The initial shape will correspond to the previous knee, ratio and range settings. Once the custom processing shape is enabled, though, those previous parameters no longer apply.

In this screenshot, I’ve created two segments. What this particular curve is going to do is implement two-stage compression, such that quiet signals are more compressed than loud signals (downward expansion).

By moving the nodes around, you can define all sorts of behaviors, such as downward or upward expansion and multi-stage expansion/compression/limiting.

Each node has its own knee setting, which determines the abruptness of the transition. New nodes are hard-knee by default. Drag the little horizontal arms outward to soften the knee.

Each line segment has a grab point (the little circle) that you can drag to create smooth curves. There are also presets (right-click to see them) that may be applied to individual line segments. They range from practical to bizarre.

WARNING: Unlike the custom threshold feature, you cannot disable and re-enable the custom curve to A/B with and without your custom curve. Once you click off the edit mode in the Process Shape editor, your custom settings will be discarded. There is, however, an A/B function in the plugin that allows you to easily compare two settings, so use that feature instead.

Using Secondary Processors

You can enable a second compressor section, as well as an optional gate. Using two processors allows you to set up two separate thresholds and two compressors with different characteristics. For example, you might want gentle compression for average signal levels and greater compression for unusually high peaks. Or, alternatively, the second processor can be made to work like an expander.

To enable the second processor, click on the Enable button next to “Processor 2”. This will enable a second panel identical to the first. You will also now see a second (red) threshold line in the Analyzer window for the second processor. However, this one is always a straight line that cannot be customized like the primary processor’s threshold can.

Click on the triangle button next to the Enable button to turn the processor into a downward expander. In this mode, the processor responds to levels below the threshold. This makes quiet parts quieter. It’s actually the same as using a negative ratio (e.g. 1:2) in normal compression mode. Using a negative ratio in this mode causes the opposite action, making quiet parts louder.

Keep in mind that it’s a spectrum-sensitive expander, not a normal broadband expander. You may therefore hear unexpected tonal changes in a track (or, even weirder, in reverb tails) as certain frequency components are pushed down by the expander. It’ll generally work better on tracks and drum busses than on the master. On a drum bus it makes for a pretty good de-verber, taking out a lot of the room ambience.

The Gate

The gate mostly works like every other gate you’ve ever used, with one very important difference: its trigger is the spectrum analyzer. This means it respects the threshold curve, which means it can be frequency-sensitive. With a custom threshold curve, you can make the gate respond only to the kick drum, for example. Or ignore the kick drum.

Other Settings and Features

As you dig into this plugin’s massive number of controls, it may seem like a bottomless pit of mysteries. I’ll have to leave it to the reader to delve into them all, lest this article become so long as to be unreadable. But on your next rainy day, take a moment to at least have a look at some of the things not mentioned in this article, such as…

Custom attack and release shapes

Alternative detection modes

Curve presets

Mid/Side mode

Equalizer customization

Spectrum capture for matching and conflict resolution

Oscilloscope display



On to Part 2