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.
    • ?
      A Former User
      last edited by

      JIT lets you operate on the audio buffer directly so unless that functionality is removed from HISE completely (doubtful), any custom stuff we write now can be ported over to the new version (the actual algorithms aren't going to change any time soon).

      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.

      ustkU 1 Reply Last reply Reply Quote 1
      • ustkU
        ustk @A Former User
        last edited by

        @iamlamprey yeah youโ€™re right, unfortunately I didnโ€™t get very far, Iโ€™m waiting for the library to work so itโ€™ll be easier to implement

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

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

                                            23

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts