Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Mid Side Bespoke Unit (Broken and not available!)


So I had a little bit of free time this weekend, it being the holidays and all so thought I would write another bespoke unit for kels.

This time it is looking more towards the mastering process and in particulr Mid Side processing. This was one of the things I really missed on the ER-301 having come from the Octatrack and well, the tools are available in the ER-301 to build this now, so why not :slight_smile:

I have started drawing diagrams for the bespoke units I am creating because it feels much more like patching, it’s much clearer and once I am confident that I have the signal flow right it makes it super easy to actually write the unit itself - trivial almost. It also helps enormously with debugging because I can ‘see’ the patch.

Please note, even though the 0.5 constant is shown twice it only exists once in the code, I added a second instance for clarity only.

To use this unit you must use a Stereo Channel on the ER-301 - the unit will not appear in the chooser if you are on a mono channel. Also, the stereo signal you send into Mid Side must contain an actual stereo image, i.e. the information on the left channel must differ somehow from the information on the right channel otherwise nothing will happen.

Assuming all is good with your input you should be able to easily apply gain adjustments using the Mid and Side parameters, if you have never used Mid Side processing before prepare to be amazed - it’s awesome.

I take no responsibility for your use of this unit, lets just say less is more and really it’s much better to get things right in the mix in the first place - but this could be just the sparkle juice your mix needs so go for it! And perhaps there are other creative uses for this unit you could share?

Feel free to experiment by zeroing out the two channels so you can understand what is going on, Sum and Difference is perhaps a better way of describing this audio application, rather then Mid and Side, but hey, convention you know. Setting either parameter above 1 will increase the overall gain of the signal.

Todo: Well, this is a mastering tool, if there’s any area of music production that gets excited about the tiny differences this is it and everyone will tell you a different story, but I really would like to open the circuit up so that anyone could ‘insert’ EQ, Compression, or whatever on each band separately, but it doesn’t seem like this is possible at the moment - maybe I am wrong? @odevices do you have any ideas or knowledge to share? If this isn’t possible, then I could write another version with EQ built in perhaps.

I think that’s it, this unit is the second addition to kels, you can download and install the library from here, to install copy the ‘kels’ folder to your ‘libs’ folder.



Update: I spotted a couple of errors, fixes done and pushed to the repo :slight_smile:

Did you leave a spot for M/S effects sends?

Thank you for this holiday treat :star_struck:

1 Like

You could make the encoder (LR -> MS) and decoder (MS -> LR) two separate units.

Most of the time when I do mid/side stuff, I start with two related but dissimilar signals – for instance, the same synth voice through an LPG and a VCA, or a dry signal and that same signal through a mono reverb – and I run that into my DAW as a stereo pair but “decode” it to LR to make it a nice balanced stereo field.


I’m honored to be the first star on the GitHub repo :slight_smile: :nerd_face:

Most of my modular system is still in boxes in my new house, but I’m so excited to try all the new stuff out!!

1 Like

Interesting idea, but I am not sure how this would be possible because you need both Left and Right inputs to create the ‘sum’ and the ‘difference’ before mixing them back together again.

When I was thinking about how this would be possible to implement I went through various topologies to try and open it up, but it quickly becomes quite unwieldy and difficult to use. It would require quite a lot of patching to get it to work and well, that’s not really what I was going for and would be very different to every other unit on the ER-301.

Always happy to learn though, so where in the patch diagram would you suggest the outputs are? e.g. midAmt -> self.Out1, sideAmt -> self.Out2 ??

p.s. you actually need 3 signals to create the decoder: midAmt, SideAmt and M5.

Thinking about it a bit more, could you possibly use one of the 2band multiband units to do the inserts? The inversion from M5 could be done in a unit no problem.

I must admit have never used them, and I am not in front of my modular, what happens with the inputs on a stereo channel? Do both Left and Right channels get sent to both bands?

The way I’d do it, I’d make the output of S1 and S2 the output of the encoder. It wouldn’t have any controls.

Then the decoder would pick up where that left off, with the MidAmt/SideAmt VCAs.

That way, if I were doing my thing with two different mono signals, I’d just plug them into the inputs of the decoder. Otherwise, I would use the encoder first, then process the mid and side signals, then the decoder.

TBH I usually use the ER-301 in mono as a synth voice or effect, so I’m not sure about routing. This might require the encoder and decoder to be in separate chains to really process the mid and side signals separately.

It is all about the routing :smiley:

This is starting to sound like a different unit. Why not have a go? All the tools to do this are available in the UI of the ER-301, if you use the diagram above to guide you it should be really straightforward to recreate.


Damn! This does sound pretty freak’n good. Thanks for making it.

1 Like

whoaaah! trying it on some slowed down urban field recordings, with two independent triangle lfos modulating mid and side level!
it’s a great tool for soundscapes\sound design as well!


That’s an excellent idea - nice one - thank you for sharing :smiley:

1 Like

@anon83620728 : amazing bespoke unit! i’d love to take it for a spin. i’d also like to add it to the wiki list.
but the github link is down?

Sorry, not sure… I’d sort it out, but I feel totally discouraged.

i would have put the following lines into a friendly PM, but since your profile is hidden…

i’m not sure what exactly happened yesterday (because one of my posts was deleted i feel that i must have held some of the responsibility without exactly knowing why)

however, i’d say as far as your bespoke-units are concerned, you absolutely should not feel discouraged!
first of all the first two are already extraordinary creatures. (i’m working on a set of 'Mon-Ster- & Stereoid-Injectors" and the Mon-Ster-Injector is nothing but the bespoke extension of your bespoke Pan Mixer that we discussed with @Joe in the other thread. the stereoid version is just the extension of the regular mixer unit.)
secondly i believe everybody is (or should be) excited to see what middle layer (and other) solution(s) you will come up with next!

last but not least i think that your mid-side solution is a pretty big step forward. and the results of your hard work should be reflected and appreciated here as well as in the curated list over at the wiki. :bowing_man:

(i hope you find these words encouraging enough to keep up your good work.)

now i’d like to turn my own attention back to the main subject here, i.e. that wonderful Mid Side Bespoke Unit.
only, for that i will need the file :slightly_smiling_face:

Thanks, but it’s not the point, the climate has changed, stuff isn’t ‘free’ any more which has made me rethink this whole community vibe.

I am totally happy for someone else to publish, maintain and take what little credit there is for the Pan Mixer unit, it’s not really my work anyway, I just made a small hack to the builtin Mixer. So please go ahead and use it as you wish. I think this is completely fair and reasonable.

The Mid Side unit took quite a lot of work to develop and given the climate change and given it is broken anyway, I have decided not to fix it and make it available for free again.

I will be having a good think about how I wish to proceed, but some financial remuneration will be involved for my hard work. Basically I will not be doing anything else for free from this point forward. I understand how disappointing this must be, but times have changed and well, we can do what we want - all I know at this point is what I don’t want to do and that is spend what precious little free time I have developing things and then just giving them away for free.

Anyone who managed to download the test copy is ‘lucky’ and they can consider it a matter of personal honour whether they wish to purchase it after the fact or not. I don’t mind. The licence it was published with is fully revoked, this was a mistake on my part, it was copied in without my full knowledge or understanding. The code is mine and I retain full copyright, this means no one may distribute, copy, edit, make money from it in any way or enjoy any of the other very generous terms it was originally offered under without purchasing a license if/when that becomes available.

If you have a copy of Mid Side and you use it well, good luck to you, for personal stuff it doesn’t matter but please consider it a crime if you make money from it or distribute it.

There are quite a lot of other middle layer units (some absolute crackers!) in development and they may be made available for purchase too at some point too.

Once again, I am very sorry, I made a terrible mistake. I promise to try my best not to repeat it.

Discussion continues here:

@anon83620728 can you please tag this with [custom-unit] ?

Unfortunately the anon user is no longer on board…
However, I just tagged the thread.
EDIT: I stand corrected, tagging it as custom unit was not right…

1 Like

Please see @NeilParfitt’s M/S encoder for this functionality.

M/S Encoder & Decoder Processing Unit

1 Like