How to make Mid-Side processing?



  • Do you know guys how to make mid-side fx processing with Hise? Is that possible?



  • Take your stereo path, pan both left and right channels to centre so that it becomes mono, this is your mid path, take the mid path and invert its polarity (Phase, been a while since i did any code at all, think it is signal * -1) and sum it with the original left and right channels and this will cancel out the mids and leave only the side path 😉
    Now you have a mid path and a side path.



  • I found this video:
    It does with a different way - with only inverting left channel. I will try both way



  • @Win-Conway said in How to make Mid-Side processing?:

    Take your stereo path, pan both left and right channels to centre so that it becomes mono, this is your mid path, take the mid path and invert its polarity (Phase, been a while since i did any code at all, think it is signal * -1) and sum it with the original left and right channels and this will cancel out the mids and leave only the side path 😉
    Now you have a mid path and a side path.

    This way won't work because when you make a mono sum (that contains both right and left signals) and after inverting >> feeding to stereo; it makes phase cancellation and makes a BIG MONO! 🙂 track. mid-Side processing is different from this method.



  • It depends on what you have first
    Do you have an M/S recording you want to treat (FX...) an then decode to ST?
    or do you want to create M/S from ST so you can apply FX on the M/S, and then decode to ST again?

    ST to M/S:
    alt text
    from sound on sound https://www.soundonsound.com/sound-advice/q-how-does-mid-sides-recording-actually-work



  • L-(-R) = L+R => MID

    L-R => SIDE

    Mid is often misunderstood, it is not only the middle of the field but the sum of everything
    This is because many people tend to use a cardioid mic for the centre, but it is more common to have an omni... (that been said, there is no better way than the one you like)
    While SIDE is just the L minus R
    You might already know this, but in case anyone needs to know...



  • @ustk said in How to make Mid-Side processing?:

    L-(-R) = L+R => MID

    L-R => SIDE

    Mid is often misunderstood, it is not only the middle of the field but the sum of everything
    This is because many people tend to use a cardioid mic for the centre, but it is more common to have an omni... (that been said, there is no better way than the one you like)
    While SIDE is just the L minus R
    You might already know this, but in case anyone needs to know...

    Yeah, but I'm a little bit confused. can you share a snippet about that if it is possible?



  • I am trying to work out a solution in HISE but I always lose a signal somewhere in the routing matrix, and/or I can't do what I want with the scriptFX...
    What I want to do is clear in my mind, but in HISE I am lost...

    @Christoph-Hart or anyone else on that?

    Also, in a routing matrix, can we only have 2 direct connections + 2 sends? I can't connect 4 or 6 sends...
    or to sends from 1 input?
    Can we stack up several routing matrices? it doesn't seem to work here...



  • @orange then you are doing it wrong or HISE is doing it wrong, that is exactly how you create M/S signal from stereo.
    Mono is mid, it has no side, mid phase cancelled from the full signal leaves only sides.



  • Just double checked this in Reaper and it created Mid Side perfectly, so must be some issue with the way HISE is summing them or something ?



  • @Win-Conway Can you try that method in Hise?



  • @orange not right now, im away from home mobile, after the weekend i can try, but i dont know HISE that well right now, but i will give it the good old try 😉



  • @Win-Conway I can help about Hise, no problem. But the main problem is in the operation 🙂 I think with a collabration, it can be done 😉



  • Ok I think I've finally found something
    Tested and compared in Pro Tools with an M/S plugin, I have exactly the same result
    Still needs to decode back to Stereo now...
    Also, it is easier to test it with a real song in the sampler rather than a wave generator

    HiseSnippet 1699.3oc6YstaaaCEVJNpK1qYnqnCX+X+PqXqHoWhujK1AEs0wwIoFMtwyNMn.CAArxzNDQVTPhJoYEEau.68X+bOB6QpuAaGRQaQ4n5ZsktVzM8i.etQd34P9wygokG0B66S8zzyt+4tXM8qZz4bG1wadLh3n0ntl90MZ1n9QcZTeKyyndmPb5qU6bWjuOtqltdlc35omcVMw2adTMjMxwBGwRS6.JwBuKY.gEwsU0mPrs2F0EuOYfh1qTsgE0YSpMM.7oLFEzbQVmf5ieJhq1LFZ5WYqtDF0qCCwv9Z5yVi187NGSOyIT+CH9jWXi4DE05.CTH6so1c4dL+2ZadLwtaqgqceMMciVQQhLgQhaXzjzkLheTD4ZBAlQVnFOzmYRtWQU2qPhtWwDbOMEua1PuCbBZ2.aDKtmwSGRADpSLOqgCC63SXmqlt9f5teoQKBy53j82YRvegD06a+Ul7m2Xqd8vVrHmcVise9e2LcJ1Hl4h9RVi1z.FFl9vfFmBNFZ1Dw7HurXbmJSbmJyz4TIDSjyR3jno+UOMXPG3PoEFBINNXaXvMzyowMUPWfSySQcvNcEDyDIrHmVWJTPjIRXIN8eBebgiHjBWVU3xiIbEUgqLlvUUEt5XBWSU3ZiIrrpvxiIrhpvJiIbcUgiHzRaNszGs4zYmTN03+n4TIFWNiNVdDWlLodUIo41OO9YzP1Zy7qYLf657Ylmh7L8YXOLsFyw7AlaR4Perk5iYaRG3Rc.hEt4HMt4h2e9bQVBWFMIyBEOlMcHcwSxHobgUymqWfiEGd1z0C6h7v6SaYiNeAez.WabaXS4cMegM05jNjeBuXtWkKatWqZiHNUiqvBVx8YfV4u874LgORuEBcQtKb.xN.uvhK9JgH92PK9wBGZdayh2e9KJonpjWe67g+XRi97ukguvac3UkbQUJcn4chnV9PyG9vHx0N79ft4yat6cZCA7llDGyxILOqIlmkJWnbLyKKLO9GLXgCiIxoqYE4Je9bYGsnkIvKwUcB5rJWm6kXNYkXQjUiGQpLJhbOdDoCeoTIgAoRxQj0SNhHFl0EQjhEjgD0Mh7xJcXdT6EbBF7Br2cgSBPjY3FV3fcbX14lNXVpSCGBaOWrr9yXmQTYGcLXH2hZi7oHEsBOPpLwuW.xU.3tHPthvRCuI+sBjmQJLQf7YkBSDH2PJLQf7qHElHP9mIElHP9bRgIBjmUJLBHWh.xq8RlLfewDH5egDBuV.iAUmR.36O2XDNrlX+iZ0zZSw.LmQHfz3VySVuaqyZHOYmf4OqQcDCAqCc4RB1x3h8XD9tY853Sg1vFV8Qcr+ILpqXMKQ8g.xTspe4nI8WpVUo37aU0C0kP2wiF3Nbi6zL1iBHQCrYuKiANJVEMxWi8NFYkq0+lvf00M5v7vnAv4sNha77DWuC21GRU7xneX2ote3VdXaJpK+t1H09ip0Bf9U7hy82qJlpMFPCbhMWROuM1EiXP6WJ1LW01sEwiws5MORzr19dP+37GAPYAsmCFfqho6ldTe+dvxQLV9pZ2JvqOOVEwoM9Trmebd.hlJVFGd5Y9XN1LwZHrWj1hYov9HA972aTZkkh+c5dve5cG9OWeSAcnIESuIkRuIKmdSVI8lrZ5MYszaR4TYx32olc5tSsIxsEBR8JZViHO8AxB4D+oNTTczdOgqp7zPcvL9sl9J5N4GFP+J++yB8tZ4rvDa4TWu0EdhwqA3x7L4VNmBPY.mvmYrNtGJvlMjabX0lTGp6wTGhUbfC.Hneermpum3BZCFCvsh3bipsw1XjuBx22UcWhCF4EGOLUwhhSerXR4qu1HzcM42EX9owy4k4Snmy6xOz8ExhILgY2i8Qdd9pFhaBL4Uq7gxUGqAHiDa.Zl+QM.oMrgS9IW4uEEXqmA6vuYQ7J01PsK1pao8gBw3tzLP2MguPx.3FKP0PBnvw1TdsRF52BzdW5SvmOj3wDIQEgjC3CbnW+Xhj3m4q81xBVCc5sI1x+6H+fQdnFIO+788v8yWmZEL.JQ1O+QsZu2Ns2nYyFOcm7PHDQdLwGWJ+FAPwuby8y2Iv9DzQ7dDrOpIhWr+RmgNUqdfqMwBRbh2sRr.B2gBy8Ye6MzBYskSWNiA+1C9WuyzODOwn1j5LUeRclpMoNS0uPmoCPVdzirB6JjuMbNAGXCniHem0nIm1r3vlA4GbF.EgbjkEGg6dvQmjsnTpsX4TawJo1hUSsEqkZKJmZKpLAK3U7sQ.iNH79NfQqsBwHz2ZDFQFs+B5n7EwB
    


  • @ustk Sounds great! thank you for sharing.
    Why did you multiply the signal with 0.707?
    Will you make stereo decoder too?



  • a 0.707 factor is equal to -3db, which is necessary to compensate here since the signal is doubled on two output (+3dB).

    Just made the decoder

    HiseSnippet 1734.3oc6ZEsaaaCEUJNpM1sYXqn.aCXOnMrMzszTa4jXmfh15jX2TiF23Yk1MfgfLVY5DhHSJHQkrrgg8Irei8zv9DJ1Ow9B1S6k87dYijRxhRQMyJoooqM5g.euGdIuh7du7Ppz0kXA87HtJpE27PGnh5U0LODS2c0cAHrR6lJpWSqS6laa1tYK8CHt6gv6nrxgN.OOXeEU0BqwamZwIUDO+08VAXCvVvXUJJOgfrfqiFhnwZ613gHa66C5C2DMTp0y2nsEAuJwl3y7oBZUTb.V6A1A9H.uYSnondoV8QThqIEPgdJpStBo+gl6RN.Gz9mf7PO0FxELTLYcTf56Sr6y8X9uUVcWjc+tQu6dJJpZcimIJDLSbcsNn9nQ5imQdaAfdrExyGpSbbtmgr6UIS2yHC2SQx6lLv6XNAouuMflzy3KGg.HBNgm0FSgXOD8P4kqyU28cz5hnV6ls+NQF9Kag5r1eCW7mVq0fAPKZryNo18+pS5JcNBDuzQ8khZ8H9THa3Clz3RrzP8N.pK5aMR5TENkNUlyOgiXv.pn99OxenIKA0BxldvXnMafzTupB2TgbEtLe4xDh6KDlHFzfKqFBJDJDCVkK+OrGN3HgPv4jAmKE37xfymBbAYvERAVSFrVJv5xf0SAtnL3ho.WRFboTfFUjQikhfMR.ORRIuQGU+eQzwjGWzg1EQGmfniv5tkzLsbQNzvviqn0wTuE1hzGlHvHnQJS72pZC7wV7Zw5NtPGfKbSRWavg2vCLzwF1iE2bS8mZSr1yD8cvOqz2WpXoenjjMBGXEdCtgU3xOqUSWRm8Do3qqrk9mqW41ozZHqk+jDt5V5yDKM2V528twh0151r1Vtr95yzS+N5czQX85o5+Zh9+V0qTOgo0ElF7v5.go0zA39QcPptYAd2LqQrQG8g0My1KkYymv8WHo6u3H2eVt6ax8gES0AKls6uTR2OvTg6uzzkjWa3zpvTWh8Mv9CeJz8l56Cr8GsFxBhRVbXpwq3.A2Fina3.C4ekHrQVcbjQjVCkQ9TbCYz+X66SkXzclTxQNc5Hkbj.qFs60ysjSgPvLK4LYHXlkbzBAyrjykBAyrjykCAyrjyTgfYVxoXH3KpRNqFrbw50G2tIfBXTXTC0wVwbftTDOXRsIbe1o.h1xpIzaOJwIAyqKG.dEMS.02kyTTTxZJsN5MQdzDbCCaBmxX.4vu4m9s+3deIjt7PhOlJyvsqKL4YTXCJwiJq6WV6id1odqwLYyoNlLgeWs32H8ye96mnzqnfiLSuFE4jU504wN5m7zqyqczet4GliQ9QiR+9edRyOZL2bybQ9waX4GmbFuuT29Y7X71D9bY7V6Lhwaohx7NmIAMNY5aFU37237Nmwjw7acN8MCioKUbZodXowixoorM0SLpKkZTMhF0Y4iZOwnV8zvV7xmOrEufa3KMtgkhlExN47JQvmEbC+f.vqoYRcgfgrkWSQ1YvVfrT9.IiWDWMsyXe0zrsNsIf975BwM6YMVwev.naRs+ZCwPkd6WmFgddOnCDP6vqRMBbpF85slKw2IiMs42a5lt.Kw8wK8BsAFxRBSz1UcIddCXuNh9xKwF89t6vmqh0zCtOz0KoNVBjbpCOa3wdPdhOxJJKKt0hQoxl.Qx+mnUc9ak7Y+MX+YvL7etzpB4.SLxuIUyuIykeSlO+lrP9MoV9ModtLIcA6hiWA6N.mt.1RuTKWAEl8wvBzj7qNH0zQwdBWU5L8lPJuHsmTaOdNWYcw3uQ9EZJLdt6+AY6hQ9nIhuR1BuOqTFSSvW7qIb.v2lFoMYY0NDLwYWBFYkrvAqPvN6.ck88LegVlRY0sh0b8F8f1PfmTkuOtw5HLD3lrdXtlKLF+4hia858zBbWc9dA5ud7k0J7ZzWV6E+T2aERlPmM5tzWwWmuplXm.cNakWQNLrVl7sm3Tw2VI5fK7L2veKHTpV.h46rHtzCaF2Ea4PZOFQLtKMAiLcvo4Fx1wh0z.AFwwdDNWIM0Ok050IODdXjvCPgBKJPdBuiC75GfBE9Q96d.AsHm99H6v+QE9BsxLNRtdk2wEtS4lDK+gLVudk2tauMVq2xc5z9QqUlMEBPO.4AqVdY+9HB2buxl916A1lyI1d6N.OJz8VG.1WoouiMxhsvIN8p3EHHBkM1G7gWWIPUKbethg+7ct3VJNq9tbJG+AgTO5AgFBrbIaaEb3UdP7TBMrvWrHZonVGtrtgh3P1AocCYTX11xhWebVVhW1VTM2VLWtsX9bawB41hZ41h541hEOFK37EW1mRFFraISQ2VAUXTaMpBSAk+UOvjtV
    


  • Now I am reading the code, it seems to be easy... But I worked two days on that 😆



  • @ustk Sounds very good on laptop, I will check it on the studio. You did it! Congrats man 😉



  • @orange ok, now how are we supposed to use this? Well no use it, but implement it, how to add the buttons for selection



  • @Jay You can use it bypassing/enabling script fx and simple gain units to send or stop feeding signals. M/S processing has been widely used in most of the recent fx plugins. For users, workflow is the key 😉


Log in to reply
 

5
Online

491
Users

1.7k
Topics

12.8k
Posts