MeldaProduction Dynamic Equalizers: MDynamicEQ
Dynamic EQs are a relatively new type of effect about which, not surprisingly, not much is understood. This tutorial will explain it all in every detail.
by Dave Townsend, May 2014
This is Part One of a three-part series exploring three of MeldaProduction’s spectral dynamics processors: MDynamicEQ, MAutoDynamicEQ and MSpectralDynamics.
Editor’s note: this article is split into three parts, all appearing in this issue, due to the length. The author is referring to three installments, the second and third of which will be seen in upcoming issues. Now back to our regular programing.
This actually started out as a review for a different popular dynamic equalizer, one that’s more recent and currently the topic of much online discussion. However, as I dug into that plugin’s features it became apparent that MDynamicEQ from MeldaProduction matches it nearly feature-for-feature – and costs half as much! MDynamicEQ, its big brother MAutoDynamicEQ, and their cousin MSpectralDynamics don’t get nearly as much press, so I reckoned it would be a greater public service to tell you about them instead.
MDynamicEQ and MAutoDynamicEQ are both dynamic equalizers, which I’ll define shortly. The primary difference between the two products is that MAutoDynamicEQ adds spectrum matching. In this installment I’ll be focusing on MDynamicEQ, but keep in mind that everything mentioned here also applies to MAutoDynamicEQ, the subject of Part Two.
MSpectralDynamics isn’t billed as a “dynamic equalizer” by its creator, but it’s definitely in the same family. Like the other two, it is a dynamics processor that works on the frequency spectrum. It can be used to solve many of the same types of problems. But it’s really in a category of its own. In fact, it’s rather unique in the plugin world at large, so it will get its own review in Part Three.
We’ll start with some general observations about dynamic equalizers, then take a detailed look at the technical aspects of MDynamicEQ, and finally walk through some real-world scenarios for which this plugin might be well-suited.
Dynamic Equalizer versus Multi-band Compressor
Dynamic equalizers have only recently become commonplace, so a question that gets asked often is: what is a dynamic equalizer and how is it different from a multi-band compressor? This in turn begs the corollary question: how do I use them and why would I choose one over the other for any particular application?
These are reasonable questions because in fact, the differences are often subtle, and for many applications either could work just fine. There are, however, specific applications where a dynamic equalizer is the better tool for the job.
Let’s start with the basic difference between them. A multi-band compressor uses filters to separate the signal into two or more bands, compresses each of them independently, and then recombines them. It’ll feature all the standard compressor controls: attack, release, threshold, and ratio, and they all work the same as in any broadband compressor.
A dynamic equalizer, on the other hand, does not separate the signal into bands. Instead, it works much like an ordinary parametric equalizer except that each band’s gain can be automatically adjusted based on the incoming signal’s spectral content (or an external signal).
A dynamic equalizer is both an equalizer and a dynamics processor in one. You could call it a dynamics processor that’s used primarily for equalization. You could call it an adaptive equalizer, or a frequency-selective compressor. All of these descriptions apply.
With both dynamic equalizers and multi-band compressors, we ultimately end up with a similar result: automated amplitude adjustments applied to specified frequencies. Either of them can be suitable for gentle leveling, de-essing, and containing low frequencies for volume maximization. Either may allow for external sidechaining if the vendor has included that functionality. Both typically have ergonomic visual user interfaces. In actual usage, choosing a dynamic equalizer over a multi-band compressor usually comes down to versatility and transparency.
A More Versatile, More Transparent Alternative
One reason mastering engineers often cite for avoiding multi-band compressors is that they are subject to potential frequency and phase distortion due to the crossover filters used to split the signal. How big a problem this is in actual practice has been the subject of some debate. But with a dynamic equalizer you just don’t have to worry about it, because there are no crossover filters.
Multi-band compressors apply the same gain adjustment to all frequencies within a band. If you want to precisely affect only a very narrow band of frequencies, you have to define narrow bands with steep crossovers, exacerbating crossover distortion. Dynamic equalizers, on the other hand, apply gain adjustments like an equalizer, usually employing bell-shaped filters that are much easier to target a narrow band with. This can make a dynamic equalizer better-suited for surgical corrections.
To be fair, it should be noted that dynamic equalizers with very steep slopes are still subject to ringing like any other equalizer. They also cause group delays like any minimum-phase equalizer. There’s no free lunch. But in many situations, a dynamic equalizer will be more transparent than a multi-band compressor. This is subjective, but in my experience they are also easier and quicker to tweak into submission.
Filter Shapes: The First Key to Versatility
Much of MDynamicEQ’s versatility is due to the variety of filter types offered – fourteen (!) different types in the current version, most of which will be familiar to you but one or two that might not.
In addition to the expected shelf, bell and cut shapes, MDynamicEQ also offers something called a “band shelf”, which approximates the action of a multi-band compressor by applying equal gain or attenuation across the filter’s bandwidth. Because each of the five filters can have a different shape, you can apply multi-band style compression to one section of the spectrum and EQ-style filtering to other sections.
There are two types of band shelves, labeled “A” and “B”. The difference is that the “A” type has a continuously-adjustable slope, while the “B” type is fixed at one of 10 values, from 12 dB/octave to 120 dB/octave.
Yes, you read that right: 120 decibels per octave. That is one sharp filter! MDynamicEQ’s filters let you get extremely precise about which frequencies a filter will and will not be applied to. (I should note, however, that I’ve never actually found a need for a 120 dB per octave filter. But you never know.)
These are pretty rare in the EQ world. What they are is a series of up to sixteen filters whose center frequencies are locked to multiples (harmonics) of a base frequency. Configuring and using them is a big-enough topic to warrant its own section below.
The All-Pass Filter
There is another filter type here that you don’t see every day: the All-Pass Filter. Oh, you’ve used them before, in reverbs and phasers. But seeing them in an equalizer is unusual.
Now, I could make your eyes glaze over explaining what all-pass filters do, but I’ll save you that pain and cut to the bottom line: they cause phase shifts and that’s all they do. What that actually translates into sound-wise depends on how extreme the effect is and what type of material you’re using them on.
Inserting an all-pass filter will lower your peak-to-average ratio (crest factor), which yields greater headroom without noticeably changing the overall volume or frequency content. Some material, such as vocals, can start out with too-high a crest factor, requiring fast compression. An all-pass filter can effectively give you 3 or 4 dB of additional headroom without using compression and without sacrificing natural dynamics.
At extreme settings, all-pass filters can increase group delay up to hundreds of milliseconds in the low frequencies, to the point where they become clearly audible. This can result in a thickening effect on drums by essentially stretching out low frequencies.
To hear these effects clearly, insert two or three all-pass filters and give them very high slopes, 72 dB per octave or higher, and high Q values of 10 or more. Try it on a drum bus and listen to the kick and low toms.
To be perfectly honest, the effect isn’t always pleasant to my ear, but there are those who love it. There are even dedicated plugins out there that just do this one thing, so somebody must like it!
MeldaProduction GUIs are often cited in user polls as among the ugliest on the market. Personally, I don’t get that complaint. Yes, they do look different from most plugin UIs, which can be initially disconcerting. However, once you get into the MeldaProduction mindset, you’ll find these user interfaces to be quite logical, user-friendly, and fast.
The graphical filter node controls are a case in point. At first glance, they may seem obtuse, but you’ll quickly figure them out. Each node consists of a circle with grab handles sticking out, which I call “arms” because they look like little robot appendages. As with any EQ, you drag the circle up and down to adjust static gain, left and right to adjust the center frequency. It’s those little arms that let you know this isn’t a regular EQ.
Drag the horizontal arms to widen or narrow the filter’s bandwidth. You can also use the mouse wheel for this.
The vertical arms are used to set dynamic range. Initially, the vertical arm is centered as shown here, indicating that the filter is not dynamic, but rather a normal static filter. Drag the vertical arm downward for negative dynamic range (downward compression) or upward for positive dynamic range (upward expansion).
Each filter can have its own frequency, gain and Q settings, and can be applied to just the Left or Right channel if you want.
If the plugin is run in M/S mode, you’ll be able to apply any filter to either the Mid or the Side component. (Note: M/S or Stereo modes are global to all filters; you cannot mix and match filter modes like you can in, say, FabFilter Pro-Q. If you need both stereo and M/S processing on one track, use two instances of the plugin.)
There is an optional panel that can be shown at the bottom of the main GUI that gives you quick access to each filter’s main parameters. Click on the button at the right of the bar titled “Bands” to show or hide it (circled in the screenshot below).
I find it handy to keep this panel visible, mainly because I often set up filters on the 0 dB line and only use their dynamic range, but may accidentally nudge them off the center line. A right-click on any of the Gain sliders resets them to 0.00 dB. (A right-click on any parameter resets it to its default value.)
To get into the deeper settings, you’ll need to pull up the Filter Settings dialog. Right-click on a filter node to open its settings dialog:
There are four main panels: filter selection, general, dynamics and harmonics.
The General panel contains frequency, (static) gain and bandwidth. These parameters can all be set directly from the graphical editor, but here you can set them with greater precision when you want to enter a specific value.
The Dynamics panel is where you configure the dynamic behavior of the filter. We’ve got the usual attack, release, auto-release, gain and threshold settings you’d see in a conventional compressor, but we’ve also got some less-typical options to play with. Keep in mind that despite such familiar terms this is not a compressor. Some concepts even require letting go of the traditional compressor paradigm before they start to make sense.
The Harmonics panel is for setting up harmonic filters, which we’ll look at in greater detail later on.
The Dynamics Setting
The first parameter in the Dynamics section is labeled simply “Dynamics”. This is the Dynamic Gain adjustment, which sets the limit to how much gain or reduction the filter will apply. It also affects the aggressiveness of the effect (there is no ratio control, as we’ll discuss in a moment). This corresponds to the vertical arms of the graphical filter node.
If this parameter is set to a negative value, the filter acts like a compressor. If set to a positive value, the filter acts like an expander, raising the signal level based on the input level. If set to zero, the filter becomes a non-dynamic, static filter.
Note that the Dynamics parameter sets the maximum gain change. The actual amount of gain change depends on the signal level and threshold. As you’re thinking about this you may also notice the conspicuous absence of a ratio parameter.
What kind of compressor doesn’t have an adjustable compression ratio? Well, remember: this ain’t no compressor. There is no ratio because it’s irrelevant in this design. The compression ratio is implied by the Dynamics and Threshold parameters. This throws some users for a loop who are accustomed to conventional compressors, but trust me, once you get used to the dynamic range paradigm rather than compression ratios you’ll appreciate its elegant simplicity.
By default, the threshold is silence. As with a conventional compressor, the implication is that dynamic processing is always active. This might seem odd at first, but it reflects how dynamic equalizers are most-often used, to provide a smooth and continuous leveling effect.
In compression mode (the Dynamics parameter at a negative value) the threshold determines the level at which gain reduction begins to occur, much like a conventional compressor. At the default threshold of silence, gain reduction happens at any signal level, but in practice the effect is gradual and may not become clearly audible until levels get above about -40 dB.
With expansion, the threshold (plus signal level) determines how much gain will be applied, rather than the point at which expansion starts being applied. The maximum amount of boost occurs when the threshold is at its minimum value (silence). At the opposite extreme, if the threshold is set above the signal level, no expansion will occur at all. This may seem counter-intuitive at first, since it’s different from the way conventional expanders work. But just as MDynamicEQ isn’t a conventional compressor, neither is it a conventional expander.
With either compression or expansion, you’ll find that more often than not the default threshold – essentially no threshold – works best for transparent leveling and often works fine even for surgical corrections.
Attack and Release
Note that the Attack and Release settings are set to “Auto” by default. I’ve found that most of the time, these will work OK.
Automatic release times are a pretty standard feature nowadays, but automatic attack is relatively rare among digital dynamics processors. But attack times that are determined by the incoming signal rather than a fixed interval aren’t anything new. In fact, most of the most-beloved vintage hardware compressors work that way.
Choosing “Auto” for the attack time causes the dynamic reaction time to emulate an opto-type compressor, meaning a slow attack for quiet sounds and a faster – but still slow – attack for loud sounds. “Auto” therefore works well for any material that you’d likely use an LA-2A type compressor on, such as vocals and bass.
You might, however, elect to specify the attack time for percussive tracks. Longer attack and release times might work better when using the plugin for gentle leveling, ducking, as a “glue” compressor on the master bus, or any other scenario where transparency is important.
The usual caveats about extremely short attack times and potential distortion apply here, as they would to a conventional compressor.
Because this is a stereo effect, there are actually two separate dynamic equalizers in operation, one for the left channel and another for the right (or for Mid and Side in M/S mode).
With dynamics processors, it’s normal to sum the sidechain, or key input, to mono and apply it to both channels equally. We then say that the channels are “linked”, because they’re both responding to a common control signal. Any loud peak always causes the same gain reduction in both channels, regardless of which side that peak came in on.
The reason it’s done this way is that if you apply a large amount of gain reduction to just one side or the other the stereo image will shift. This panoramic jumping around is usually undesirable on stereo busses, especially in a full mix. Channel linking (sometimes called “stereo linking”) prevents that from happening.
There are, however, times when you don’t care about preserving the stereo balance, or when there are large L-R differences that you want to preserve or even enhance. For these scenarios, many processors offer the ability to “unlink” the channels and allow them to operate independently.
By default, channels are linked in MDynamicEQ, but you can unlink them, or even specify something in between fully-linked and fully-unlinked. Try unlinking drum busses, percussion tracks, and wide-miked pianos. Keeping them linked is probably best for the master bus, but it’s your call so go ahead and experiment.
The “Mode” Setting
The “Mode” setting is not as obvious as the more conventional options described so far, so it bears some explanation. Warning: this is a little geeky, so if your eyes glaze over it’s OK to skip to the last paragraph.
You’ve got three choices here: Filtered Compensated (default), Filtered, and Entire Spectrum. Each of these modifies the way in which the filter reacts to the sidechain.
Any dynamics processor will have a “detector” that listens to the sidechain (whether internal or external) to determine its level and thereby how much gain to apply. When the sidechain signal goes up, the plugin usually responds by applying a proportionate gain reduction. Some compressors offer a filter that goes in front of the sidechain, so that only a specific band of frequencies affect the compressor. MDynamicEQ does this too, but because it isn’t a normal compressor, it’s not exactly the same story.
We’re applying gain adjustment to a particular frequency band, so you might expect that the sidechain signal would also be filtered, right? For example, if we’re controlling a band centered around 1KHz, the sidechain should also be centered around 1KHz so that only frequencies around 1KHz affect the filter. That’s what happens in the two Mode settings, “Filtered Compensated” and “Filtered Uncompensated”.
The difference between “compensated” and “uncompensated” filter modes is that the compensated mode will boost or cut the frequency band for the sidechain signal to offset the effects of static filtering. For example, suppose you have a high-pass filter that’s (statically) knocking 6 dB off the low end. The sidechain signal would be boosted by 6 dB so that it hits the detector at full volume, unaffected by the action of the HPF.
What if you want a filter to be affected by the sidechain’s entire spectrum? Maybe you have an external sidechain coming from a track that is spectrally unrelated to the track being affected. Maybe you want a pad to pump to the beat of a hi-hat. Or maybe a kick drum that gets boomier as it gets louder. For that, we have the third mode option, “Entire Spectrum”.
In this mode, the sidechain is not pre-filtered, so the detector always sees the entire spectrum. It allows a filter to be controlled by any signal, regardless of its spectral content.
Want to duck the hi-hats whenever the kick hits? I don’t know why you’d want to do that, but in case you do, the “Entire Spectrum” mode is how you’d do it. This isn’t the default mode for a reason: it’s not how you’d “normally” use a dynamic equalizer. But what would be the fun of having to always use a tool “normally”?
I hope this explanation of the Mode parameter made sense to you. If not, the bottom line is this: when starting out, leave it at the default setting (Filtered compensated) and the plugin will probably work the way you expect it to.
This feature is, I believe, unique to MDynamicEQ, at least to the degree of control that it offers. It’s a special filter option that replicates the filter for each frequency in the harmonic series of the fundamental.
The only other equalizer I know of that offers a similar feature is Voxengo GlissEQ (pictured right), although that implementation is not configurable. It gives you a choice of “Notch 4” or “Notch 8”, with either four or eight ascending frequencies whose frequency ratios and gain are pre-selected and not editable.
You might reasonably wonder what such an unusual filter might be good for. Short answer: resonance mitigation.
One of the most common applications for dynamic equalizers is mitigating the effects of room resonances on recordings made in less than ideal rooms. When a room resonates at a given frequency, you can assume that it also resonates at all of the harmonics of that frequency too.
For example, if you’re addressing a resonance at 70 Hz, there will likely also be resonant peaks at 140, 280, 560, 1120, 2240 Hz and so on. Usually, they’ll fall off in intensity the higher you go, so the ones closest to the fundamental will be the most significant. Consequently, if all we’ve got is a standard equalizer we can often get away with two parametric bell filters set to the fundamental and its first harmonic.
If the resonance is particularly bad, though, we might need a whole bunch of ascending filters, like this:
Although this could be accomplished with any EQ using multiple filters, MDynamicEQ makes it convenient by automatically creating the series of filters and letting you configure them all at once as if they were one filter. Narrowing one narrows them all, for instance.
To create such a filter in MDynamicEQ, right-click on a filter to bring up its settings dialog. The panel labeled “Harmonics” at the bottom is where you set up a harmonic-series filter.
Let’s start at the bottom of this section, where you see a series of sixteen white squares labeled “Harmonics”. Clicking on one of these squares turns it on and off. This determines which child filters will be created. There is also a box (“Maximal count”) where you can set the maximum number of filters. This defaults to 16, but in practice it’s rare that you’ll need that many, so 3, 4 or 5 might be a better place to start.
The Semitones parameter determines the spacing between each filter. Normally, this will be 12 semitones, or one octave, so you’ll usually leave this setting at its default value.
The Depth parameter sets the relative gain of each filter in the series. At 0.00% the feature is completely disabled. At 100% each filter in the series has identical gain reduction (or boost). Try 70% as a starting point, as this simulates the natural ratio of typical acoustic harmonics to one another, e.g. each harmonic is roughly 70% of the preceding harmonic.
Finally, in the upper-right we’ve got a button labeled “Linear” that toggles between nonlinear (logarithmic) and linear modes. Non-linear is the default, but I almost always use the non-default linear mode.
In the default non-linear mode, each filter is double the frequency of the one before it, e.g. 100, 200, 400, 800, 1600 Hz. In linear mode, filters are equally-spaced so that every harmonic is represented, e.g. 100, 200, 300, 400, 500, 600 Hz.
The user documentation offers no advice on which mode to use, so I’ll offer my own opinion. When mitigating room resonances, you definitely want to use linear mode, because it’s going to track the harmonic series of acoustical resonances. I honestly do not know why you’d use the non-linear mode, nor do I know why it is the default. In my own setup, I’ve changed the global default to Linear Mode.
(Speaking of customizing default startup values, I should mention how to do that: just set up the plugin the way you want it to come up by default and click on “Set Default Settings” in the main Setup menu.)