Procedural EQ -> Mix: Mid-Side encoding not working [Fixed Pending B197+]

I’ve able to upload filters generated by Acourate to Roon DSP’s convolution features. Can someone help me to achieve “doing MS Encoding after convolution”. Please refer to

It appears that to achieve MS Encoding, below is the math:

M = 0.5 * (left input + right input)
S = 0.5 * (left input - right input)

M is sent to output left channel
S is sent to right output channel

Only in S calculation the right input channel must be inverted

Is it possible to achieve the above math with the Procedural EQ function under DSP, and do the below after convolution?

Input 1:Left = Output 1:Left, -6 dB, Invert Phase NO
Input 2:Right = Output 1:Left, -6 dB, Invert Phase NO
Input 1:Left = Output 2:Right, -6 dB, Invert Phase NO
Input 2:Right = Output 2:Right, -6dB, Invert Phase YES

Thanks in advance!

Dear Roon or anyone,

Can anyone help? I understand there must be tons of questions to answer, but just don’t want this to be buried. Thanks.


Let’s bring this to @brian’s attention. Keep in mind though that post-major-release bug fixing will take precedence – and that it is a weekend. In some ways, Roonies tend to be near human. :wink:

Thanks Rene. Totally agree… Appreciate your help.

Yeah, you can do this.

And you can set up multiple PEQ’s/Convolutions in whatever order you like by using the Add Filter button, then moving them up and down.

Mid-Side encoding is the main reason why we included Invert Phase switches into the matrix mixer. Your settings look right to me.

Hi Brian,

Thank you very much for replying over the weekend. Somehow, it doesn’t seem to work correctly.

In another implement of ConvoFS, I used MS encoding, together with AcourateCleaner, was able to get the desired result. Now, with no change of hardware configuration,

After I added the first two lines:

Input 1:Left = Output 1:Left, -6 dB, Invert Phase NO
Input 2:Right = Output 1:Left, -6 dB, Invert Phase NO

I can clearly hear sound coming from the center of the 2 speakers.

However, after adding the 3rd and 4th lines into one of the following 3 scenarios
a) In the same Procedural EQ window, with all 4 lines in the same mix operation, sound only comes from the left channel.
b) In the same Procedural EQ window, but by adding a second mix Operation, sound comes like out of phase
c) By adding another Procedural EQ, and implemet a single mix Operation, sound comes like out of phase

When you have time, could you let me know the differences of the above, and recommend some actions I can take?

Thanks so much!

This is what I think it should look like:

This sounds like your #1 option. I tried this out, and I am hearing sound from both speakers. Of course it’s a little bit weird, because mid-side isn’t meant for listening. Maybe there’s something different between what you did and what I have here?

It’s important to do it in a single mix operation–this is a matrix mixer, so the entire state is blown away when it runs. In other words, the default output of an empty “Mix” is silence on all channels. As you add mixing rules, you “populate” those channels based on the input stream.

1 Like

Hi Brian,

Thank you for your help and time. I’ve asked this question in the Acourate forum as well. My test of the 2 files Uli provided shows that there is a potential that the mixing function in Roon is not working as predicted. Thus, potentially there may be a bug.

Could you try downloading the files that Uli suggested for testing? As outlined in the below web link, or text I am copying and pasting below. Greatly appreciate that.


you can test the mixer even without the cleaner hardware in the following way:

  1. download the two tracks
    One track is mono, the other one has only a left channel signal, right channel is zero.

  2. mono track
    Because left = right channel the MS equations will lead to

M = 0.5 * (L+R) = 0.5 * 2 * L = L
S = 0.5 * (L-R) = 0

So if the MS encoding is correct with Roon you will hear only the left speaker playing

  1. left sided track (R=zero)

M = 0.5 * (L+R) = 0.5 * L
S = 0.5 * (L-R) = 0.5 * L

This means that with a correct MS encoding you will hear a mono result playing from the center.

So if you get this result with the Roon mixer setup you can connect the cleaner and it will do the proper decoding job.


Thanks. I’ll take a look and get back to you.

You’re right, there’s a bug. The invert phase thing isn’t working right. This will be fixed in our next build.

Great, thanks!