HISE Logo Forum
    • Categories
    • Register
    • Login

    High-pitched noise with RR group XFades with low buffer sizes

    Scheduled Pinned Locked Moved Bug Reports
    25 Posts 3 Posters 1.5k 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.
    • Christoph HartC
      Christoph Hart @Christoph Hart
      last edited by Christoph Hart

      ... And it's gone.

      It was in fact an issue with a too low threshold (60dB) for detecting whether to use the full modulation signal or just a single value for performance reasons. I upped it up to -80dB and now it's basically inaudible.

      Let me know if that problem persists with your real-world project, then I'll add a custom preprocessor where you can define a threshold for the detection - it's used in a few other places, just search the codebase for 0.001 and look for comparisons.

      There was another related thread a few weeks ago about the AHDSR silence threshold so maybe it might be a good thing if this was customizable without hacking in the HISE Source code.

      T 2 Replies Last reply Reply Quote 1
      • T
        tomekslesicki @Christoph Hart
        last edited by

        @Christoph-Hart thanks so much, I'm going to check this later today!

        And I'm all-in for customizeable silence thresholds!!!

        1 Reply Last reply Reply Quote 0
        • T
          tomekslesicki @Christoph Hart
          last edited by

          @Christoph-Hart I noticed you just added the HISE_SILENCE_THRESHOLD_DB preprocessor, thanks! :-) Could you please tell me about the value logic? For example, if I'll build HISE with:

          HISE_SILENCE_THRESHOLD_DB=100
          

          the threshold will be set at -100db, or should I rather build with

          HISE_SILENCE_THRESHOLD_DB=-100
          

          instead?

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey
            last edited by

            b6fad775-ba2b-41ef-a6b2-2de9858b8958-image.png

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

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

              This is in the comment of the preprocessor:

              but you can override this (as a positive value, it will calculate the gain factor by taking the
              number as negative dB value and convert it to a gain factor)

              But it doesn't use this value for the crossfade detection (I've still hardcoded the -80dB) there, so you don't need to change this preprocessor to fix your issue.

              Edit: Dave was faster :)

              T 1 Reply Last reply Reply Quote 1
              • T
                tomekslesicki @Christoph Hart
                last edited by

                @Christoph-Hart @d-healey thank you!

                I just tested the latest commit and it's indeed way better, but I'm still getting a bit of the buzz when the envelope gets to the curved part (so when the modulation slows down). Could you please bring it down a little bit more, or add the xfade threshold as a preprocessor so I can experiment with this myself?

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

                  @tomekslesicki you can just change the location I modified in the commit and use an even smaller number above zero, then let me know what you end up with :)

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tomekslesicki @Christoph Hart
                    last edited by

                    @Christoph-Hart well, that was a logical answer :D I built a couple of versions with different values and 0.00000000001f works prefect for all buffer sizes.

                    d.healeyD 1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @tomekslesicki
                      last edited by

                      @tomekslesicki said in High-pitched noise with RR group XFades with low buffer sizes:

                      0.00000000001f

                      That's some precision!

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @d.healey
                        last edited by

                        0.00000000001f
                        

                        haha this is basically zero with the single precision resolution of seven digits... You're effectively just deactivating the logic that will save you CPU cycles when there is nothing going on in the modulation signal.

                        I guess I'll rather make a preprocessor like HISE_ENABLE_CROSSFADE_MODULATION_THRESHOLD and if that is set to true, it uses the -80dB threshold that gets rid of most artifacts and if that's not enough for your particular project you can disable it entirely by setting this to zero.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          tomekslesicki @Christoph Hart
                          last edited by

                          @Christoph-Hart sounds like a good plan! ;-) By setting it to 0, you mean something like this?

                          HISE_ENABLE_CROSSFADE_MODULATION_THRESHOLD=0
                          
                          Christoph HartC 1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart @tomekslesicki
                            last edited by Christoph Hart

                            @tomekslesicki yes. Also you then can just leave it as default in HISE and just add that to your project definitions (if you can live with the low artifacts at -80dB during development), this way you don't have to edit the source code at all.

                            T 2 Replies Last reply Reply Quote 1
                            • T
                              tomekslesicki @Christoph Hart
                              last edited by

                              @Christoph-Hart epic, thank you!

                              1 Reply Last reply Reply Quote 0
                              • T
                                tomekslesicki @Christoph Hart
                                last edited by

                                @Christoph-Hart we don't have this HISE_ENABLE_CROSSFADE_MODULATION_THRESHOLD yet, right?

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

                                  @tomekslesicki ah yes my goldfish brain with its limited attention span moved on to the next fancy thing…

                                  T 1 Reply Last reply Reply Quote 1
                                  • T
                                    tomekslesicki @Christoph Hart
                                    last edited by

                                    @Christoph-Hart if I could then send a little wish to that goldfish, I'd say that HISE_ENABLE_CROSSFADE_MODULATION_THRESHOLD would make me very happy ;-)

                                    d.healeyD 1 Reply Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey @tomekslesicki
                                      last edited by

                                      @tomekslesicki If the goldfish can grant wishes then I wish for more goldfish!

                                      Libre Wave - Freedom respecting instruments and effects
                                      My Patreon - HISE tutorials
                                      YouTube Channel - Public HISE tutorials

                                      Christoph HartC 1 Reply Last reply Reply Quote 0
                                      • Christoph HartC
                                        Christoph Hart @d.healey
                                        last edited by

                                        @tomekslesicki There you go...

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

                                        28

                                        Online

                                        1.8k

                                        Users

                                        12.0k

                                        Topics

                                        104.5k

                                        Posts