Talking Machine Learning and Compression with Vojtech Meluzin

MeldaProduction’s audio software guru chats about his approach to compressor design, using compression in unique ways, and building software through machine learning.

Compression is one of the many tools music producers have in their creative tool belts. It’s a way to create movement and motion inside a mix, as well as a means of adding color, warmth, and punch to its various components. There are loads of compressors out there, from the those built into your DAW to expensive, dedicated outboard hardware.

There’s also an amazing variety of software compressors available, much of which is built to emulate that expensive hardware. Released last year, MeldaProduction’s MTurboComp comes in VST, AU, and AAX formats; it’s the company’s flagship compressor and limiter, and has some interesting tricks up its sleeve. The plugin lets users edit their compressor components in typical Melda style: four parallel envelope followers, four dynamics processors, a dynamic equalizer and two saturators, with each offering adjustable attack and release curves, distortion types, harmonic levels, and more.

For those who want the compression without that level of customization, however, what’s more interesting about MTurboComp is its collection of 14 of the most heralded vintage compressor emulations (referred to as Active presets), produced by the developers through some creative use of machine learning. We spoke with Melda founder and resident software wizard Vojtech Meluzin about his approach to compressor design, using compression in unique ways, and the ups and downs of building music production software through machine learning.

There are lots of software compression plugins out there. What was the ideation process behind the design of MTurboComp?

Well, most audio companies spend an eternity emulating vintage compressors and other devices. While these vintage comps are often well-designed, there isn't any magic in there — in my view, the ancient approach of circuit modeling (and other “hyped” terms) everyone is bragging about is nothing more than a pointless waste of CPU and development time. It's obvious that it can sustain an entire company like UAD, but we wanted to make things easier, faster, and cheaper for the customers.

So we created an extremely versatile model, using machine learning to exploit the true power of modern processing by letting the computer analyze the compressors itself. Not that it was an easy road, but it's definitely quicker than what others did. So now there's one plugin that simulates pretty much all the vintage compressors.

The “globalized" user interface is also seemingly designed to be in tune with your overall approach.

Yes, we also changed the way the compressors are handled. Instead of providing the same user interface as before — which is quite silly, since these things are flawed as hell, due to the limitations of what engineers could do many decades ago — we decided to provide a uniform interface for all of them. This includes some additional features, like parallel processing and sidechain filtering, which should make it far easier to learn the compressor, and to compare each of the models.



Would you say that there’s a certain personality to MTurboComp? A particular stylistic approach you guys took?

There's a rather specific personality to all Melda products, mainly in the versatility with which the GUI is made, so that the workflow is as fast as possible. Which, of course, comes at a price — it’s different, so people need to get used to it. But when you do, you won't want to change.

In regard to the sound, every compressor has a specific personality. While equalizers are pretty much all the same, compressors differ every time. And we didn't really try to make a perfect clone of the original hardware, after all, even instances of the original hardware differ. We simply wanted to take the good stuff and trash the nasty stuff — stuff like noise, poor workflows, etc.

Are there some creative ways that you’ve found to use MTurboComp?

Well, the original idea was to finally make something completely non-creative like everyone else! There’s nothing creative about classic compressors, and the “Easy” screen in MTurboComp is basically all of the vintage comps on a single screen, made simple and quick to use, for maximally effective workflow. But there are a few things that are rather creative.

First, there’s the Combinator active preset on the easy screen. While traditional dynamic processors listen only to the main input, or only to the sidechain, this one listens to both. You can use that to trigger more or less compression based on the sidechain — to avoid collisions between instruments, or pumping, for instance.

Also, on the Edit screen, there are four level followers, as opposed to there traditionally being just one. Each can listen to any of the inputs, and go to tons of different outputs. It was designed as a versatile model for the vintage compressor machine learning, but it can certainly be creatively used. For instance, you can listen to different parts of the spectrum and compress differently based on that. The compression is global, so this would be some kind of hybrid between multiband and single-band compression.

Finally, there are eight modulators and there's really no limit to what you can do with that. You may compress a vocal based on its pitch, for instance, or add random variations to pretty much anything, to recreate some of the liveliness usually associated with analog stuff. The whole point of allowing access to the Edit screen was so that people can actually design their own compressors. But it can do way more than that…

Was there a sort of “breakthrough” moment while building MTurboComp where things seemed to really come together?

Well, initially, I actually wanted to make MDynamics [another Melda plugin for compressors, expanders, gates] learn the vintage compressors. There was a machine learning algorithm and, well, it kinda failed; the thing about machine learning is that you never know how it will turn out. I was under the assumption that MDynamics is just not capable enough, so I created the main MTurboComp engine with the parallel followers and transformations, and the machine learning was performed in 16 parallel processes—each of which could end up in the right result, or not. And the breakthrough moment was when it finally learned the first compressor, which I believe was the [UA] 1176. Then I finally knew, “Ok, this is going to work!”

That's the trouble with machine learning—it's a hit or miss process. It may work quickly or take a very long time, or may fail completely. But after all the pieces got together and it all started working, learning about one compressor per day. When you work the classic way, like everyone else, you basically say, “Here's the input sample, and here’s what we should do with it, instruction by instruction.” It's quite simple and reliable, but also slow. With machine learning, you need to think about the big picture, and you're likely to spend days tuning the model and the actual learning algorithm—but when it starts working, it gets you the speed of the computer. It's sort of like hiring the computer to program for you.



You can find out more about MTurboComp here.


XLR8R delivered weekly to your inbox