Hacker News new | ask | show | jobs
by g_lined 4999 days ago
The difference in the signal in one channel will make the encoder throw away different parts of the audio compared to the other channel. This produces data loss in both the 'mono' portion of the signal and the 'stereo' part of the signal. So the 'mono' part of the signal (the vocal) ends up being different between the tracks since data loss is applied across the whole frequency range (or large chunks). Note that Joint Stereo has the same problem because the 'joint stereo-ness' only applies to the top part of the frequency spectrum.
2 comments

I don't understand what you are getting at. Typically MP3s use mid/side encoding, where the diffence between the channels is computed before the compression step.
Interesting point. Just to make sure I understand you correctly, you're saying that even in independent stereo mode, the fact that the two channels have a limited maximum total bitrate means that the encoder can and will trade off bits between the two channels in order to account for one channel or the other needing more data at any given time?

Seems like you could easily create an encoder that didn't do that, and just e.g. encoded each channel at 64kbps when a total of 128kbps is requested, but maybe none of the real-world encoders actually do this.

No, I think it's that even if each channel gets the same bitrate, if there's more "going on" in one channel than the other, there may be fewer bits to go around and that channel may have more qualitative loss. So if they both have the vocals equally, but one also has bass drum, the one with the base drum may lose more fidelity on the vocals than the channel with vocals alone.
Excellent point! I hadn't thought of that. It strikes me, then, that Joint Stereo would actually be better in this case, as it effectively encodes the mono signal and the L/R difference, which is what you're after anyway for this purpose.