I’m lunching this thread to propose to you to create some C++ classes that are used in common DSP spectral processing techniques for the DaisySP.
I know that i could use some classes from the Open Source Emilie Gillet code. And i have made this. But i think it will be much better to have at least an FFT class that performs FFT and inverse FFT directly on DaisySP + some other classes that performs common spectral processing algorithms like windowing and overlapping ( to the 4th order ) .
Maybe on the box phase vocoder class and maybe a spectral envelope class ( an envelop that could apply processing to a set of bins ) and maybe in a later stage a spectral reverb/delay that could use this envelop class.
It will be great to have those classes natively in the DaisySP and adapted to the ARM cortex that the Daisy-seed or daisy patchSM uses.
( this will give us more flexibility and clarity on our spectral processing algo’s ).
Please let me know what do you think.
All the best.
Thank you for your response I know this thread and I have already used code from other libraries this is what I’m saying in my post and I’m able to run fft on the Daisy
But here I’m pushing the thing more
I’m hoping that we could make a spectral processing classes that are part of DaisySP tailored and tested for the daisy’s microcontroller with some educational content for users starting to code DSP
Please take a look at the educational content on this subject from the Bela platform Block-based Processing - The Bela Knowledge Base
And the good think here is that they have spectral processing classes implemented for their platform ( they uses a slightly different ARM CPU the NEON SIMD ones so their fft implementation is adapted for that ARM CPU )
Hope we could achieve some work like that for the Daisy
All the Best
Thank you for your feedback. Yes, I also would love to see FFT documented more and resources (tutorials and codes) be provided. I have been meaning to bring this up to the team to see when we can get started on that
Thank you all for the wait!