HISE Logo Forum
    • Categories
    • Register
    • Login

    Oversampling on convolution reverb

    Scheduled Pinned Locked Moved General Questions
    31 Posts 8 Posters 2.0k 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.
    • lalalandsynthL
      lalalandsynth @tomekslesicki
      last edited by

      @tomekslesicki i am very interested in this as well , i did see a discussion about sample rates changing the volume of the reverb as well, not sure if that was resolved ?

      https://lalalandaudio.com/

      https://lalalandsynth.com/

      https://www.facebook.com/lalalandsynth

      https://www.facebook.com/lalalandsynth

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

        Yeah, I've seen every thread that contained word 'convolution' by now. It's just that there seems to be no solution. @Christoph-Hart ?

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

          Ok, I think it has to do something with IPP. When I build HISE without it and then compile the plugin it seems to work fine.

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

            Can you send me the IR in question? IIRC @hisefilo also had a certain impulse response that triggered some issues with the first frequency bin in the FFT.

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

              @Christoph-Hart Choosing Ooura FFT this fixed that issue. I can remember

              // oninit
              
               const var ConvolutionReverb1 = Synth.getEffect("Convolution Reverb1");
               
               // Set the FFT type
               // 0 = best available
               // 1 = IPP
               // 2 = Apple Accelerate
               // 3 = Ooura FFT (slower fallback, but most portable)
               ConvolutionReverb1.setAttribute(ConvolutionReverb1.FFTType, 0);
              
              lalalandsynthL 1 Reply Last reply Reply Quote 3
              • Christoph HartC
                Christoph Hart
                last edited by

                Ah nice, so I didn't fix the IPP version back then :)

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

                  What about adding KISSFFT?

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

                  1 Reply Last reply Reply Quote 0
                  • lalalandsynthL
                    lalalandsynth
                    last edited by

                    Is the convolution set to 0 " best available" as default ?

                    https://lalalandaudio.com/

                    https://lalalandsynth.com/

                    https://www.facebook.com/lalalandsynth

                    https://www.facebook.com/lalalandsynth

                    1 Reply Last reply Reply Quote 0
                    • lalalandsynthL
                      lalalandsynth
                      last edited by lalalandsynth

                      Verfied , have aliasing here as well....maybe !

                      Although not sure that is aliasing I am at 96k and that makes no difference, guess I need to try another export with the Ooura ?
                      I dont get that 20K spike when using the same impulse in other reverbs
                      Impulse.jpg

                      https://lalalandaudio.com/

                      https://lalalandsynth.com/

                      https://www.facebook.com/lalalandsynth

                      https://www.facebook.com/lalalandsynth

                      1 Reply Last reply Reply Quote 0
                      • lalalandsynthL
                        lalalandsynth @hisefilo
                        last edited by lalalandsynth

                        @hisefilo Are you referring to the aliasing issue by using Ooura ?
                        What does slower fallback mean and would you recommend just using the Ooura even though IPP has been recommended up to now ?

                        TESTING:

                        If i change the FFT type from 0, I lose the reverb and get some sort of room type doubling sound :)
                        Setting it back to zero does not help.

                        Setting it to 3 seems to get rid of most of the "Aliasing" , but I also lose the reverb so....hehe

                        MORE TESTING

                        Sine wave through Reaper Reaverb using my Impulse.
                        Sine 1.jpg

                        Same Sine , same impulse through my plugin.
                        Sine 2.jpg

                        I dont think its impulse specific as all my 90 impulses look like that .

                        Vocals through Reaverb.
                        Vocals.jpg

                        Vocals through my plug, same impulse.
                        Vocals 2.jpg

                        https://lalalandaudio.com/

                        https://lalalandsynth.com/

                        https://www.facebook.com/lalalandsynth

                        https://www.facebook.com/lalalandsynth

                        hisefiloH 1 Reply Last reply Reply Quote 0
                        • hisefiloH
                          hisefilo @lalalandsynth
                          last edited by

                          @lalalandsynth no aliasing on 0oura but IPP

                          Don't know details about the comments on the code I posted. It's old @Christoph-Hart magic! :)

                          lalalandsynthL 1 Reply Last reply Reply Quote 1
                          • lalalandsynthL
                            lalalandsynth @hisefilo
                            last edited by lalalandsynth

                            @hisefilo ok, but it does not seem to work for me , lose the reverb sound if I change the FFT mode.

                            I am going to test some more impulses , but I think its pretty clear that there is a problem.
                            My reverb plugin is just about ready :(

                            https://lalalandaudio.com/

                            https://lalalandsynth.com/

                            https://www.facebook.com/lalalandsynth

                            https://www.facebook.com/lalalandsynth

                            hisefiloH 1 Reply Last reply Reply Quote 0
                            • lalalandsynthL
                              lalalandsynth
                              last edited by

                              @Christoph-Hart

                              Any chance to get a fix for this?
                              Was planning an impulse reverb as my first release. :)

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

                              1 Reply Last reply Reply Quote 0
                              • hisefiloH
                                hisefilo @lalalandsynth
                                last edited by

                                @lalalandsynth an oversampled convolution node on scriptnode?

                                lalalandsynthL 1 Reply Last reply Reply Quote 1
                                • lalalandsynthL
                                  lalalandsynth @hisefilo
                                  last edited by lalalandsynth

                                  @hisefilo Oh, that is possible , does it behave in a similar way in terms of loading impulses etc or do I have to do everything over ?

                                  Will check it out.

                                  https://lalalandaudio.com/

                                  https://lalalandsynth.com/

                                  https://www.facebook.com/lalalandsynth

                                  https://www.facebook.com/lalalandsynth

                                  lalalandsynthL 1 Reply Last reply Reply Quote 0
                                  • lalalandsynthL
                                    lalalandsynth @lalalandsynth
                                    last edited by lalalandsynth

                                    @lalalandsynth Quick test and that seems to work to get rid of the aliasing!
                                    8x oversampling, maybe even 2 x would be enough , now I just need to find out if I can replace those impulses on the fly or if the scriptnode impulse is meant to just sit there as an static impulse ?

                                    I suspect i cannot even get a reference for the Convolution Module in the scriptnode, is there some way to script the switching of impulses in scriptnode ?

                                    I can export the Convolution module as ccp and make the changing of impulses public i.e create a meta node but unsure of how to include the oversampling in that ?

                                    Man..if there was only a knob for the index.....sigh .

                                    https://lalalandaudio.com/

                                    https://lalalandsynth.com/

                                    https://www.facebook.com/lalalandsynth

                                    https://www.facebook.com/lalalandsynth

                                    1 Reply Last reply Reply Quote 1
                                    • lalalandsynthL
                                      lalalandsynth
                                      last edited by

                                      @tomekslesicki

                                      Check this out , seems to work .
                                      https://forum.hise.audio/topic/2652/scriptnode-oversample-node-starting-at-4x-crashes-in-pc/13

                                      https://lalalandaudio.com/

                                      https://lalalandsynth.com/

                                      https://www.facebook.com/lalalandsynth

                                      https://www.facebook.com/lalalandsynth

                                      1 Reply Last reply Reply Quote 0
                                      • lalalandsynthL
                                        lalalandsynth
                                        last edited by

                                        BTW, what does the "multithread option" do on the Convolution reverb ?
                                        Its not available on the Scriptnode Convolution so just wondering.

                                        https://lalalandaudio.com/

                                        https://lalalandsynth.com/

                                        https://www.facebook.com/lalalandsynth

                                        https://www.facebook.com/lalalandsynth

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

                                          It moves the convolution calculation into a background thread. It's not faster in anyway, but it won't increase the CPU usage of your audio thread, so if your main goal is to keep the CPU meter down, this is the key.

                                          1 Reply Last reply Reply Quote 0
                                          • Casey KolbC
                                            Casey Kolb
                                            last edited by

                                            @lalalandsynth Any progress on the aliasing? I'm experiencing the same issue. Setting the FFTType to 3 fixes it mostly, but also crashes my plugin and removes the reverb when MultiThread is active, which defeats the whole purpose. This is really making the convolution almost unusable.

                                            How have other people achieved good results with the convolution module so far? It seems almost too whack for production-ready plugins.

                                            Casey Kolb
                                            Founder & CEO of Lunacy Audio
                                            Composer | Producer | Software Developer

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

                                            11

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.3k

                                            Posts