FFT iteration

vspandagos
vspandagos Member Posts: 2 Newcomer
edited September 2023 in Building With Reaktor

Hello there, I am a new Reaktor user. Recently I downloaded a course about FFT from ADSR and had the chance to work with the EZFFT modules. Obviously, there is iteration in these modules as the output of the index port sends all bins (up to 512 bins) information at once on every sample clock tick. I know about the iteration module in primer, but I don't think this module can work so fast. I red that this kind of iterations is common in core and searched in every NI core manual available on the net but could'nt find sufficient information on the subject. Is there any related topic or example that I can study to start understanding this concept?


Thank you!!!

Comments

  • colB
    colB Member Posts: 755 Guru

    There is no iteration in core - we've been asking for that feature for many years. Usually folk either use unrolled loops, or generate a stream of 'iteration' events in primary and pipe them into core (that's how the partials framework iteration library works).

  • colB
    colB Member Posts: 755 Guru

    Here's an example of an unrolled loop in EZFFT:


  • vspandagos
    vspandagos Member Posts: 2 Newcomer
    edited September 2023

    Thank you colB for your reply. Is it possible to use the iteration module in primary and have it start iterations on every clock tick and if so what would be the triggering event?

  • colB
    colB Member Posts: 755 Guru

    I would advise you to work on some more basic stuff first to get a better feel for how the event system works, and the differences between Primary and Core layers before you get involved in trying to hack iteration between primary and core.

  • ANDREW221231
    ANDREW221231 Member Posts: 294 Advisor

    a little late to this but if you're still curious it is indeed possible to use iteration in combination with FFT


    previously the only example i was aware of was driven by a clock triggered primary iterator and was pretty complex in a not too user friendly way


    however i found out its not too difficult to achieve something with a pretty similar result, in allowing a higher overlap than would be possible only using the sample rate clock


    basically it involves distributing the fft process over two core cells with primary iterators in the middle leading to a lightly modified instance of the FFT output read array


    Obviously, there is iteration in these modules as the output of the index port sends all bins (up to 512 bins) information at once on every sample clock tick. I know about the iteration module in primer, but I don't think this module can work so fast.

    basically, no. what you're talking about is using the sample rate clock itself but no iteration. using iteration here means the iterator is triggered once every 512 samples when the index reaches 0, sending a bunch of events instantaneously but way less often

    anyway went looking for the working version i made but couldn't find it. wouldn't be too hard to build again but i'll hold off for now pending an indication this is something you'd still hope to seek

Back To Top