The spectrum analyser visuals are based on a linear fourier transform - The response of each 'spike' is therefore linear from about 40Hz at the lower end to 20kHz at the right hand side.

The loss of accuracy in the upper frequencies is certainly due to your mp3 compression. Later versions of the software will allow you to play wav files through your empeg, and therefore test the response of visuals without compression losses and artefacts.

Later versions of the software also include an improved fourier transform with a custom designed window that reduces the 'bell-curve' effect (although this is practically impossible to eliminate totally, and debatable whether it should be).

Looking at the 128 point fourier transform you will notice that treble response is actually very good, it is bass that is the problem >> Only the first 8 or so bins are used to represent frequencies from 40Hz to 320Hz, this is not nearly enough, and you'll notice that the lower end of the plot responds poorly with the average bin level being fairly high all the time.

I am currently working on an algorithm for calculating numerous linear fourier transforms and converting these into a single logarithmic transform. This will improve the bass response of the transform expanding it by around 4 times.