For a visual representation of sound energy in different frequency bands it is necessary to transform the digital time domain audio signal into the frequency domain using a mathematical method: the Fast Fourier Transform (FFT). We will not explain the details here – the algorithm is well known and found in many publications and in Wikipedia as well. We will consider only a few aspects of the processes involved.
Digital audio data is represented in samples. The sample rate describes the number of samples which represent 1 second of audio, e.g. a sample rate of 44100Hz means that you need 44100 continuous samples to represent 1 second of your audio signal. The FFT works on blocks of samples which are power of 2, i.e. 256, 1024, 2048 samples coming up to 5.8ms, 23.2ms, 46.4ms at a sample rate of 44100Hz. Each “point” of the FFT represents the energy of a frequency range. Those ranges are linearly distributed over the entire range (0 – 22050 Hz @ 44100Hz sample rate). In our example with 256 points this would mean: the first FFT point represents all the energy between 0 and 172.3Hz whereas the last FFT point represents the range between 21878Hz and 22050Hz. The human perception of sound energy is logarithmic on the frequency axis. This means that the resolution of the lower frequencies computed with a narrow FFT block size is very unsatisfying because it leaves great gaps in the spectrum! One could argue that the solution to this problem is a larger block size like 65536 samples. Indeed this leeds to a FFT resolution of 0.67Hz per point which is quite satisfying. But: 65536 samples represent almost 1.5 seconds of audio! Despite the computational efforts there is no chance to get details on fast changes of the signal like in transients!
This relation between FFT block size and frequency resolution is the reason for the gaps in the Analyzer’s frequency view at lower block sizes. The shorter the block size the wider the gaps in the lower frequencies – we decided to leave those gaps as they are so you can always see how exact your analysis can be.
For further inside of the relation between block size and frequency resolution we can recommend this: http://en.wikipedia.org/wiki/Short-time_Fourier_transform
The FFT algorithms are based on periodic signals. A block taken out of even a periodical signal is not periodic – the FFT produces frequency leakage. To reduce this problem a window function is applied before calculating the FFT. This window “sharpens” the spectrum but may result in amplitude errors. Depending on the characteristics of the signal and the desired focus in the spectrum there are many different window functions. The Analyzer offers 6 of the most commonly used ones.
Here you can see the effects of different window functions on a 1000Hz sine: