HISE Logo Forum
    • Categories
    • Register
    • Login

    Why is my filter band moving when adjusting oversampling factor?

    Scheduled Pinned Locked Moved Solved General Questions
    15 Posts 6 Posters 426 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.
    • StraticahS
      Straticah
      last edited by

      Hey there i want to give the user an oversampling option for my new plugin: https://www.prototype.audio/#heroshot

      For a reason my multiband setup gets destroyed when wrapping the node in an oversample container.

      HiseSnippet 1389.3oc6XszaaaDDdorW4G4Ab.Z6YczAvvvxIwtE8fkeoVgVaKD5Z3aFqIWYsVK2kkbosUZ6odI+E5odtGKP+AzC8ZN0iEnmaukeAMcVtjhjhxNxBIA4PjAL3N6L69My7MytjsCjNzvPY.xZtC66SQV2Ea2Wn5tcWBSfZsCx5938HgJZPMins56SBCotHKqo9Bs.q4lFE+6karEgSDNzLQHzQRlC8qYdLUlz1M9JFm2j3ROj4kS6G2nkiTrsjKi.7LEdEjOwoG4L59DsZUvHqp65xTx.aEQQCAc1R512tq7RgQ+iXgrS4T8f5HaXgLhQa2kwcam5qgHj0zsy77oLd9Gg2i4xFHOKBrP7D0xrHeLvpxMAo52BHYkCRSafzCv1NALeU1LZ7bGbKAjP5PfPcdnXzEY863skfBB0xdjdzlAvfAFr3ZqrxR0f+8vOuSjvQwjhZRw9RE8.whOb9ua94l+Glu1vS0oyHmSuMARNmFLxo0Y2faxvEEQdmRCVp1EDdDcfhf6WLlVc7hoNFuNmhRQKAScfOMYbSI2UGqzOWNCfRBavSeSqcHJhNojHCzymFnXZ3XsC8BfUaRQyg2gF1SI8Adco7GvbjtQbhpHcRW2jLADOJjC0IJQHS0Oec0vbrou93wJ4hGuFucLg6CvsYJmtiFuUFAdgn1aa7lTwdO7tc5PcTYfcZbyiuwxyoGOpTFTF2R04SJUg8WCj6lLrVyiqOxhzmiyJH7Cn9j.5gx1bR+ECId9b5SA7tTsS4Rmd1rmQKWE4afvVZMVzoKQHn7vIoXq5anFXnmJiTLwY6QTArqPV38i7rgV4NzsSPGHyphtNyLdE8XMewlJbiG7J3Wxj00isRlrd5j4JQ2mptTFzKNcj7LxZFSrOLNHeRmqpi1jykWtszymkvdgbPrr1Rde+tRAyQKxnQJR2zSFAaRBb+RR3gDFWS2siBglItGHrAkiOpyZpinAgwK7L3UVF9Cn+6Kcgop1j3.A19sIpt55Hc+IfnRCV1Y.gs.VyySzKQ5QglnD.QOsqqOHTmeZSBfyEg955VRUrlJWKJCCUOBpKqX1mVgGom0gvQGoY.ZiP5cwDAMH1np7BXQiYgnBtvmjyExoy6Gv9d3NAzu8jPeNS8Hz0F5imeD.Y7cB.xYVpgb5HfArGSjfxrK0rG4phxd9e1vVQ80k046ZZ2idoA1Zou36+20+QuWrg10lEuEQ3VqNZv572+Q6e8u9ueowlQJoGT2F2KN9vJAMttWirJYCS3jsb0rTdP8SdBZ.r0BuCtID7h.Jc+3iAGsYqdilklTRX+XMxmAeJf70PulJgaSvensopYaL9Tgs4iwm6F5u74bln2kL0yBfR19n7K+bUu7re5U5sHseOz8KGTFJqminpwDP8uJ8VBMY7T5f4QM+U3RuJsw0tPuWWXKhMHsYVAdTk2N7HPPiTdT9zUwkpwOWjJgxAlpkACBUBLvZTFLubiRfIVpFLUwwGbVZkQ4xqyhci775OD+YdLfytK6EwGJaFGTgeWWNbPVtBDsymMu1B5wz2A+bbRDC78YvlEnzxfljtg4QOpTw25uKJ9VcRJ9N67OT78dUwGv+JW7s9GJ9F6huwyulY77qEtk4z6iOH8NYvsvK0X853XCS+StC3AY2u61C23WUXj.cHilswvWZwZj29nvcRKbEjg7ZzvdxLX63a78lmKMvz8Ocgi+re6e1X7bkh2SsfuL3ddnsjxddj32tYx9VDuKdWLOhSf7DGyqWpc3Yik.oeQ7GraN7d5wf+bwvQdOlK6DGmhKUICWcRM7QSpgOdRM7ISpgqMoFt9jZ3m95MT+8NSZWnIuPkR6cMGdZsqfbJ2zcG8+.22ie.
      

      building user interfaces in HISE :)
      web: www.vst-design.com

      HISEnbergH 1 Reply Last reply Reply Quote 0
      • HISEnbergH
        HISEnberg @Straticah
        last edited by

        @Straticah With oversampling you are doubling the samplerate so possibly the filter display is reflecting that (a doubling of frequency)?

        Is the effect audible?

        StraticahS 1 Reply Last reply Reply Quote 1
        • StraticahS
          Straticah @HISEnberg
          last edited by Straticah

          @HISEnberg the effect is audible yes. it should not be audible since 200hz stays 200hz even when extending the range right?

          PS: if there is no other way than oversampling each bands effects, do you know if it would increase CPU load compared to wrapping the whole setup in an oversample container?

          building user interfaces in HISE :)
          web: www.vst-design.com

          HISEnbergH 1 Reply Last reply Reply Quote 0
          • HISEnbergH
            HISEnberg @Straticah
            last edited by

            @Straticah It largely depends on the filter design, but I think the frequency-split template uses one-pole, so each frequency is doubled. So a LPF of 200Hz becomes 400Hz.

            Maybe try one of the other filter types in Scriptnode, I am not sure but one of them may be sample rate agnostic. Another alternative is to just process whatever comes after your multiband process with the oversampling. A last alternative would be to compensate for the oversampling, dividing or multiplying the Frequency cutoff by a factor of however much you are oversampling.

            So on a LPF, 2x oversample, if your frequency was initially set to 200, it should become 400. Divide the control by 2 to compensate and set it back to 200.

            HISEnbergH 1 Reply Last reply Reply Quote 0
            • HISEnbergH
              HISEnberg @HISEnberg
              last edited by

              Also I am not 100% sure this is exactly what is happening in your situation, but just a semi-educated guess.

              StraticahS 1 Reply Last reply Reply Quote 1
              • StraticahS
                Straticah @HISEnberg
                last edited by

                @HISEnberg yeah makes total sense to me. In my mind samplerate and poles were not directly connected but it seems to be like that. I am not able to use anything else than LW filters unfortunately.

                Any experience on reducing CPU impact of oversampling containers?

                I would have 4 separate container one for low, mid, high, master softclip.

                Hope this is not more of an impact as wrapping the plugin into one.

                building user interfaces in HISE :)
                web: www.vst-design.com

                HISEnbergH StraticahS 2 Replies Last reply Reply Quote 0
                • HISEnbergH
                  HISEnberg @Straticah
                  last edited by

                  @Straticah Realistically I don't think there is a way of reducing CPU for oversampling, except by using the minimum amount of the oversample container as possible. I think trying to compensate with some math might be a solution.

                  1 Reply Last reply Reply Quote 0
                  • StraticahS
                    Straticah @Straticah
                    last edited by

                    @Christoph-Hart any suggestions to keep the oversampling containers to a minimum while not processing the filters of my example since they behave that way?

                    building user interfaces in HISE :)
                    web: www.vst-design.com

                    Matt_SFM griffinboyG 2 Replies Last reply Reply Quote 0
                    • Matt_SFM
                      Matt_SF @Straticah
                      last edited by

                      @Straticah The filter curves are moving but it doesn't change the sound. It seems to be affecting the display only:

                      HiseSnippet 1868.3oc6YszaiTrEtZmTwSx.bGP73tzKXQ3pQQocd3YDKhyKCQPRrFGBrK2JcWcbOt6pZ5tbRLOVgtRvOAVwVX48evcAhcHgDKQBwFVvt4WvENUWcaWkcmLNdlDDOBRHWm5TU8cNmuyop9LMi4NzjDdLxZtC5EQQVOCtUOln8lsI9LzNagrdN7tjDAMthRzF8hHIITWjk0TugTf0rSiR+6QqsAIfvbnCDgPGx8cnusenuXfzl0eK+ffFDW5A9gZZub8cb3rM4A7t.dlBuHJh3zgbBcOhTsRXzaRRZir9W36uxJ1DWuZd1KYe+ic8bnKUawUWtVUxJ2yyq1h1KujaMukAPNy1t9BdbKAQPSPVSuA2sWq17yXpC3P+D+iCnxA1nVvIqD2fG3JMQ4uQa11OvsYtiJAgrvMG31lR41dQ7t9t98kOv8cmzIpLXE5NPqRlvaJC3YqCuE0fWAPxRCRSqfzyia4D6GIFLiDO2FuCChldDHNoCEktHq+GdSNn.SrPHoCsQLLn+Ble0EW7tUf+2q85dcYNBeNqBmsGWP2mM+qM2GN2ry8wyUY3o77JbN4wDyCBnwENsjZDeYKbdV2viow2sxojftz9JBluoOEew9T8Ptixp0Tjy1g4K1OhlMdTuNJyUA+5c1YKhfHCDYx.8hnwBeIDr1hdJjFnBKyh2hlzQvifDgQhY.ag61MfHLoPxDsrI.efQbSFbXI9hd5IhCyqld73UCn8EZsiIbedbSegS6hwaoBvK30ttwaVV5yh21yi5HF.1owMduatTx4xRIgyTd3OS1vJMdO6BSF+T7.heTLMhDSOf2Lfza9DRXT.8A.FuakiC3NcZ4+AzQyVhTPXCoFy6zlvXzfjIIoZlw1qXeodEzC3cE9rS1kHh8OGxN2qaXKnduCcyLzAxrJIysTiWTNVxQZQYtoC9U3urIskisxlzNeRszx8nhy3wcRCGY+FYUV46SRcxG4ctMZ8f.9YaxCi7yXrPLHUVSdPun1bluiTjRibjtdHuKbHYvEtZ5.hefjh2paBTzvceVKP4z6Csl5PZbR5FWFu3Bv+AT983tvTkaPb.GaulDQaYtirNDPNowK3zmjZfUcdhbKxuuT4k.HFJMc4skx3SSRLb4IT+VVFpj5hTisyZJsJUJRqbDjdVRcz6jbnbVGR.5PIoPtOH4AKUOyHlQp5svm6A2oGiLrn6jZQ.0ZgrYMveJd5uvK2bFBokFBo+CIURyby.qJ5fFR4YjEtn45bK7aCdbRLviNSV55.R7ITQ5gnKHq5NillzjXNLyWriqb6b6FF1aUTezHkVFqNMzSvVV6B1RMyVFByGA14t9rLibP01cImOjrGsVKAMRVBQWuVcnmohk5ZJce4Gb+s4yV+e+yO5+7KqgxH0JpC+T.QoEpL4DurFKWSmmFLass6IiYaoYIOK1Kl99GkDE3KVBcgIroyW.1Fe6RYElGGXFWTzs7nQ2kqORz8S+95O9n629Q+RsOI7aWSkHuAg4VwdP38G+5l+2e3++U0WuqfGB2.jdS9vL2RExbKiChsOZESh6swM.KrKTbrW5inJdYUuzkUTInx3iAjuJ5wTS8pFPx2Vk1ZGZY0gprPiC8kvOzMIZgGF3y5.46ePLbUPOiBbyNyYm74+p7.yeFCbqpFvJBFpCxjXKwKP2OO+8mM7CxoJpeJ46LW544WOtMbCuKbfoKH+JSCNVoqGNFHndNGSOTZtU0+BSZF5pWNCU.XfRbWX4rYvoOOajcVuZV+h5Fg44v.NauPX2fghsoNU3uKJhNHlmeGX112+dMUv8pj6esTYOexghISPkUcSAMRRasqmj1ZWRRa0IIo8jGd0SZq92Is2TIsOZsBRZqc8lzV6uJIsOUMx6bEi2OGd+721Ae+3HEquH92voFynL18G7NwqNbS+H2BA5Haz387di2sZ7jmgrZzvVRYbqzWc9zmX0eoe427V09r0+o0FOSw7wqF1R+2Uh1fy6DRR+t7m3Nm8JpIuM9cImRS6cc52L+Roi83wgUdCJbKhrGU1WR2q+tws60Qic2q22Q.P3fXBKIhmPsM74zP+C3LZhgzgVQ0BWggzsnhtLysVIxPKoqnA3Jzz6V0yEVUWXSByXyfwF6ztxl1jO7mVaaF43.ZKJX4t6m3.NFxPznlcCRnuquqnss9BGHtpt32jD6BwPGiTnoF6lCp26IydlpoeAspalqqF5ei130m79D+zoYmyliwV9xBZayNkF.ozoX7EfbXOR2.QtTybxc4Ldd+1Fv.d.UD6exITy6DJxfVWHHNcFH4Eq+.Z.kjnkm9p0UM6IsAPSluv9J232BiW+SrBtUjERp7mi96O0ez5u+MbFJT+7ONQ5WAC0zqVIMbW42+38Mw+zA2DmQHwIleTVawkELtUpDvtYoeVwr3ckigGJc5vOoKDt54HGGysZjEVcRW3RS5BWdRW3JS5BWcRWXsIcg26wuP4KCx9NDYdB7bolaq9hcK0KkRSYP+FnCqdqL
                      

                      If you wrap the whole bands filters into one oversampling node, you'll consume less CPU than wrapping each band into separate OS nodes obviously, but there's not way to further decrease the CPU consumption.
                      Keep in mind that once the node will be compiled, it will consume less CPU that it does in the scriptnode graph.

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

                      StraticahS 1 Reply Last reply Reply Quote 0
                      • StraticahS
                        Straticah @Matt_SF
                        last edited by

                        @Matt_SF interesting in my compiled build it was indeed audible, i will check your example thank you :)

                        building user interfaces in HISE :)
                        web: www.vst-design.com

                        1 Reply Last reply Reply Quote 0
                        • A
                          aaronventure
                          last edited by aaronventure

                          It's a known bug, the oversampling messes up the filter display (by the same factor probably).

                          It shouldn't affect the sound (haven't checked compiled plugin). The workaround is to duplicate your filter setup in a separate node (could be a modchain node), output these filters to the same external slot, put them into a soft bypass node so that they're not actually using up your CPU and then use them for the display while using the oversampled filters for the actual processing.

                          Hacky, but it should work.

                          Matt_SFM 1 Reply Last reply Reply Quote 2
                          • Matt_SFM
                            Matt_SF @aaronventure
                            last edited by

                            @aaronventure Hacky indeed, but I confirm it works :grinning_face_with_sweat:

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

                            StraticahS 1 Reply Last reply Reply Quote 1
                            • StraticahS
                              Straticah @Matt_SF
                              last edited by

                              @Matt_SF @aaronventure if its indeed just visible i might have messed up the dial linking when wrapping into an oversampling container. because in my build it was very audible and unusable.

                              Will do that again and double check. If its just visual i will not have a problem with that. thank you.

                              building user interfaces in HISE :)
                              web: www.vst-design.com

                              orangeO 1 Reply Last reply Reply Quote 0
                              • StraticahS Straticah has marked this topic as solved on
                              • orangeO
                                orange @Straticah
                                last edited by

                                @Straticah If you have Plugin Doctor app, you can also check it from there. This will give you a better understanding of whether it's affecting your sound or not.

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

                                1 Reply Last reply Reply Quote 0
                                • griffinboyG
                                  griffinboy @Straticah
                                  last edited by

                                  @Straticah

                                  Antialiasing gets complex if you want to minimise oversampling.
                                  You have to dig into the research and develop your own filters

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

                                  42

                                  Online

                                  1.7k

                                  Users

                                  11.7k

                                  Topics

                                  102.2k

                                  Posts