Naive question about MP3s (i.e. continuous signal transformed into a disrete one)

As I understand it (and that ain’t saying much), the typical sampling rate used to create an MP3 file from a continuous or analogue signal, is 44,100 Hz.

Assuming that you had the necessary computational power, would there be any gain to the apparent signal quality by interpolating between adjacent samples? I suppose the easiest way to do this would be to calculate the interpolated “sample” simply by using the mean value, at all ‘relevant’ frequencies, of adjacent samples (thus winding up with a signal that’s effectively 88, 200Hz) .

Alternatively, but more complex, would be to interpolate after taking into account, not just the values, but the trend of the values of samples over some range before and after the adjacent samples. In addition to taking into account the trend, I can imagine a technique to calculate interpolated “samples” by also using some sort of weighting method (wherein the closer in time a sample is to the adjacent samples of interest, the more its values would contribute to the interpolation).

Although computationally demanding, interpolating in some way would seem save bandwidth. Is it being done?


Not sure what you are trying to accomplish.

First of all MP3 are compressed with a “lossy” compression scheme - if you are really interested in HiFi, you need to use a file format that retains all of the sampled information, like AIFF.
Secondly, if you are going to be listening to this information, most people can’t hear past 15kHz, let alone 20kHz (and there isn’t much information up that high anyway), so sampling past 44kHz isn’t going to buy you very much.
Thirdly, the output is already interpolated between samples by the output filter…

Well, beowulff said everything that needed to be said, but I’ll say it again, anyway.

What gave you the idea that existing playback schemes do no interpolation at all? Why would they be so naive?

Besides, the creation of MP3s does involve throwing away information from the original straight-up sampling, with playback involving reconstructions from the information that has actually been kept, based on various heuristics, this process saving bandwidth. That’s the whole point of lossy compression.

Do keep in mind that you can’t actually pull out more information from a datafile than is actually present in it. The reason MP3s works is because most of the information in a straight-up collection of samples of audio is information which makes little difference to human audio perception, and so can be pretty safely discarded. It’s not as simple a matter as, say, throwing out every other sample (it could be something like “Reduce the number of bits devoted to describing such and such a frequency when it’s played at a volume where it would be drowned out by this other frequency playing at a higher volume”), but it is something similar from a high-level, information-oriented point of view.

Unless I’m mistaken, you’re describing upsampling.

(And also, I should say, because there isn’t as much true information in your average straight-up collection of samples as you might naively think, because there are so many redundancies, in the sense that descriptions of one sample can largely be predicted from descriptions of other surrounding samples. So that even lossless compression of audio samples can be done (e.g., FLAC). Of course, these redundancies were your whole point, of course. But MP3s already take this sort of thing into account; that’s their whole point.)

Does MP3 store the samples of the signal itself, or does it store the Fourier transforms of the signals? For most sounds of interest (especially music), I would expect the Fourier transforms to be much sparser, and therefore easier to store. Generally, you don’t want to do interpolations on a Fourier transform: Instead, you assume that anywhere that the transform wasn’t sampled (or the sample stored) that its value is zero. This will result in a very smooth signal once you transform it back, since it’ll be entirely composed of sine waves.

Obligatory Wikipedia link:

Thanks for your explanations (and patience). I told you I was naive!