HISE Logo Forum
    • Categories
    • Register
    • Login

    FFTW

    Scheduled Pinned Locked Moved General Questions
    12 Posts 4 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
      last edited by

      Yes and the convolution library I am using already has a FFTW wrapper, so the integration is trivial however IPP fully meets my current requirements so I didn‘t bother yet.

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

        @christoph-hart I noticed a switch in the projucer to use FFTW, will enabling that do the trick? Or is the more behind the scenes stuff you'd need to do?

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

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

          Hello past Dave. I finally decided to flick that switch and see what it did, I also needed to include AUDIOFFT_FFTW3=1 in my extra definitions. Build worked and I suppose I now have faster FFT that before... :)

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

          Casey KolbC 2 Replies Last reply Reply Quote 1
          • Casey KolbC
            Casey Kolb @d.healey
            last edited by

            @d-healey Whoa! What??

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

            1 Reply Last reply Reply Quote 0
            • Casey KolbC
              Casey Kolb @d.healey
              last edited by

              @d-healey Have you noticed a difference?

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

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

                @Lunacy-Audio Not yet, I haven't tested it :) I never noticed any issues using the fallback (KISSFFT) but I'm working on a project that will have a bit more FFT stuff in it so I figured I should go for the best available.

                FFTW3 is only suitable if you'll be releasing your project under the GNU GPL, otherwise stick with IPP or KISSFFT. Also the analyser won't work without IPP still.

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

                NatanN 1 Reply Last reply Reply Quote 1
                • NatanN
                  Natan @d.healey
                  last edited by Natan

                  @d-healey Sir Can You Give A Quick Guide So Ee Can Check How To Run Our Projects Under This FFTW3?
                  What Changes Needed?

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

                    @Natan I enabled the JUCE_DSP_USE_SHARED_FFTW flag and added AUDIOFFT_FFTW3=1 in the extra definitions. If you're not on GNU/Linux you'll probably need to install FFTW3 on your OS and use the JUCE_DSP_USE_STATIC_FFTW flag instead. You'll possibly also need to add some header and library search paths and linker flags.

                    0404cead-89e4-45a9-9be8-2482067fc03e-image.png

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

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

                      I'm afraid this won't help too much because I don't use the JUCE FFT wrapper

                      However there is a preprocessor macro that directly targets the FFT algorhitm used by the convolution. Try defining AUDIOFFT_FFTW3=1 and check whether it improves the performance. AFAIK the library picks the best available routine, so it should pick FFTW over Ooura or KISS FFT as soon as you compile it with this flag enabled.

                      EDIT: Just read your last post properly, the AUDIOFFT_FFTW3 flag should do the trick...

                      1 Reply Last reply Reply Quote 1
                      • NatanN
                        Natan
                        last edited by

                        @d-healey Sir, Are you seeing a big difference After using FFTW3, For example In Convolution Reverb,
                        And I read that you mentioned We still Need IPP, So Can both work together?

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

                          FFTW is only an option if you publish your work under the GPL3 license (also if you have IPP available you won't see any performance benefit).

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

                          15

                          Online

                          1.8k

                          Users

                          12.1k

                          Topics

                          105.5k

                          Posts