Forum

    • Register
    • Login
    • Search
    • Categories

    [bug] High frequencies not passed by convultion at 44.1 and 48

    Bug Reports
    3
    8
    195
    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.
    • T
      tomekslesicki last edited by tomekslesicki

      I'm working on an EQ / filter thing that uses convolution for some processing. I noticed that if the IR affects the top end only (so no bottom and no mid left after processing, just 3kHz and higher frequencies), the convolution effect will render it as silent. On 88 and 96, it's perfect.

      Now, the problem is that calling

      Engine.setMinimumSampleRate(100000);
      
      or
      
      Engine.setMinimumSampleRate(96000);
      

      doesn't solve this. It's not solved by using an oversampling node either. I tested both the new dynamic oversampling and all the static ones and the results are the same.

      I also checked if it's not caused by the volume difference between sample rates and convolution reverbs that was reported a while back and no, it's not - inserting a gain node and boosting the signal either before of after the convolution doesn't help either so I think that convolution simply doesn't seem to process higher frequencies at lower sample rates?

      This is both on the convolution fx and scriptnode, but I guess they use the same code. And both in HISE and exported plugins.

      IPP is disabled.

      @Christoph-Hart - is there a chance of fixing this? Or do you have any idea for a walkaround? I'm using oversampling anyway so I'm good with more CPU use but I just can't seem to force the engine to run at 88 or 96 at all times.

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

        @tomekslesicki Did you enable IPP for the exported plugins? Unforunately IPP causes the distortion of the high frequencies with the convolution engine.

        Try to export the plugin with IPP disabled.

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

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

          @orange no, I’m not using IPP for this very reason 🙂

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

            A little more info: it doesn’t matter what the sample rate of the IRs is, whether they’re mono or stereo and if they were normalized or not.

            If the IR leaves only frequencies above 3K (so after the IR, everything below that is erased), when the sample rate is set to 44.1 or 48, it will result in silence. 88 and 96 work properly.

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

              @tomekslesicki Please send me the IR, then I'll take a look. I'm not doing anything special with the convolution so not sure what could cause this.

              Does it work in other convolution engines?

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

                @Christoph-Hart hey Christoph, I just sent you an email, thanks! It works fine in Ableton's convolution, regardless of the sample rate of the project.

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

                  @Christoph-Hart is there any hope?

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

                    @tomekslesicki There's always hope...

                    In this case your impulse response was just too short, so the convolution engine refused to load it - it actually had nothing to do with the sample rate or frequency response (or at least not directly - with lower sample rates the impulse response was resampled to have less samples than the audio buffer size and this is where the engine thought to call it a day and just not load it).

                    It should be fixed now, but please check if this is the case - it's a very minimal effort fix 🙂

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

                    25
                    Online

                    1.1k
                    Users

                    6.8k
                    Topics

                    62.5k
                    Posts