HISE Logo Forum
    • Categories
    • Register
    • Login

    How to make Mid-Side processing?

    Scheduled Pinned Locked Moved General Questions
    90 Posts 5 Posters 8.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JayJ
      Jay @orange
      last edited by Jay

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

      Joansi Villalona

      orangeO 1 Reply Last reply Reply Quote 0
      • orangeO
        orange @Jay
        last edited by

        @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 ;)

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

        1 Reply Last reply Reply Quote 0
        • orangeO
          orange @ustk
          last edited by orange

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

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

          I am trying it, sides are working well while we process sides differently.

          But when mids are processed, sides are affected same too. (I use parametric eq) I think they could be processed differently, does it make sense?

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          1 Reply Last reply Reply Quote 0
          • ustkU
            ustk
            last edited by

            @orange They're working separately here... When adding a level control on each, I can control Mid without touching the Sides, and vice versa...
            Or I don't understand what you mean? Is the routing of your EQs modified in consequence?

            HiseSnippet 1855.3oc6Z80TaaDDWBaEvNgNoYXl1NSePcl9mjR.aY.aXxjDCXCgI3fiEIocZYnWjOC2frNMRmfR6zo8iSerO1Gymh125zOB8aP6cmjrNITbsgPHjX8.i2cu8t8ta289sGWSGrAz0E6HIma6isgRxWSQ+XKx9qtO.YIsQMI4anzXiZ6puQs5pGgcN.YsmzJGaCbcgskjkyrNqcx4xJw+9m6uBvDXY.iXII8TLx.tIpKhDwsY0GhLMWCzFtMpqPqmu5FFXqUwlXOpMkQonjMv3.vdvGAXMaLEI4qTuMhfczI.BzURN6J31GquO9HK+1+TjK54lPFgljNsi7YuF1rMyhY+VZ08QlsaFN2ckjjUZFsRjwekXJkFn1nd7iVQtNWfZjFhqGxi0OySSz7Jlp4okh4IIXcY8sNpQfa6YBHwsL11Qf.D1JlksgEAZ4hHGKtccgZtuuRSDwX+zs2wRwdoaTm21avl+jJ06zAZPhL1rJq8Um1c5gvQbhSZK4TZg8HP5v6unwnnggpM.DGz2qE2nxbFMpTWeBFQ+ATR9idjWWcZ.pAjt7XYAMoCjh70jXpxoKxnYaW5Pq1bhwhDpwnkCDxIxDIrDi9eoeLg8HBDNmnv4RHbdQgymP3BhBWHgvxhBKmPXEQgURHbQQgKlP3RhBWJgPshhRinBEqESbOJog06nzkBuir8y6PYj2wov6HHuadEcCGjMIv83pJMzUqaYfaCi4X32HowxNlRGOKCVtXUaGnMvAtMtoI33a5B5ZaBaQ8ats5yMwFGni9A3sx+i4yk+mxKnC2.Vg0faZDr8Sa0j4UoegL9lh6n9kpEuSBtZhbYewEWZG0oinlaG06cuHxx6bGZaKTPcyoaodW0FpHK0JI5+x79e1JEqDS0JbU8+nc.W0xp.q1pUTmYt1q32KI5qEX80LZQZdxOZeMSqDpMer4vBwmCK1aNLCaNnyLjESzAKl9bXo3yAeU4ygkBlCh6RL.VVDGr4Ms759bnysUODX50a2j5NEOMwDCVZBr0FVHxV1v.jXwbfDYG4iDxUSpmME0PJPPJB.h.1tykjOhAVmH4ifvRgmi8RS9jIPXpIexFHL0jOJABSM4yUBDlZxmwCDlZxmIBDlZxmbABeUk7YU+sKZu9jMpAH.JXF4.dzcLanCAwbljqAOjVOP3gW0ftGPv1wvfMtuvqpnCHdNLLi7jWSnzPsFxkDCkXPSXfG8gI92O92+q6+LHY4tXOKhHV2lNPgpUTu029EUahcIB7pl+Om4Em4CISEWm7.hI9CThlQpW7H4OUgWgNGoFd0yyIsvqKhy1O8gWWTmsOduR0QrCkWOz2IGM.YS3gPy9VgdMHMcrXMUOC0lreDiutZJ0vmLnHyfETjRfP1At3PlgqdooX1anvWXuLYv7M9KOF70UZBFkSbTNw9kS7jXFzG.LCeWmN+wffY3WlZ1alDyvKVGb6QXFdGK93zee.uVgjOPXFzGgYXDlgQXFFkS7ctbh84NRqAeo2QZY4ym6HMeNwapb5X24m3c8oUjcYerapbZc06ptI6t9zzlLetIE5gkFr6mTWTmJwF0kRLpZgi5LrQsEeTKcVtUwwuXtUwQ2g3qs6PLe3pP5AmWMT74wcH9w9BughNwAB5R2d04Qm9kEPC48ozdU7XFrG3Gy.sbBSLnMKuPTydQ0U75zA5Dm6uUkOTIKIwtZfk2BZCAjFrrT8DNQ0VsV2A6YmRgLr+S6a6.L3ufCgIzVVPZPXr1tpC10sCc5v6KWwV2zyYO1ZUDmVTviNtw4QCfDCcXQCOwExB7QFgQYQslOJE2FvC9+LkRyOa7uC2h9mNSy94Rqxo8UQa3UozvqxbCuJyO7prvvqR4gWkJCkJISXmavRX2.XSwbAMEZ4JnfnOpLeNwemJBMsmuG2TE9e+nCIrjztBss+Xtjuxn2zy+WcWE6ecWhW.QtPazu.x5VzZFoYj6UGSGfmIIja7zpMvVX68wVHi3INnIB1aOninsm5DZYBgl2JhyTUaAMg.WgLeeZ0MQVPfS77gC0Zg1fuVzu8qOTw2bUYmEn91wawJyaQuEqW8KcuW.XBU5n6PdCee9ZJ7SBTYnUdCoXXkTwaO1YBusTXgKrH2feyATJmAZwNYgeQvl7K9Rvk1kBDiYRiQAS6WMWW5IVzl5SPAN1ByvJoH+4zVuI9gviCId.JfXQtjmx5Xeq9An.helM28AnEZzqgLCdZqOVo.Eijiag8bf6UnF1vqKE0qagca1Zq0asbiFa7n0KPWBAnGfbgkJrrWaDlotaAcOyC.6xvDataCfKA5L6QfCkp4YahLnab7pW4S.eOT5XezmLkjOq5VsYL59q2czsTbd8Rtj5egPxmrPnt.CG7tF9EuxeWnbNT2WKt2RNkFLZUMIdQ19gccoPX10vfkebFZfW5ZTZn0XtgVi4GZMVXn0n7PqQkgViE6iFL7hK6Qvc8OsjxnYc+LLx06kgIiz+AaLHA.C
            

            @Jay orange gave a solution two days ago in previous thread

            Can't help pressing F5 in the forum...

            orangeO 1 Reply Last reply Reply Quote 2
            • orangeO
              orange @ustk
              last edited by orange

              @ustk
              I added a saw synth with stereo delay fx. So, delayed sound is side, saw sound is mid. If you look at the MID EQ unit, when you tweak eq, mids and sides are changing both. (actually only mids should be affected)
              If you send this eq to sides, only stereo delayed sounds are affected, that we want that. But it is not working for mids. Am I doing wrong?

              HiseSnippet 2068.3oc6ZEzaaajElzxrNRIonsvK1cA5AVfscSpiiDkrsrQQqkskriPshUDcSJv1.2IjirGXJNLjCsWuEK1db+Ezy8XOzC8XOleBEn.s2VzeB6+fsyLjTbFZFWIG65zthGDz79l2LuYl26MeCG10GaACBv9JpE28DOnh5MzLOwkbvFG.PtJsapn9FZcZ2bOy1MaoeL1+Pj69JqehGHH.ZqnpVXKV8TKNsB+4+t55.GfqELUjhxCwHK31nAHRpztM9Pjiyl.a3tnAB0dgFssvtafcvgTapfVEEOf0gf8g2Gvp1TZJpuRKaDA6aR.DXfh5zqisOw7.7wtQ0+gn.zSbfrBFJlzFJR7lXGalEy9uxFGfbr6lL1CTnMZ2zYhBQyDyp0AYiFJOcF403.5oZHNenN0YYdFhlWkbMOibLOEAqa5HqiZDX6PG.Q1xXKGw.Hrqjk01k.cCPjSDWttRM2WWqKhXcP916T4XuzEpKa6Mdw+lZs52GZQRM1o017iOuqzigi3Lm1VJp0CGRfztOZRiUhFFp2AP7Q+cCYipvKnQk67SbOF0gJp+46GNvjFfZAoSOttPGZGoodCElp7xUXkYKWlPWadgoRAMXkUiA4EJjBVkU9+QeXfCKDCVSDrVFvEDAWHC3hhfKlAbIQvkx.VWDrdFvkEAWNC3JhfqjAznhHZZoDXCI3gkTFWuip+lv6X5yx6Pah2w4v6HNuaIMSKejGI1835ZcL0a4ZgsgRNFQURYpomRqenqEKWrtmOzC3C2E20AbxsB.C7bf8n9M2Q+INXqCMQ+C3sK8YkJV5eVRPGtArNqB2xJd4mVqaVRm9jH3uU4w5uqdk2KiTCQorGY3pOVetzR0dr9G7AoEW5wuGstkKqu8b8zee8N5HW85YZ+k3s+cqWotjp04pF8Pa.tpKoCbs0qqOeM60iZkLs0hr1ZdiTMO8CssluWF0VPZLrn7XX4gig4YiASlgrblFX47GCqHOFhTkOFVIdLHtJwHX4R7wN2xMbvSf92Q+HfS3vUSp6jbZhBiVZhKkTCht8mJ0f.X0jcYdtoFJDClapgoiAyM0fVLXtoFdkXvbSMLSLXtoFtVLXtoFJFCdQkZfshCcIzV8iZ2DP.TpFpwxnqXdPeBhsTq1DdDksdxVKMgAGRvdRLjlIB75Zl.RnOiQGO0x0z5n2DEPj3vEWEF0tHRb+zC91+ypOBRVa.NzkHxDsqOT3rD529S9qM5hCHBxZT5Gm+YY2B6b6appNhrT+iZoiB8qdt0mqPpDGhbCoF5sjWH0Uwtsm+PpqpcaKlDvrQn+QvVOMIhncS8VOPxSgtbsIxg.8CRxlsNfutv8a9xu3KdmFLAFwB97u9oOiKnZpm02sJSPM4ScymmSD7ZMtvBSl3u8xn+1yMGr4HjC9S62+GFkbve9r28VYyA+rs.2YRN3+OHl37ehmeUo0LZm3oI74dhmkTubNwSohhm6XNIF7hL2MpvntyN2wblTR+ayXtaXbyREuoPKrxncZCSQcpK0qqjoWMR504Y8ZOduV8E4LByLZ4.vtscQjc7fwusVoobQwoypIRMTFZSoUbxYN9U6LGkRlExO375IvWFm43Mi.eCMShODLft7ZxiNi11iFxGUx3h3pI7F4qlftcoCFXyxKjVMJcsv98g9xR+lF7tJ6VtdMhs7dPOHfzgkkZH30Zzq2V93Pub1nl8dy20GXwuOFgAzNtPZPnTc2vGGDzmNb3sUfXs6F5uOatJURO3QTpoxxnAPhgNrngOJ.xB7QVIQYo0l2KU1EvC9easpKbW4mi1g9S+4X+ckM3kiTwX7Uo53qRswWkEFeUVb7UYowWk5ikJmyD1c.dcAzkdgZtNJN5ihEIQjtzP2Mt0IbwbSt0smKqzBil49KPftXhMZhXqNsbOhldhJI5VbaB6CBcHIRkSU1A6h8N.6hrjSFPCt2eenunsm6.ZMBglKJUxrM5Acff.grY+kFaibg.e4bbi0bwEzgI9SZQlqNK+t9uOtszB+N51Ru3m5d0XBB5zd2m7R957Mz3Y20YLPdI4.tZ4xgdpWHNzJIGFgE4F+eNIQ0BPW1VG7WdgCkOhinKc.kbEyjlhRPN5DZCn6BQqZTAJYvdXF+GM02gV6sweH7jjB2CEWXYNxCYMbjUeOTbg+EarGQ5Jwn2D4D+wm7.sxTdO9Ak22Gte4lXqvATlrAk2qauc1p2Zc5z99aUlNEBP2CE.qVdsPaDlodPYyPmCA6w345rWGP.A5e2iAGozLzyAYQW33mHkO.h7Po88wu0rJQhZ4ZyDL3qdeIenYSdGPOBbDj+Q6vce9C7x8w9Cz2B5B4ubnyhW72cwyKdGKB0DnzScC7vAPCIBpxXUEwZBIgtxUORjTsXCuMoCOCQlxIBqJJjRbQpwnkkZoNhLW+oUawc6LgzQi8NAVzAK+EqIR6NzI.9HjM4.CQESEWUT74711kISHT+b1xSaBApqJBTUmPfZBApey+4lItje8HaYFpmtC3j3KTf+e48O3hXK8aC6SDcYGBzCs+ABHuYiMgP6mP8XDznQsZe+pIxEUfCrM93tzNbSe3SG1N+6uuw8PmRpRyFYxiuKbfGltgnkjm2k0EhcovMZjSbRG5u7ceHWJSIStykKmuxLky905pd5Wq6.fkOdOqnWEOKIx03RndGtbdxE05vJqanvuxfHOnATtG6YYwRrMO0GJeMpN1ZTar0XgwViEGaMVZr0n9XqwxmgFLhdqERvChxJPEzsUzYqTaM7rUET9Y.c7v2sA
              

              develop Branch / XCode 13.1
              macOS Monterey / M1 Max

              1 Reply Last reply Reply Quote 0
              • ustkU
                ustk
                last edited by ustk

                it's a normal behaviour of the M/S processing, this is why a complex source is important to hear the difference
                it makes no sense to use M/S on a synth only, I know people tend to use it everywhere, but even in a full mix, it is rarely necessary. I tend to use it myself only if I need to reinforce the bass in the middle. I don't see a situation where it can be useful as a creative tool. maybe in your case, you'd prefer to use the delay as a send, and treat it separately, which is different from M/S

                Do it in your favorite DAW

                Insert a pingpong delay after a mono synth
                insert an M/S plugin with solo functionality after that (like bx_meter)
                When soloing M or S, you still hear the delay in both

                but if use insert a song in the sampler in HISE, you'll hear that the levels are separated and have no action on the other

                Can't help pressing F5 in the forum...

                W 1 Reply Last reply Reply Quote 0
                • W
                  Win Conway @ustk
                  last edited by

                  @ustk
                  While i don't know HISE very well and haven't run the snippet, this comment makes absolutely no sense to me at all, in fact in most bass heavy music, the most common place to use M/S is very much synths and very much with EQ, it is very common to cut all bass from sides and leave only lows in the mids on most Neuro/Crush or Crunch 8s/Reeses etc etc, and most current bass music uses variants of those three sound design principals for their basses.

                  Also when you change mids, sides should not change at all, that defeats the point entirely of the process, mids and sides should be separated, if you run a mid EQ on a side channel you will hear nothing at all because it ignores the sides and only processes mids, but there are no mids.

                  1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk
                    last edited by ustk

                    Well, as I said, with a more complex material I totally agree, you say it yourself in bass heavy music, which mean a lot of material in common in L/R.
                    Here the ping pong delay is either full L or full R by definition, and has nothing to do with a complex material that have something in common in both L and R plus specificities in L and R.
                    The formula for ST to M/S is as simple as this:
                    M = L + R
                    S = L - R

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

                    Also when you change mids, sides should not change at all, that defeats the point entirely of the process, mids and sides should be separated, if you run a mid EQ on a side channel you will hear nothing at all because it ignores the sides and only processes mids, but there are no mids.

                    We agree, it is the case here in my snippet...

                    Can't help pressing F5 in the forum...

                    1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk
                      last edited by

                      Maybe I am wrong, but I think we are maybe not talking of the same thing
                      In a previous post, you said:

                      @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.

                      We agree for M, but not for S (unless I make a mistake)
                      you invert M and subtract it from L and R, which is not the same than L-R
                      you don't flip the polarity of R, but I do in respect with the M/S formula, maybe it has something to do with our perception of what we call M/S

                      Can't help pressing F5 in the forum...

                      1 Reply Last reply Reply Quote 0
                      • W
                        Win Conway
                        last edited by Win Conway

                        Stereo to M/S
                        Your Mid is wrong.
                        It is Mid = Left and Right channels both separated and panned (Not balance) to Mono, you can achieve this with zero balance and zero width if your software only supports stereo channels.
                        Your Side is wrong.
                        Side = L+R phase cancelled by Mid.
                        This will give you a stereo input and two stereo (or summed mono if you wish) outputs, these outputs can be processed as you see fit, then recombined (summed) to a single stereo ouput.

                        I think you are talking about a stereo recording made specifically for M/S encoding, which is not the objective here at all.

                        ustkU 1 Reply Last reply Reply Quote 0
                        • W
                          Win Conway
                          last edited by

                          If you can give me a day, I will be home and i can do a screen capture of it set up and running in basic routing in Reaper, and with MSEd, so that you can see the simple routing creating the M/S signals ;)

                          ustkU 1 Reply Last reply Reply Quote 0
                          • ustkU
                            ustk @Win Conway
                            last edited by

                            @Win-Conway Ok cool 😉
                            Please if you can, just try the snippet to see if it works for you, because on my side it has exactly the same behaviour than in a DAW with M/S plugins,
                            For instance in Hise when I apply a saturation (just to have something obvious), M and S are treated independently, a simple gain module does the trick as well.

                            Can't help pressing F5 in the forum...

                            1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @Win Conway
                              last edited by

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

                              Your Mid is wrong.
                              It is Mid = Left and Right channels both separated and panned (Not balance) to Mono, you can achieve this with zero balance and zero width if your software only supports stereo channels.

                              Unless I don't understand, it is the same than L+R

                              Your Side is wrong.
                              Side = L+R phase cancelled by Mid.
                              This will give you a stereo input and two stereo (or summed mono if you wish) outputs, these outputs can be processed as you see fit, then recombined (summed) to a single stereo ouput.

                              I agree, I disagree 😀

                              I think you are talking about a stereo recording made specifically for M/S encoding, which is not the objective here at all.

                              Totally, this is why here, it can't be called M/S, it doesn't stick to the very definition of the M/S formula.
                              Now I see your point
                              But... If I have the same result in a DAW with an M/S plugin and here in HISE, I don't know where/how you can apply the technique you call M/S, except by doing your own routing?

                              Can't help pressing F5 in the forum...

                              1 Reply Last reply Reply Quote 0
                              • W
                                Win Conway
                                last edited by

                                Ok i think i see why this has gotten messy, you are talking about a Mid/Side recording, so Mid is on one channel and Side is on the other, I am talking about having the ability in an effect plugin to effect only the mids or only the sides from a normal stereo signal.

                                I think @orange wants what i am suggesting, Mid/Side separation for a standard stereo signal.

                                1 Reply Last reply Reply Quote 1
                                • W
                                  Win Conway
                                  last edited by

                                  The definition of Mids and Sides is simple, Mids are the Mono signals, sides are everything else.

                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    Win Conway
                                    last edited by

                                    OK, going in circles, just wait till i do a screen recording to show it ;)

                                    1 Reply Last reply Reply Quote 1
                                    • ustkU
                                      ustk
                                      last edited by

                                      we both agree (I think)
                                      but please try the snippet when you can and tell me if it works or not on a song for instance because here it works

                                      Can't help pressing F5 in the forum...

                                      JayJ 1 Reply Last reply Reply Quote 0
                                      • JayJ
                                        Jay @ustk
                                        last edited by

                                        @ustk it's working for me on a song. Its side is separate from the mid, if I can recall ch 5&6 are the side and 7&8 mid, but I'm not home now to be sure.

                                        Joansi Villalona

                                        W 1 Reply Last reply Reply Quote 0
                                        • ustkU
                                          ustk
                                          last edited by

                                          @Jay Glad it works for you 😉
                                          almost, the Mid is 7-8 and Side 9-10

                                          Can't help pressing F5 in the forum...

                                          JayJ 1 Reply Last reply Reply Quote 0
                                          • W
                                            Win Conway @Jay
                                            last edited by

                                            @Jay rereading the tgread, im unsure why there would be any gain changing or encoding decoding, non of that is needed ?
                                            I will look at the snippet as soon as i get chance, I dunno, maybe HISE cant do simple things like split a stereo signal in to two mono and pan etc, I just assumed this was as easy as doing it in a DAW.

                                            JayJ 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            15

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            104.9k

                                            Posts