Exporting FFT hz/db data --- is this possible?

Before I go through the effort of learning JUCE I’m wondering if the following is possible.

I would like to have a DAW plugin that listens to playback and exports the FFT data points to a .csv. The data format would be frequency hz and maximum dB (not average dB) of each FFT bin. I’ve read the JUCE FFT class reference documentation and would like to know:

Is this plugin possible?
Are there limits to the FFT size?
Is a windowing function possible and is it complicated?

Very much thanks in advance !

This all sounds doable. However, you’ll need to write the window function code yourself. Also there is no direct support for csv files in JUCE but that simple enough to implement with JUCE’s String and StringArray classes. Let me know how you get on!

You have all the formulas for the classic windowing functions just here if you need :

You have the Hanning ones there for example. You just need to apply that to your time domain signal before the FFT.

I’ve implemented most of the dsp windows found on the wikipedia page here, if you’re feeling lazy:
https://bitbucket.org/Mayae/cpl/src/master/dsp/DSPWindows.h

1 Like

I really appreciate the responses everyone, thank you.

I’ll report back if I figure this out but it seems to be a bit over my head.