HISE Logo Forum
    • Categories
    • Register
    • Login

    Tonal Balance

    Scheduled Pinned Locked Moved General Questions
    48 Posts 12 Posters 3.1k 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.
    • LindonL
      Lindon @Natan
      last edited by

      @Natan said in Tonal Balance:

      @Reylon
      You need to split your audio Signal into 4 L - Lm - Hm - H channels, using eq and routing matrix. or Script node.
      and then script meters to read Each frequency band.

      Not a Simple task!

      ..and watch for the phasing too...

      HISE Development for hire.
      www.channelrobot.com

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @Lindon
        last edited by

        This can be achieved with a network of linkwitz-riley filters that guarantee the same phase response for each band (every band needs the same amount of filters so you need to fill up "empty" spots with allpass filters).

        LindonL Matt_SFM 3 Replies Last reply Reply Quote 5
        • LindonL
          Lindon @Christoph Hart
          last edited by

          @Christoph-Hart said in Tonal Balance:

          This can be achieved with a network of linkwitz-riley filters that guarantee the same phase response for each band (every band needs the same amount of filters so you need to fill up "empty" spots with allpass filters).

          cool - I didn't know this - useful...

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 0
          • Matt_SFM
            Matt_SF @Christoph Hart
            last edited by

            @Christoph-Hart Interesting ! Do the frequency of the Allpass filters matter when building this kind of network ?

            Develop branch
            Win10 & VS17 / Ventura & Xcode 14. 3

            1 Reply Last reply Reply Quote 0
            • R
              Reylon
              last edited by

              Sounds interesting but crazy hard to do for a beginner 😂 any further help would be highly appreciated.

              1 Reply Last reply Reply Quote 0
              • Matt_SFM
                Matt_SF @Christoph Hart
                last edited by

                @Christoph-Hart I tried multi-banding a FX with linkwitz-riley filters like this :

                7c8edd66-cd19-43c8-9620-6000589472d9-image.png

                But when analyzing the plugin with PluginDoctor, I'm getting this :

                83ce356b-f5a7-4717-8119-86772d968c6b-image.png

                So clearly I'm missing something... Any clue ?...... Peeeeease :)

                Develop branch
                Win10 & VS17 / Ventura & Xcode 14. 3

                DanHD 1 Reply Last reply Reply Quote 0
                • DanHD
                  DanH @Matt_SF
                  last edited by

                  @Matt_SF how does it look without the all pass filters?

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

                  Matt_SFM 1 Reply Last reply Reply Quote 0
                  • Matt_SFM
                    Matt_SF @DanH
                    last edited by

                    @DanH it looks the same...

                    Develop branch
                    Win10 & VS17 / Ventura & Xcode 14. 3

                    Christoph HartC 1 Reply Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @Matt_SF
                      last edited by

                      @Matt_SF Yeah, setting these up is super complicated (and I'm working on a template system that creates these for you with the correct parameter connections and values for a correct 2/3/4 band split.

                      But you're almost there. The frequencies of the Allpasses must match the other filters for a linear phase response, so that each band goes through the same filter coefficients:

                      Lo:

                      LP: 200 Hz
                      AP: 800 Hz

                      Mid:

                      HP: 200Hz
                      LP 800 Hz

                      High:

                      AP: 200Hz
                      HP: 800 Hz

                      So basically each band needs two filters to be set at 200 and 800 Hz and then you need to set the mode to Allpass for some filters to get the frequency split behaviour.

                      Matt_SFM orangeO R 3 Replies Last reply Reply Quote 3
                      • Matt_SFM
                        Matt_SF @Christoph Hart
                        last edited by

                        @Christoph-Hart aaaaaah I get it. Thanks a lot for the info! 🙏
                        And if you make a template for this, it'll be awesome.

                        Develop branch
                        Win10 & VS17 / Ventura & Xcode 14. 3

                        1 Reply Last reply Reply Quote 1
                        • orangeO
                          orange @Christoph Hart
                          last edited by orange

                          @Christoph-Hart said in Tonal Balance:

                          I'm working on a template system that creates these for you with the correct parameter connections and values for a correct 2/3/4 band split.

                          +1 for Up to 5 bands 👍

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          NatanN 1 Reply Last reply Reply Quote 1
                          • NatanN
                            Natan @orange
                            last edited by

                            @orange said in Tonal Balance:

                            @Christoph-Hart said in Tonal Balance:

                            I'm working on a template system that creates these for you with the correct parameter connections and values for a correct 2/3/4 band split.

                            +1 for Up to 5 bands 👍

                            Add another +1 on top of that :gem_stone:

                            1 Reply Last reply Reply Quote 1
                            • R
                              Reylon @Christoph Hart
                              last edited by

                              @Christoph-Hart +1 from me too!

                              1 Reply Last reply Reply Quote 0
                              • NatanN
                                Natan
                                last edited by

                                @Christoph-Hart I CLearly Hear The Changes by Bypassing the Scriptnode module, any Idea ?

                                This is Just like what you mentioned above about Frequencies :/

                                HiseSnippet 1675.3oc6ZszaabCDlqjnSkSZadh1iKPt3.jXXImlFzdvxuTiQsbT85Xj.XfTlcojXztja2kx1xE8TaARO0y4T6Ogds27OfTfBjeA8Pum9Knc39PZWIYEYEa27v1.FhCeLebluYHoGU0SXR88EdHs7az1khzNG1nMW1XwFDFGsxRHsO.Wg3Kod5ghVnsKw2mZgzzx9EJAZ4ygB94Eys.wlvMocEgPaJXlzUYNLYWoUK8kLa6xDK5FLmDi9lkVwTvWTXKZA3IKdFjKwrIoNcMhZXYvHsIV1hIEdFRhj5izxsfvpsQCwN7vwuIym8HappQAjArPghKKrsTHVIEsXClsU038sOBogq10JjMzJbYbElEqi7tViyGzgd2YjzdnkIM7xlBdERBuYR.uA.IsDPJWHjt.1vzi4J61iBOmEuBGbN0HfYOITBGKRae7hBX.b4zNjlzxdPiNSXpaMyLWWG9y097Zs3lRlfqK3qIjz6xm5ZS9sSlexuaR8d6pVsA1mRMdBaap2.6V4o8F1Dmh2x4QTuqquMwtEsy.gseZaJ9fsoIc4lg65DCTvWgyj20kxOHh.JxTAe5dqrDQRTNhHYv3bodRlBBZKQ2FX0gtk73kn9MkBWfW2mOCXKBqV1DYZJjJtIpCvFjxuobNbelrcx3pd4U4FMd0vo8iJbu.tJSZ1Xv3My.vKX0NtwaTT56iWtVMporKXygKe+StPxIiBIAcpTNzz0lIgnqTln3Pwmf6R6c8ntDO5Fhp1j1S4SbbsoqCH755OxVX1zfsGs+XE2P.rfZDSY1fv4Ta+wIjZhQ1lTXn1Dz5hVRFudEhzisKDatVKGCH4sIcwHzAxzxnhrBaOipshgXP4VAM9W3mnNKnZqE0Yg3NSDTtFUtivqYfyH5yvdQY4ubGK+R9twcMussXmEENtrHdKPGBjUUX21sgfyLUhBGQLhm2QzBTVDruCweCByV4E2j54GrHmAOyzvu.IeMgEXjvkIlfwrcUhrgJZQk4AniTuoM6PKGH9RRSUKU7AegVH.VNpscvwdYSj9IjIpZAwbYTq94vq3uopWShMZSkuVAXjZMCsUg3TMzyf8U.AcfXNr6wEZczY1D5LGdUA5kXjNorEIw04wO1lwatCStmGP.ZmFiWA+XKe2o6YHisgQwxro6FepRYlMPF769QE74Vzcio8KCQtVP1vfInVOTUhGbMnnYkoSKHBnBiGsSiSAyJUgraZYO44kLjTWUlkjopMZR2IbeGIsz267GyEdyhxdzuoEka1FkdoJ8KkPCW+HTe5GlV+5+Ey0m9Cjpz+D3fjr8sxnDtvODODO3GgqEZkm90Se3DC2FdyiUeH5mFpOrzry9745Q+6+rmc0QS+nq9O+Yf9yh+pd06Kl6kvcJte+bmhind6xcBdZR+bmCOsEnnihp+5KszyiL4FNBgrAbrXJ8W5u16Gl6DIrohJ9nuU4HZqOLUmGuLm.WbvZ.97TmAUGbNESGrdV3HAO5z0OjGFjIU.ZpvqrCeC+fAPy.+Z5M7u9zm968ug2u9uckRGszrR+boQR0uTZVPhCzw+V+b30o9TY3pLDCfe5D1X0ymec7x.WnmKCT3snaCbLeRB6+uaCjNwRu9vYO0GdzbafSvazEd3PgSOb3cvCGl.eGV8Fud9TwTIMJd5CMNpNd3zGZb5CMNtdnQu2Gn3o2G3Mf6Cj1GNQv8AN85.uqbcfCtwBBQSGRv+9+W4xyco35GMeKKlXUgZxQ+i5CjnqDoqpMC0qvAUx68un4eOpk71cjK4sQatYPh0DADAEfaCOhYSkKLgpTvLNUXhwuN3sU0pMYI2MBpwjgj3IgkO4hrNcavBSSICRYEU08UvK9YacOeXDa4Q2iP2Jxdt0cX9T8anpD9iolR+sVGTP46uUf8SMc+sJT715MYlM0KN8NjsQNJKWXboCILM3OlAYCag.TE2mcvdxJtesribsDODk7O2wUI+OQKM6qdkjOZJGZ9XLZvTjrk4aSsgPp.LdQH.rFoksLVZ53oJBtHtVbIojROV85zzGYLnMz7RIDVzUxkKsN0lR7Scr3pvyGHd8FUcHrEENzkFdf9qOFGBWcUR.82N9F.j8MsuA.GMP4jnx2mD5vgX5IdnY3WX.EW98Bj.6adP5+73Jp15EPaGdvMVU9aHWtE6gllJy8MJfPCdNEGi4L6XLmaNFy4SFi4bqwXNe5XLmaOz4nNLZ9VRgSXnHHn5xgugPqyUAzxh9O.+J+JK.
                                
                                Christoph HartC 1 Reply Last reply Reply Quote 0
                                • Christoph HartC
                                  Christoph Hart @Natan
                                  last edited by

                                  @Natan why did you mix jlinkwitzriley nodes (the JUCE ones) with the filters.linkwitzriley? I'm pretty sure their internals are a bit different so this will not work.

                                  NatanN 1 Reply Last reply Reply Quote 0
                                  • NatanN
                                    Natan @Christoph Hart
                                    last edited by

                                    @Christoph-Hart
                                    LOL, I'm OUT
                                    alt text

                                    Gonna Fix it Now LOL 😆

                                    1 Reply Last reply Reply Quote 0
                                    • NatanN
                                      Natan
                                      last edited by

                                      @Christoph-Hart That's did the trick :) :folded_hands: Legend :gem_stone:

                                      Christoph HartC 1 Reply Last reply Reply Quote 0
                                      • Christoph HartC
                                        Christoph Hart @Natan
                                        last edited by

                                        Alright, I've just pushed a few templates, including frequency splitter up to 5 bands, a dry/wet mixer, and some other utility structures.

                                        If anybody has ideas for more templates, let me know, they are pretty easy to add.

                                        Matt_SFM ? 3 Replies Last reply Reply Quote 4
                                        • Matt_SFM
                                          Matt_SF @Christoph Hart
                                          last edited by

                                          @Christoph-Hart Awesome 👏
                                          If anything comes to mind, I'll post a request. Thank you Christoph !

                                          Develop branch
                                          Win10 & VS17 / Ventura & Xcode 14. 3

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @Christoph Hart
                                            last edited by A Former User

                                            @Christoph-Hart Thank you for the update. on macOS M1, While compiling the current Hise develop branch, I get Use of undeclared identifier 'NumVoices' errors on the below places:

                                            SN_POLY_NODE_ID("transport");
                                            
                                            void onTransportChange(bool isPlaying, double /*ppqPosition*/) override
                                            		{
                                            			value = isPlaying;
                                            		}
                                            
                                            SN_POLY_NODE_ID("ppq");
                                            
                                            void updateValue()
                                            		{
                                            			value = hmath::fmod(ppqPos, loopLengthQuarters) / loopLengthQuarters;
                                            		}
                                            
                                            Matt_SFM 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            51

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts