IPB

Welcome Guest ( Log In | Register )

4 Pages V   1 2 3 > »   
Reply to this topicStart new topic
MP3 Players and No-gap playback, Foobar does it. Who else does?
lh_sabre
post Nov 12 2003, 09:58
Post #1





Group: Members
Posts: 85
Joined: 4-March 03
Member No.: 5321



So after reading other posts in HA (in the Foobar forum, of course), I had to ask: Other than Foobar, what other MP3 players (software or hardware) actually support gapless playback (barring DSPs and the sort)? Why the heck not? And will they ever?! I'm so very happy with Foobar for doing this, but I feel all the more irritated listening to my albums on my portable MP3 player (or in Winamp for that matter) because I expect my songs to be gapless!
Go to the top of the page
+Quote Post
Moneo
post Nov 12 2003, 11:44
Post #2





Group: Developer
Posts: 501
Joined: 22-January 03
From: Netherlands
Member No.: 4684



QUOTE (lh_sabre @ Nov 12 2003, 09:58 AM)
Other than Foobar, what other MP3 players (software or hardware) actually support gapless playback (barring DSPs and the sort)?

None.
QUOTE
Why the heck not?

Well, LAME header isn't a part of MPEG Layer 3 standard, for one.

But the main reason is that generally people just don't care.
QUOTE
And will they ever?!

foobar's mp3 decoder is open source and distributed under the BSD license, so other developers may implement it sometime... provided they get enough feedback from the irritated users smile.gif
QUOTE
I'm so very happy with Foobar for doing this, but I feel all the more irritated listening to my albums on my portable MP3 player (or in Winamp for that matter) because I expect my songs to be gapless!

Most people don't give a flying xiph about gapless playback, so it's the last thing that hardware manufacturers will think about. I am not aware of any currently available hardware player that supports gapless playback for mp3... or even ogg vorbis, which is inherently gapless. Support for gapless playback of vorbis or flac is supposed to come with the next version of Rio Karma firmware.
Go to the top of the page
+Quote Post
rickio
post Nov 13 2003, 02:46
Post #3





Group: Members
Posts: 25
Joined: 16-April 02
Member No.: 1791



1by1 ( http://www.rz.uni-frankfurt.de/~pesch/ ) supports gapless playback and I think it did before foobar.

This post has been edited by rickio: Nov 13 2003, 02:47
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 02:57
Post #4


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



1by1 does not support gapless mp3 playback, I just tested 1.41. Please don't post false info.

Back on topic, in_mpg123 for Winamp2/Winamp5 supposedly supports gapless MP3 playback in similar way to foobar2000 according to what I've read (can't verify at the moment).
Go to the top of the page
+Quote Post
Doctor
post Nov 13 2003, 05:01
Post #5





Group: Members
Posts: 160
Joined: 16-January 03
Member No.: 4597



Wasn't stock Winamp3 gapless?

Don't remember too well, it's been years since I touched WA.
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 05:21
Post #6


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



QUOTE (Doctor @ Nov 13 2003, 07:01 AM)
Wasn't stock Winamp3 gapless?

Don't remember too well, it's been years since I touched WA.

"Gapless" as in "doesn't need to reopen output between tracks". 1by1 can do that too, as well as any half-decent player these days (actually Winamp2/5 needs output plugin side hack for that).

"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).
Go to the top of the page
+Quote Post
harashin
post Nov 13 2003, 05:30
Post #7





Group: Members
Posts: 339
Joined: 20-February 02
From: Kyoto, Japan
Member No.: 1362



SoundPlayer Lilith makes gapless playback too.
But it doesn't have English version or any, except Japanese version.

BTW I don't use Lilith or in_mpg123 for gapless playback due to lack of the feature like
foobar's Fix MP3 header for non-LAME(or old LAME)-encoded mp3 files.


--------------------
Folding@Home Hydrogenaudio.org Team ID# 32639
http://folding.stanford.edu/
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 05:47
Post #8


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



If anyone is interested in testing gapless mp3 playback of some player, I've uploaded some test samples.
http://foobar2000.org/gapless/part1.mp3 | http://foobar2000.org/gapless/part2.mp3

Instructions: put both parts on playlist, play part1, part1=>part2 transition is supposed to be glitchless.

They're taken from Jarre's Second Rendez-vous; the track division is same as on original CD. I didn't tinker with them, they're straight output from lame.exe v3.90.3, --alt-preset standard -Y, transcoded from MPC.

Another way to test it, make a WAV, feed it to LAME, then decode the output MP3 back to WAV using your player, compare exact WAV lengths.
Go to the top of the page
+Quote Post
harashin
post Nov 13 2003, 06:33
Post #9





Group: Members
Posts: 339
Joined: 20-February 02
From: Kyoto, Japan
Member No.: 1362



OK, I have uploaded some files.

part1_in_mpg123.flac
part2_in_mpg123.flac
part1_lilith.flac
part2_lilith.flac


--------------------
Folding@Home Hydrogenaudio.org Team ID# 32639
http://folding.stanford.edu/
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 06:40
Post #10


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



Ugh... text/html, CR/LF translation. Can you please upload them zipped ? I get unplayable garbage.
Go to the top of the page
+Quote Post
harashin
post Nov 13 2003, 06:48
Post #11





Group: Members
Posts: 339
Joined: 20-February 02
From: Kyoto, Japan
Member No.: 1362



Fixed
http://harashin.tripod.com/gaplesstest/gaplesstest.zip


--------------------
Folding@Home Hydrogenaudio.org Team ID# 32639
http://folding.stanford.edu/
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 06:55
Post #12


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



Yup, confirmed. Both in_mpg123 and Lilith give correct results (exactly same length, no glitches).
Go to the top of the page
+Quote Post
rickio
post Nov 13 2003, 07:47
Post #13





Group: Members
Posts: 25
Joined: 16-April 02
Member No.: 1791



QUOTE (zZzZzZz @ Nov 12 2003, 05:57 PM)
1by1 does not support gapless mp3 playback, I just tested 1.41. Please don't post false info.

Back on topic, in_mpg123 for Winamp2/Winamp5 supposedly supports gapless MP3 playback in similar way to foobar2000 according to what I've read (can't verify at the moment).

Under settings, audio there is a tick box for gapless output. I am using version 1.40. So this is not what it indicates itself to be and the seamless songs with no gap I hear are not gapless?

I read your other postings so it seems there is a pseudo gapless mode and a true gapless mode or what?

Fact is 1by1 uses less resources and when I am mutli-tasking like mad it plays back better than foobar. I hear foobar stop and start again with last bit of a song and then next song. Only when using lots of resources. 1by1 does not do that. Of course when not using up all my resources foobar sounds ok.

1by1 uses winamp plugins so its quite handy.

This post has been edited by rickio: Nov 13 2003, 07:54
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 07:49
Post #14


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



QUOTE (rickio @ Nov 13 2003, 09:47 AM)
QUOTE (zZzZzZz @ Nov 12 2003, 05:57 PM)
1by1 does not support gapless mp3 playback, I just tested 1.41. Please don't post false info.

Back on topic, in_mpg123 for Winamp2/Winamp5 supposedly supports gapless MP3 playback in similar way to foobar2000 according to what I've read (can't verify at the moment).

Under settings, audio there is a tick box for gapless output. I am using version 1.40. So this is not what it indicates itself to be and the seamless songs with no gap I hear are not gapless?

Please actually read the topic (especially my long post explaining what gapless playback is) before replying to it... I did not manage to get 1by1 to play above test files correctly, therefore its mp3 decoder is not gapless. And yes, I did check "gapless output" checkbox.
Go to the top of the page
+Quote Post
40th Floor
post Nov 13 2003, 08:52
Post #15





Group: Members
Posts: 8
Joined: 19-December 02
From: Right here, right now
Member No.: 4149



You asked --

http://40th.com/w32/

iPlay file player for the desktop. Features include a true 5-band equalizer with seven EQ presets, easy-to-use file selection and lots more. Plays MP3, Ogg, PCM, CD/DA, and GSM-610 formats (gapless option for all but GSM). Also available for Pocket PC 2002 & 2003.

- - - -

Perfectly gapless ogg, perfectly gapless mp3 (44100,stereo; no attempt on others), perfectly gapess CD/DA (and very battery friendly, yet still gapless).

This is re: iPlay v1.52.138.312 -- one single file, maybe 300 KB. Market spiel:

[further flood removed by moderation]
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 09:21
Post #16


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



QUOTE (40th Floor @ Nov 13 2003, 10:52 AM)
You asked --

http://40th.com/w32/

....

Actually it seems like it is gapless, after having wasted 15 minutes of my time on trying to figure how to add my files to its playlist. Can't be bothered to verify lengths after decoding to WAV.
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 09:42
Post #17


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



Seems like there is a very quiet (but noticeable) pop between tracks in the sample I posted, and it's not a fault of playback software (mismatching sample values after transcoding). I'll post a new sample later.
Go to the top of the page
+Quote Post
RBH
post Nov 13 2003, 21:03
Post #18





Group: Members
Posts: 1
Joined: 13-November 03
Member No.: 9825



In answer to the original question, my Nomad Jukebox3 gives gapless playback. Every so often there are little hiccups and also I think it needs to be ripped on the Creative MP3 ripper that came with it (though I haven't tested this completely scientifically). I assume that the glitches come when it finds it too hard to completely fill in the frames or something, but it's basically solid.
Go to the top of the page
+Quote Post
DonP
post Nov 13 2003, 21:46
Post #19





Group: Members (Donating)
Posts: 1471
Joined: 11-February 03
From: Vermont
Member No.: 4955



[quote=zZzZzZz,Nov 12 2003, 11:21 PM] [QUOTE=Doctor,Nov 13 2003, 07:01 AM]Wasn't stock Winamp3 gapless?

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); [/quote]
It seems to me the most sensible way around this is to encode the whole album (or whatever sequence of tracks needs to be gapless) then split the mp3 file into tracks on frame boundaries. For the albums I have with gapless tracks the exact time of the split is not important in terms of ~1/100 second (roughly the average amount of gap due to mp3 frame boundary).

Are file splitters such as mp3directcut smart enough to split on frame boundaries?
Go to the top of the page
+Quote Post
amano
post Nov 13 2003, 23:18
Post #20





Group: Members
Posts: 483
Joined: 1-December 02
Member No.: 3949



umm,
as Peter stated, in_mpeg123 supports gapless playback. so is this a limitation of winamp 2 itself or rather a limitation of the FhG in_mp3 plugin?

or is gapless playback only possible with in_mpeg123 and the additional "buffer ahead on track change" option in your out_ds??

*slightly confused*
amano

This post has been edited by amano: Nov 13 2003, 23:21
Go to the top of the page
+Quote Post
Peter
post Nov 13 2003, 23:57
Post #21


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



QUOTE (amano @ Nov 14 2003, 01:18 AM)
umm,
as Peter stated, in_mpeg123 supports gapless playback. so is this a limitation of winamp 2 itself or rather a limitation of the FhG in_mp3 plugin?

or is gapless playback only possible with in_mpeg123 and the additional "buffer ahead on track change" option in your out_ds??

*slightly confused*
amano

Proper gapless playback in Winamp requires both in_mpg123 and "gapless" output plugin (configured not to reopen output between tracks, but without removing silent samples, since input plugin already does that without guessing exact number of samples to remove).
Go to the top of the page
+Quote Post
amano
post Nov 14 2003, 00:02
Post #22





Group: Members
Posts: 483
Joined: 1-December 02
Member No.: 3949



tnx for clarification, so I guess that MAD and FhG additionally need the remove silence option to be checked .?.

or can't gapless playing achieved with them at all?

EDIT: bad grammar

This post has been edited by amano: Nov 14 2003, 00:04
Go to the top of the page
+Quote Post
Peter
post Nov 14 2003, 00:07
Post #23


foobar2000 developer


Group: Admin
Posts: 3275
Joined: 30-September 01
Member No.: 84



MAD and FhG would need something else (DSP or output) to remove silent samples, which is unreliable / uninteresting / etc (as original post in this topic states), since such solution needs amount of samples to remove to be guessed somehow (usually by analysing sound data). Also, if you decode an MP3 file from FhG or MAD inputs, exact length of decoded WAV wouldn't match original WAV length.
Go to the top of the page
+Quote Post
amano
post Nov 14 2003, 00:10
Post #24





Group: Members
Posts: 483
Joined: 1-December 02
Member No.: 3949



OK, thanks for the quick reply wink.gif
Go to the top of the page
+Quote Post
AtaqueEG
post Nov 14 2003, 01:00
Post #25





Group: Members (Donating)
Posts: 1336
Joined: 18-November 01
From: Celaya, Guanajuato
Member No.: 478



QUOTE (DonP @ Nov 13 2003, 02:46 PM)
It seems to me the most sensible way around this is to encode the whole album (or whatever sequence of tracks needs to be gapless) then split the mp3 file into tracks on frame boundaries.  For the albums I have with gapless tracks the exact time of the split is not important in terms of ~1/100 second (roughly the average amount of gap due to mp3 frame boundary).

Are file splitters such as mp3directcut smart enough to split on frame boundaries?

That would not do it.

WAV files ripped from CD are already cut to frame boundaries (Red Book standard).

The gap in MP3 playback/decoding is introduced by encoder/decoder delay (kind of like an offset). The only way around this is the foobar2000 method: the "real" length of the source file is stored in the MP3 header. Then, a properly tuned decoder (such as foobar's) can play the file for just as long as the header tells it to, thus providing a resulting decoded file that matches the exact, already-cut-to-frame-boundaries length of the original file, which is obviously, "gapless".

Cutting the MP3 would do no good, as there will be always a silence introduced upon decoding.


--------------------
I'm the one in the picture, sitting on a giant cabbage in Mexico, circa 1978.
Reseņas de Rock en Espaņol: www.estadogeneral.com
Go to the top of the page
+Quote Post

4 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 28th July 2014 - 15:53