mb dynamics

multiband compressor / expander

(17 Votes)
kamedin
1.8.4 (Updated 5 years ago)
1.2MB
December 01, 2018
Reaktor 6
Effect Dynamics

DESCRIPTION

mb dynamics is a multiband compressor / expander. It works on band levels relative to broadband level. A mode is available for setting thresholds to the average levels of the input. An auto gain function lets recover the input broadband level on the output.

Working with relative levels is useful for controlling narrow band dynamics independently of broadband level -say, a harshness / muddiness / etc that is not constant but happens both in loud and soft passages, so a fixed threshold doesn't work well. I made this not to replace other multibands, but to avoid resorting to complex sidechaining setups when they fall short. I also use it for broadband processing (on a mix, a submix, a piano take) to make the general tone more uniform, bringing dissimilar parts closer to an average. For that use, the "get" mode makes a guess of that average and sets thresholds to it. Sometimes I use this function alone to get some insight and then set a fixed eq, especially when the material is dinamically all over the place so the average spectrum over-represents loud parts.

v1.8.4: After some lengthy forum discussion, I've made a thorough revision of all names in the code -macros, ports and busses. Hope it's more readable now. No functional changes.

COMMENTS  (22)

Paule
5 years ago
Well done FM77
FM77
5 years ago
@oh ok You keep posting nonsense in every thread every day, why not stop typing for a year and attempt to think of something constructive to say that makes sense?
Paule
5 years ago
Well done, Laureano!
kamedin
5 years ago
oh, because i don't live from this. i've been fiddling with it lately because i'm sick and partly immobilized, so i've suspended most of my work. i do feel a bit embarrassed when i make three uploads in a week -this is not my job though, there's no development cycle. if it bothers anyone, they can bump their stuff.
Paule
5 years ago
oh ok, where are your developments?
kamedin
5 years ago
note -i uploaded 1.72 many times because link thresholds got tricky and kept breaking host chunks. it's ok now, but all previous 1.71-72 were broken (i didn't want to keep renumbering). it still needs to be disabled before loading presets/snapshots with panned thresholds -there doesn't seem to be a way to catch a preset load before it's applied, so i can't fix that.
kamedin
5 years ago
you're welcome! sorry for the wordiness =D btw, for anyone who hated the dual thresholds in the stereo version... they can be linked now.
Paule
5 years ago
Laureano, thanks for your loooong description here: https://kamedin.github.io/mb-dynamics/
kamedin
5 years ago
aaand it's done =)
kamedin
5 years ago
sorry for the flow of updates lately. i'm writing about this to post in the forum, and as i go through the different parts i find the little things that weren't quite right but always forgot to revise. it will settle soon.
kamedin
6 years ago
an example of the workflow i describe at the end of the manual: youtu.be/S19jwaoyp18
kamedin
6 years ago
(lol, it was the lesser than sign... agh) yap, for the crossovers. anyway the split/delay/remix is done already. there are two places where i could put the xfade. before output gain, would be one xfade per channel (3 ops for mono, 6 for st) -this one breaks the behavior of static output gain when mix is lesser than 100%. placing it after output gain doesn't break that but needs one more delay per channel. i wouldn't use it because the advantages of parallel are pretty much lost here. on the micro level there's transient preservation, mainly because parallel induces a max reduction with soft knee (for example, for a mix of 50% it sets a range of -6 db). here that's already done by the transfer curve, because it's s-shaped (similar to opto compressors), so it slows down before max reduction. on the macro there's raising the level of soft passages, because the compressed path proportionally adds more there. that's lost here because relative thresholds make reduction independent of broadband level, so for the average case there's not more reduction in loud passages than in soft ones. this is more of a multiband dynamic eq than a compressor -i didn't call it that because usually dynamic eq implies parametric. i uploaded the modified versions anyway, both before and after output gain, on a separate "test" folder.
kamedin
6 years ago
(sorry, don't know what happened, it broke the comments. let's go from the start again.) yap, for the crossovers. anyway the split/delay/remix is done already. there are two places where i could put the xfade. before output gain, would be one xfade per channel (3 ops for mono, 6 for st) -this one breaks the behavior of static output gain when mix
kamedin
6 years ago
...when mix
kamedin
6 years ago
yap, for the crossovers. anyway the split/delay/remix is done already. there are two places where i could put the xfade. before output gain, would be one xfade per channel (3 ops for mono, 6 for st) -this one breaks the behavior of static output gain when mix
Thala Estra
6 years ago
hey, i didn`t dive into your coding, so i can`t really judge. but yes, a dry wet/knob makes only sense, if the original input signal will be delayed by the lookahead/latency amount. dunno if there still would be phasing going on.
kamedin
6 years ago
oops, i was talking expansion. for compression it curves the knee and sets a range. anyway, the rest is similar https://tinyurl.com/yazus8n6
kamedin
6 years ago
added a "power" button at the bottom right corner. i leave step sizes at 0 because i use the decimals and i don't want automation to get quantized, just don't like them to show up when i scroll. if i need to fine scroll, i press shift. i tried different ways of adding the mix parameter and ended up deciding against it. it doesn't play well with other functions and the additional computation however slight doesn't compensate that i'd never really use it. it basically turns the sidechain into kx+1-k with respect to the original, which has the effect of raising the threshold and curving the knee (https://tinyurl.com/y6waq8x9). this already has a transfer function with two knees and a range parameter, so for any wet/dry setting there would be a change in dynamic gain scale (which scales the whole transfer function) + global threshold that would achieve almost the same (https://tinyurl.com/y8vowb89). (btw, crossfading the whole thing wouldn't be a good idea unless you're going for the effects of phase-shift and sum. if you're not, the crossfade should be placed after splitting.)
Thala Estra
6 years ago
-the "step size" settings are quantizing the knobs. if it is set to "1" you will never get decimals. -the mouse resolution is just scaling your mouse movement. sure, if one choose a small value it acts like the quantizing step size, but that not the intended way. - bypass and dry/wet should always switch/crossfade the whole thing. (crossfade intput and output). at least the main D/W and bypass. -everything else could be handy! but as i see all these controls on the screen already... maybe better not? but thats just my taste. another may come along and say: yeah i need d/w and bypass for every single band to do surgical intervention. usually i am that guy... why not today? have a nice sunday!
kamedin
6 years ago
fixed mouse resolutions for the displays controls, those were silly. i don't know about the other ones though, i don't like when decimals come and go, i don't see the numbers. i set most ranges at 100 because i automate a lot and vst2 parameters are all 0-100 for the daw. at some point there was a bypass button but i took it out because i always ended up using the daw one, i forgot there's life out of dawland. would it be more useful to have it after splitting and delaying, so there's no ugly click/jump? never occurred to me to do parallel with multiband but it's easy to add. would it be global or per band? i did put a "mix" control like the one in fabfilter pro-mb, which doesn't really mix anything so i called it scale, but it's split in two, one for static gain and another for dynamic.
Thala Estra
6 years ago
using mouse resolutions on knobs below 127 makes it hard to edit for me. especial that mouse resolution of 8 (!) on the upper right setting (band). setting it to 127 or even 255 makes it very smooth to edit. at least on my side.
Thala Estra
6 years ago
wow... thanks a lot for sharing. but i haven`t found a dry/wet knob (parallel processing) or bypass button (for comparing dry/wet) yet.
now