QUOTE (zZzZzZz @ Nov 12 2003, 08:21 PM)
[...]
"Gapless playback" consists of two parts:
1) Gapless decoding - lossy formats like MP3 store audio data in frames, which can't store entire audio CD track without either truncating last samples or adding extra null samples (total length must be a multiply of frame size, being fixed at 1152 samples for MPEG-1 layer 3); MP3 also suffers from encoder/decoder delay causing the decoder to produce additional null samples at the beginning of decoded stream. In order to correct this problem, lossy-encoded file needs to store two additional numbers - amount of samples to remove at the beginning of stream, and amount of samples to remove at the end of stream, then the decoder needs to take these nubmers into account. That's what this thread is about. LAME 3.90 and newer can store gapless playback info in LAME headers, and some players (like foobar2000) can play those files without encoder-added null samples at the beginning/end of file.
Another way to workaround gapless decoding is to write a DSP that tries to guess amount of samples that needs to be removed, but that method is simply unreliable and generally useless since players reading LAME header info exist (as well as tools to manually add gapless playback info to MP3 files that don't contain it).
2) Gapless output - many (mostly old) players have a design flaw requiring them to reopen wave output device between tracks, producing audible pauses. Modern players such as Winamp3 and foobar2000 don't have this problem; Winamp2/5 has "gapless output plugins" that avoid reopening output at cost of other minor glitches (displayed playback position being ahead of actual sound, etc; they trick the player to start decoding next track while previous one is still being played).
If you're lucky, your MP3 have been encoded with a recent vestion of LAME. If it's the case, then point #1 is almost resolved. (You will need a player that decodes those 2 number ZzZzZzZ was talking about.)
Next, you'll have to find a player or a gapless (NOT A CROSS-FADER) output plugins (if using WinAmp - I don't know if WA5 has a gapless output...) You'll find this on the WA web site, search for 'gapless'.
P.S. I have some MP3 files encoded with LAME 3.92, -APS and the playback isn't gapless even using Foobar... I even tried using the 'fix MP3 header' feature without any luck. Any idea?!
--
be020261