Multi-band Compression...

Something I thought might be of interest - that I’m experimenting with at the moment, after a few people suggested it might be good to have some sort of multi-band compressor.

This is very experimental (I’m just trying out ideas), so I don’t know how it will eventually end up, (or when it might be released) but at the moment the idea is that you get a ‘rack’ with four MX-Series Compressors and some other bits and pieces…

Looks amazing!

Just one thing:

wouldn’t it be more intuitive, instead of having a crossover band, to be able to select the frequency to boost for each of the 4 compressors? something like a low freq selector for the first compressor, mid-low for the second, mid-high for the third and high for the fourth? I think one wouldn’t need anything more from a multiband compressor…

I might (in fact very probably) will re-arrange things, at the moment its just an experimental setup for me to see what works, so as you say, it might be more intuitive to have the freq selectors on the compressor panels.

I now have some output level meters too…

This is looking GREAT already! Keep us posted, as I cant wait to take this one on a spin when it’s finished (as I’ve been in desperate need of a good multi-band comp for a LONG time) !

@vervelover: When using a multi-band compressor, the area of interest is a range of frequencies rather than a single target frequency (as is often the case with an EQ). Therefore, the parameters are defined in terms of the boundaries of a range instead of a center frequency. Since each crossover frequency is shared by two adjacent bands, it seems somewhat counter-intuitive to place that control in one band’s column of parameters but not the other. That’s probably why linuxdsp positioned them in their own section.

I quickly tried this one:

just built it and tested the 5 band setup. Seems to work. CPU demanding though (more bands, more CPU of course).
It was no thorough test, just tried it for another guy who could not compile it.

@duffrecords: “Since each crossover frequency is shared by two adjacent bands, it seems somewhat counter-intuitive to place that control in one band’s column of parameters but not the other.”

Exactly - that’s why they are in a separate section - when you see the complete plugin it looks a bit like a rack with modules in it, so there’s a crossover module, followed by the compressors and then the output module. It does mean that its not quite so intuitive in some ways - I might see if I can position the frequency controls above the channels they affect. Its still just a prototype, so lots of things are possible.

@Thorgal: I hadn’t seen that one before, looks interesting. GTK only?

@linuxdsp: yes, GTK only I believe.

@linuxdsp, duffrecords

I explained myself badly, sorry :slight_smile: I meant the Jamin way, where you have each compressor associated to a certain bandwidth (mid-low etc.) and the crossover, and you can clearly see which range of freqs you are assigning to each compressor. Which is what linuxdsp’s multiband compressor seems to do, I just couldn’t figure out at a glimpse the different interface :slight_smile:

ahhhh… I’m longing for it :smiley:
Interesting Teliasopia though… give us more plugins, Ardour 3 and Paul & LinuxDSP more money, and world domination is really certain!

I forgot to mention the CALF multiband comp:

I really dislike the CALF multiband comp. Visually its fine, but it hogs CPU more than any other plugins I use. Also, I have yet to get a good sounding master using this plugin (and yes, I do know how to use a multiband comp)…

Multiband compressors can use a lot of CPU. I’m hoping that mine will be quite efficient, it seems alright at the moment, and there are also several optimisations I can do, but I’m just sorting out the basics first…

just to be clear, I posted these two LV2 examples to linuxdsp for GUI inspiration, not to show off plugin “competition” :wink:

Choice is a good thing, each of these different plugins has their own ‘style’ - sonically and graphically, and so ‘competition’ often just comes down to choosing the right plugin for the particular job that needs doing. Of course, I know which ones I prefer… :slight_smile:

Just downloaded the new multiband comp, and all I can say is WOW. It sounds and looks (but most importantly SOUNDS) great! But, would it be possible to add functionality so that channels can be individually soloed out? I feel that it would be a useful function to add, but I also must say that I have tried a few multiband comp plugins (in windowz and linux), and yours sounds the best to me (for what its worth). Thanks again!

PS. I can’t wait to see the day you release an LV2 multiband harmonic exciter!

@tbonedude: Thanks, I’m really glad you like it, I agree about the solo buttons, I thought about that while I was testing it, but in the end they didn’t get in (this time around) because I didn’t want to clutter the interface too much. As with all these things, it will probably get a ‘refresh’ at some point in the future - but I wanted to get this version out into the big wide world and see what the reaction to it was first. For what its worth, I think I’ve found an improvement that should further reduce the amount of CPU the compressor channels use and I’m going to start experimenting with an alternative type of cross-over section (this is a very important part, this design uses twin 24dB per Octave Linkwitz-Riley filters which ensure that the phase alignment of the filters is correct so they sum back together flat when there is no gain in the compressor, however I’m going to try a more gentle 1st order crossover similar to the passive networks used in some analogue multibands, and see how that sounds - then there’s linear phase, FIR etc etc so there may be several different versions of this compressor available eventually) there will probably be a mono version too at some point, but as I see this more as a mastering compressor I did the stereo version first.


Was trying out MBC2 and thought I’d leave some feedback.

USE 1: Acoustic guitar with a bit of a boomy thump on the second G (I think that’s called a wolf tone?). Seems to work quite well for this. I’d agree it would be useful to have stereo and mono options in the future. Sometimes you want to record an instrument stereo, sometimes mono

I’ll second the idea of solo buttons, if that’s possible. I used the the 4 in and 4 out level controls to tune in to my problem frequency band but obviously a solo toggle would make that a little easier.

USE 2: simple band-splitting

The uniquely useful feature of a multi-band compressor is the band-splitting. How feasible is it to have an option of 4 outs, one for each band? That allows users to add any kind of processing they can dream up, not just compression. For example, if you were adding reverb to a mix you might try excluding the bottom end to keep it tight. Flange/chorus on just the top band of an acoustic guitar might add some subtle sparkle to an otherwise “pure” guitar tone.

@mcgruff: Thanks for the information -

USE1: This probably illustrates an ideal use for a multiband compressor, in effect you are using it as a dynamic EQ (which is another way of describing it) and I’m glad it proved useful. Stereo and Mono options can be provided in future. When it was designed it was assumed it would mainly be used for mastering across a final (stereo) mix, but this illustrates perfectly why these assumptions are not always valid in the real world. With the JACK versions of the plugin (which you can use via an insert in ardour) it is possible to use it mono or stereo just by routing the mono signal to both inputs - though this will use more DSP than a mono version would.

Solo buttons - again, perfectly valid suggestion, and of course technically possible, it was just a design decision that the individual bands could be switched in and out, and that would suffice. They could be added at a later date, but I can’t give a definite commitent to when that may happen.

USE2: Band splitting, again, perfectly valid, but in this case probably easier to implement on the JACK versions since each band could have its own JACK port whereas for LV2 there can be some issues regarding plugins that have more inputs / outputs than the available insert points in the signal path e.g Ardour will probably throw a fit if you try and insert a plugin with more than two outputs into a stereo track, and I’m not aware that there is (or necessarily should be) any way to provide for this - especially given than we have JACK to provide a very flexible routing solution.