HISE Logo Forum
    • Categories
    • Register
    • Login

    fft core library module

    Scheduled Pinned Locked Moved General Questions
    30 Posts 7 Posters 1.6k 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

      @iamlamprey said in fft core library module:

      I was just checking to see if you or anyone else was ahead of me in terms of writing your own FFT in a JIT node. If I finish mine I'll post it as a snippet.

      Well writing an actual FFT routine in JIT code is a bit ambitious (and there is no chance that the performance will be competitive to a statically compiled FFT routine from an industry standard library like IPP or Apples VDSP). There will be a wrapper for different FFT implementations and a common API that allows high-level usage of FFT tasks...

      ? 1 Reply Last reply Reply Quote 3
      • ?
        A Former User @Christoph Hart
        last edited by

        @Christoph-Hart said in fft core library module:

        Well writing an actual FFT routine in JIT code is a bit ambitious

        So it IS possible 😏

        Just messing around with it while I wait for the update

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User
          last edited by

          @Christoph-Hart Could you elaborate on "high-level usage of FFT tasks"?

          Mainly will we be able to analyze a signal and detect gains of specific frequencies?

          I have the most ridiculously sweaty idea for introducing RR functionality in a static sample using modal resynthesis and residue, both of which necessitate being able to identify the loudest frequency(s).

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

            With high-level usage I mean that you don't know how the FFT works, you just use it. Something like this:

            block b;
            SnexFFT fftObject;
            
            void prepare(PrepareSpecs ps)
            {
                fftObject.setImplementation(FFT::IPP);
                fftObject.setMaxFFTSize(ps.blockSize);
                fftObject.setScaleToNormalise(true);
                fftObject.setOutputFormat(FFT::Amplitude);
            }
            
            void process(ProcessData<2>& d)
            {
                // Transforms the first channel of the signal to the fftBuffer
                fftObject.forward(d[0], fftBuffer);
            
                int maxIndex = 0;
                int counter;
                float maxValue = 0.0f;
            
                for(auto& s: fftBuffer)
                {
                    if(s > maxValue)
                    {
                        maxValue = s;
                        maxIndex = counter;
                    }
            
                    ++counter;
                }
            
                double freq = (double)maxIndex / (double)fftBuffer.size() * nyquist;
            }
            

            All these methods are purely theoretical at the moment, but it will look something like this (so basically just a wrapper around the C++ FFT classes that HISE is already using).

            1 Reply Last reply Reply Quote 2
            • ?
              A Former User
              last edited by

              Sweeeet officially bought a ticket on the hype train

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

                The hype train just got a new logo:

                e19a0410-e0e0-42c2-93af-40a3d3a0883b-image.png

                Not using the circles as cable end points is such a missed opportunity that I don't know how I could have missed that in the past...

                ustkU hisefiloH orangeO 3 Replies Last reply Reply Quote 7
                • ustkU
                  ustk @Christoph Hart
                  last edited by

                  @Christoph-Hart Is the C a modulator or is it the P ???

                  Can't help pressing F5 in the forum...

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

                    It could also be a send connection:

                    9423811d-2f70-4802-ac04-392b6239d94a-image.png

                    Or a xfader connection:

                    45592296-305e-4fcc-9466-5bb921f0b959-image.png

                    Cables!

                    ustkU 1 Reply Last reply Reply Quote 3
                    • ustkU
                      ustk @Christoph Hart
                      last edited by

                      @Christoph-Hart Can’t wait for a t-shirt 😍

                      Can't help pressing F5 in the forum...

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

                        Good idea. The t-shirt will either have this logo or "Crashy, the scriptnode robot":

                        ccded5e0-8d86-45cd-9cb6-38709b8edbc5-image.png

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

                          @Christoph-Hart (scriptnode logo) love it!!!!!!!!! Really pro. Just try zooming out to see if small sizes are ok. Otherwise you can make a simpler version with just one wire..... Sorry.... Can't help. Worked in advertising for 20 years

                          1 Reply Last reply Reply Quote 2
                          • orangeO
                            orange @Christoph Hart
                            last edited by

                            @Christoph-Hart said in fft core library module:

                            The hype train just got a new logo:

                            e19a0410-e0e0-42c2-93af-40a3d3a0883b-image.png

                            Not using the circles as cable end points is such a missed opportunity that I don't know how I could have missed that in the past...

                            Scriptpiercer :)

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            Christoph HartC LindonL 2 Replies Last reply Reply Quote 1
                            • orangeO
                              orange @Christoph Hart
                              last edited by orange

                              @Christoph-Hart Looks (and I am sure it also sounds) Amazing! I really like it, congratulations, as always.. πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘

                              develop Branch / XCode 13.1
                              macOS Monterey / M1 Max

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

                                @orange said in fft core library module:

                                Scriptpiercer

                                NOOOOO! Now I can't unsee it.

                                1 Reply Last reply Reply Quote 2
                                • LindonL
                                  Lindon @orange
                                  last edited by Lindon

                                  count me +1 for a t-shirt -

                                  You always had this as a plan right? - make a truck of money from t-shirt sales and nearly nothing form the software?

                                  HISE Development for hire.
                                  www.channelrobot.com

                                  hisefiloH ? 2 Replies Last reply Reply Quote 2
                                  • hisefiloH
                                    hisefilo @Lindon
                                    last edited by

                                    @Lindon https://www.customink.com/products/t-shirts/4

                                    1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @Lindon
                                      last edited by

                                      @Lindon I thought the strategy was to become a guru and teach how to make money with software sales πŸ˜₯

                                      LindonL 1 Reply Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @A Former User
                                        last edited by

                                        @iamlamprey said in fft core library module:

                                        @Lindon I thought the strategy was to become a guru and teach how to make money with software sales πŸ˜₯

                                        thats all part of the grand lie that is HISE!! HA hA ! I a=have you now!! uncovered for the scoundrels you all are with your free fully functional software that I can use to make a living - all the while trying to get me to buy your lousy t-shirt!!

                                        HISE Development for hire.
                                        www.channelrobot.com

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

                                          @Lindon said in fft core library module:

                                          lousy t-shirt

                                          The T-shirt is just the beginning. My actual goal is a clothing line that takes over the entire fashion industry and I heard that creating a nerdy open source framework is a shortcut to get there faster.

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

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

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

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts