Sorry for my documentation spamming but I must also ask this:
While searchng for a general FFT method in Essentia.js (not finding it specifically for *.js) I found the FFT algorithm in the upstream Essentita Algorithm Reference. However I'm puzzled by the terminology. It says: "This algorithm computes the positive complex short-term Fourier transform (STFT) of an array using the FFT algorithm."
But a STFT (Short Term Fourier Transform) will not produce one single vector with FFT-values as presented here but a vector of vectors of FFT:s. Each corresponding to one analysis window. Also you would expect to be able to set hop-length and window-function when calling an STFT.
Here's an example in Python from Librosa.
Why are you calling a regular single FFT STFT in the documentation? Is this related to some specific usage case I'm missing?
Also, I might take the opportunity to ask if there's no FFT (or STFT) in the js-version? Spectrum covers most cases but not if I want to extract phase.
What is the issue about?
What part(s) of Essentia.js is involved?
Description
Sorry for my documentation spamming but I must also ask this: While searchng for a general FFT method in Essentia.js (not finding it specifically for *.js) I found the FFT algorithm in the upstream Essentita Algorithm Reference. However I'm puzzled by the terminology. It says: "This algorithm computes the positive complex short-term Fourier transform (STFT) of an array using the FFT algorithm."
But a STFT (Short Term Fourier Transform) will not produce one single vector with FFT-values as presented here but a vector of vectors of FFT:s. Each corresponding to one analysis window. Also you would expect to be able to set hop-length and window-function when calling an STFT. Here's an example in Python from Librosa.
Why are you calling a regular single FFT STFT in the documentation? Is this related to some specific usage case I'm missing?
Also, I might take the opportunity to ask if there's no FFT (or STFT) in the js-version?
Spectrum
covers most cases but not if I want to extract phase.Steps to reproduce / Code snippets / Screenshots
-
System info
not system related, Essentia.js 0.1.3