Where does it come from that the sharpness of the display decreases when you increase the FFT size? I always thought that the higher the FFT size, the finer the displayable gradations should be.
I just fiddled with FFT size and didn’t notice any difference in display sharpness after I raised the FFT value.
FFT is a strange thing. powerfull, certainly. very powerfull. but in ‘code’, math, and i am not an expert, i ask developers, how things work, they reply… and read about it…
FFT window size, it is also explained in the manual, because it is very important (and underlying for each sample there are 4 FFT blocks, or something like that, that overlap, so a lot of info, that represents the audio, and all must be interpreted for the situation, or use);
a bigger window size; as it stated in the manual how more frequence resolution you get, but you will loose time resolution, in the manual it stated -i repeat-, tonal parts are presented better, but transients less.
a smaller window size, better representation of transients (time), lesser representation/resolution for tonal (frequency).
this trade off is inherent to FFT. only experts or very acadamic theorists, perhaps, can solve this. or not.
you must see a different ‘sharpness of display’, with each FFT window size, i.e. the size of how many samples FFT uses.
therefore SpectraLayers has Resolution and Refinement. to increase ‘sharpness’, again it is a representation, and it depends on your needs and goals, how set these settings.
resolution, if i am right, introduces some ‘artefacts’, or was it refinement.
i am not very clear, i know. i try to write this, with all i understand, without consulting the doc’s i have. or info…
but the bottom line: increasing FFT window size does increase resolution, or sharpness, for tonal/frrequency parts, but it does not look sharp…, and decreasing, decreases resolution for tonal but increases resolution for time/transients.
it is more a ‘resolution’ thing, than about sharpness.
resolution, well perhaps @Robin_Lobel can explain it better than me.
some inside of the working of FFT, even if don’t understand it all, what is under the hood, helps me to work better with for instance SpectraLayers.
but as stated, in the manual, the info is perhaps enough, to get what you are seeing.
i repeat FFT is very powerfull, i like to read about it, but it is d*mned complicated, even if the basics are understandable, what is going on under the hood, for instance you can choose the ‘envelope’ for each bin, in SpectraLayers, blackmann-harris, etc. that also has influence how a shape looks like, and those envelopes, overlap, and you have 4 overlapping FFT thingies… and now i am lost…
so basically spectral or FFT (spectral can be done without FFT, there are other ways, but give other results;) it is always a representation, with trade offs.
for instance Serum (don’t own it, i have another wavetable synth that suits me, or more…), to name the most known one, or Vital, also known.
it is known it uses 2048 samples for each single-cycle slot, and has max of 256 slots for a wavetable.
(it can get higher, amount of samples, but… o well).
if you look at the wavetable editior, you will see half of them, or better 1024 bin’s, with amplitude, frequency (it’s place…) and phase, a bin is a partial (simply said) and a partial is a sine wave.
FFT breaks down every sound to sine waves…
and yes you see 2048 samples, which means that you can have a octave range of… i don’t know out of my head, but in the editor 1024 bin’s. so there it starts. and what is under the hood, is more complex.
i hope someone can explain it better, because if you know it more inside out, you don’t have to remember it all, to reproduce it. you see that i reproduce it quite badly…
but it gives you more control over what you are doing. in the end. i notice myself.
i shall quote a developer for Voltage Modular, Nekomatic;
" Larger windows → more resolution in frequency domain but harder to compute so less samples taken time. smaller windows → worse frequency domain resolution but less to compute so samples can be taken more often
in practice every sample belongs to at least two separate FFT analysis
FFT is usually computed in 50% overlapping blocks, for re-synthesis more likely 75% overlap so each sample belongs to four FFT blocks
by increasing window size w can compute FFT less often so on average the the same amount of computation is necessary"
you see, it is quite a domain. with trade offs, for real time, less for offline, like SpectraLayers, but still FFT is an interpretation, a quite good one, and it can do a lot, but it has limits, limits that you can break through, by using another ‘envelope’, strangely it is really called a 'window , FFT size, resolution and refinement. but at some cost, also resolution is a trade off, and refinement?
sorry if my answer is blurred… i am trying to understand it all… not to make my own FFT code, but to understand what is going on, what can you do with it.
Thank you for the detailed explanations.
I had not been aware of the difference between tonal and transient resolution until now.
I think I have understood it now. Thanks also for the link to the Steinberg explanation. The explanations are in English, but I still understood them to a large extent.
from curtis road’s microsounds:
“As a preparation for spectrum analysis, the STFT imposes a window upon theinput signal. A window is nothing more than a simple amplitude envelope. Windowing breaks the input signal into a series of segments that are shaped inamplitude by the chosen window function and bounded in time according tothe length of the window function. In audio applications, the duration of thewindow is usually in the range of 1 ms to 100 ms, the window envelope is bell-shaped, and the segments usually overlap. By analyzing the spectrum of eachwindowed segment separately, one obtains a sequence of measurements thatconstitute a time-varying spectrum.” (page 246)
in one thread about pitch shifting vocals;
you also use a resolution setting, is the resolution setting more overlapping segments/windows??
it seems the resolution setting also effects the result??? not mentioned in the manual.
i try to understand it, i can follow what curtis road writes. but to reproduce by heart, i can not.
i think it perhaps important to know more what is under the hood, for a better understanding of what one can do in SpectraLayers, and how to inteprete.
curtis road goes further, with Phase Vocoders, and ends (not really) with Metasynth. a quite different approach or not?
drawing a harmonic, with 5 harmonics on top… wel… o well not to the point at this moment…
the FFT size; a FFT size of 4096 (for example) means N/2 bin’s, N is the sample rate, only half of the samples is used, because of Nyquist. so for a FFT size of 4096, 2048 bin’s are used, with amplitude, frequence and start phase (of the sine). the others are ignored.
curtis road also states that a higher sample rate, does not increase frequency resolution, which now i write, is completely understandable, for me now, tomorrow not.
i am an enthuastic student, and when i know more about how something works under the hood, and even if i understand weakly, or just… i can incorporate it, and master a program or synth better.
(i found this in microsounds, because of my great interest in granular, and i have a great interest in spectral, there is a chapter about it, i didn’t notice it before, because, this book, was out of my league, but i can read it now, still above my paygrade, but more accessible. perhaps i dive to deep, and just must do things. but i do! but deep diving, gives me also results, better results…
so maybe not the best book about STFT/FFT/PV etc. or maybe it is a good intro for it…)
o yes, from the quote above:
" A window is nothing more than a simple amplitude envelope.",
the blackman-harris, hanning, etc. options. indeed changes a spectrogram, more visible i feel in a spectroscope, you see different results. but i don’t really have worked with different ‘windows’, because they are sometimes also called windows. all those therms, or jargon…
the amplitude shape can give different results. visually but also audible??
i hope i more clear now…
This National Instruments article could be useful - Understanding FFTs and Windowing
The language is clear as are the graphics. There’s a section (p11) that matches window function with various frequency content characteristics.
thanks! great info about windows, and their effects/results… and uses!
Raymondo, this National Instruments’ article you shared is superb. A great find.
Haven’t finished it, but had to come to show my gratitude.
A must read for those like Howl here with whom I share the need to understand better what the tool one uses, does. In his words; “when i know more about how something works under the hood, and even if i understand weakly, or just… i can incorporate it, and master a program or synth better.”
It looks like now I understand the process at a level that memorizing is not needed. Particularly in its depiction of “windowing”; why is there and how is implemented/*1 and its effects. Now there is a more coherent framework where to relate our practical usage cases.
*1/ Rather funny that the same fade in-fade out method is still being utilized to rapidly work with fractured waves. That has been my exact solution at many practical cases from the early years using SoundForge… and even today!
One would expect that a more “intelligent” process, even a variable rate one, would look for better waves’ fit, so to avoid out of zero crossings, despite the fact that it would need to keep track of the time alignment/position while doing that.
For sure there already exist better ways to do windowing in waveform analysis (DFT/FFT), one guesses.