By creating a single huge MP3 file and splitting it, you are working around the problem of this inserted silence. Each split point is made on an exact frame boundary, and there is no artificial silence inserted at the beginning and end of each track.

There is still a drawback to this method, though, because the frames are often interdependent, relying upon a feature known as a "bit reservior" that stays active between frames. Decoders empty this bit reservior between files, which is the correct thing to do if the files weren't meant to be played in sequence.


Hmm, so what if you store the bit reservoir at the split point into an id3v2 tag of the next track? Then the decoder could prime it from there if it needs to play the tracks out of order. Just a thought - don't know much about the nitty-gritty details myself.

Borislav