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.
    • LindonL
      Lindon @tomekslesicki
      last edited by

      @tomekslesicki there was a long discussion here about Convolution reverbs and sample rates - try searching the forum.. I cant recall who it was... sorry.

      HISE Development for hire.
      www.channelrobot.com

      1 Reply Last reply Reply Quote 2
      • 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
                                            • First post
                                              Last post

                                            25

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts