A lot of people use some mp3 files right now. I decided to take a look at a spectrum analysis of a sound file at different bitrates. The result is really something, I doesn’t expected..
The original wave file is a radio (FM) recorded… I chose this one, cause this radio have a big noise on the upper part of the spectrum.
b = 128
b = 192
b = 224
What we clearly see, it that mp3 encoder (lame here) use a expander, and this is quite a good stuff. I think I should have normalized the input.. but..
After that point, we clearly see it cuts the around 16Khz, I know that my computer system isn’t able to achieve this level, but my stereo system can.
First results show that Ogg give a better results but this is for a future post.
The spike at 19Khz is the stereo pilot tone. It should go away if you switch to mono, but you will obviously lose the stereo sound!
Yes, that’s right. I spend a little time on this, wondering what it is, mainly cause I found some screenshot on the net.. saying that FM is "pure" until 21Khz .. but I found this: http://tinyurl.com/25mddu. So the 19Khz spark is normal :)
When you say "we clearly see mp3 encoder uses an expander" — how is this clear?
Regarding the "content" above 16kHz — whether your stereo can reproduce this or not isn’t really that relevant. Say there is actual content there, at the -60dB level in these frequencies it is likely inaudible. (Considering that the median threshold of hearing at 1kHz is about 2dB SPL, at 4kHz about -5, and at 15kHz its about 26dB SPL).
But in any case, FM requires +- 4kHz guard band around 19kHz. The "content" you are seeing there is probably an artifact of how the spectrogram is calculated, rather than actual content — given that the time windowing function leads to "spectral smearing" in the picture.
As to Ogg giving better results — I’m not sure how looking at spectograms is useful for such a debate. The object of perceptual coding is not to produce something that looks the same on a spectrogram as the original — but which sounds the same. While at the same time you’re trying to minimize the number of bits transmitted and the encoding and decoding speed (so out of all these dimensions, there are really many different ways to define "better").
If one coding technique discards high-freq inaudible material, and another keeps (or introduces new) high-freq inaudible material, arguably this really means nothing ;)
«… I’m not sure how looking at spectograms is useful for such a debate. The object of perceptual coding is not to produce something that looks the same on a spectrogram as the original — but which sounds the same. …»
Well, if spectogram is different, then we know that sound wasn’t properly encoded, therefore it couldn’t have been properly played.
At other side, spectrogram likeness is required but not sufficient.