IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
LAME --nogap in EAC, Is this possible?
TakuSkan
post Dec 3 2003, 20:42
Post #1





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



I've been reading through posts on the LAME --nogap option. Some say the MP3 format doesn't allow gapless files. Some people say they've gotten it to work.

I'm gathering that it >can< work, but won't totally eliminate the gap.

I tried configuring EAC with the command: "--alt-preset standard --nogap %s %d" but didn't have any success. EncSpot has a field that indicates a --nogap encoded MP3, but none of the MP3s I encoded indicated that --nogap had been applied.

Can anyone tell me if it's possible to get EAC to execute --nogap on a series of tracks?

Thanks,

Shel
Go to the top of the page
+Quote Post
witt
post Dec 3 2003, 21:16
Post #2





Group: Members
Posts: 110
Joined: 2-February 03
From: Nippon
Member No.: 4834



You can get gapless playback without --nogap option.
I think --nogap is totally useless.

This topic is very helpful.


--------------------
foobar2000 Wiki for Japanese Users
http://foobar.s53.xrea.com/fbwiki/
Go to the top of the page
+Quote Post
Peter
post Dec 3 2003, 21:21
Post #3


foobar2000 developer


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



--nogap switch itself needs player-side support to do its job (decoder must not be reinitialized between files), and not many software players can possibly do that (supposedly some hardware players play decode --nogap files gaplessly).
Go to the top of the page
+Quote Post
TakuSkan
post Dec 3 2003, 23:41
Post #4





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (zZzZzZz @ Dec 3 2003, 04:21 PM)
--nogap switch itself needs player-side support to do its job ...


But using EncSpot to analyze the MP3s I encoded with EAC, it's showing that the LAME option --nogap wasn't configured for some reason. Maybe my command line options aren't set right. I'd like to 1st see that happen... and then check things down the line.

Shel
Go to the top of the page
+Quote Post
TakuSkan
post Dec 4 2003, 02:27
Post #5





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (zZzZzZz @ Dec 3 2003, 04:21 PM)
--nogap switch itself needs player-side support to do its job (decoder must not be reinitialized between files), and not many software players can possibly do that (supposedly some hardware players play decode --nogap files gaplessly).


Witt pointed me to your post on --nogap here: This topic is very helpful.

A few messages below that you posted a couple of sample gapless MP3s to test. Looking at them with EncSpot, it seems the fields for nogap show the same 'no' results as all of my LAME encoded MP3s, with or without having set --nogap on the commend line. So I guess EncSpot is not reporting whatever you set for nogap when you created those files.

I see your command line was basic, instead of the -Y switch which I can't find any documenation for: --alt-preset standard -Y

Are you saying that by rote, LAME versions v3.90.3 and above encode MP3s as gaplessly without setting any switches on the command line? Or am I still missing something?

Shel
Go to the top of the page
+Quote Post
Peter
post Dec 4 2003, 03:01
Post #6


foobar2000 developer


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



QUOTE (TakuSkan @ Dec 4 2003, 04:27 AM)
QUOTE (zZzZzZz @ Dec 3 2003, 04:21 PM)
--nogap switch itself needs player-side support to do its job (decoder must not be reinitialized between files), and not many software players can possibly do that (supposedly some hardware players play decode --nogap files gaplessly).


Witt pointed me to your post on --nogap here: This topic is very helpful.

A few messages below that you posted a couple of sample gapless MP3s to test. Looking at them with EncSpot, it seems the fields for nogap show the same 'no' results as all of my LAME encoded MP3s, with or without having set --nogap on the commend line. So I guess EncSpot is not reporting whatever you set for nogap when you created those files.

I see your command line was basic, instead of the -Y switch which I can't find any documenation for: --alt-preset standard -Y

Are you saying that by rote, LAME versions v3.90.3 and above encode MP3s as gaplessly without setting any switches on the command line? Or am I still missing something?

Shel

--nogap is useless, deprecated, and hardly supported anywhere.
All recent versions of LAME (3.90 and above if I remember correctly) always write additional gapless playback info (amounts of samples to skip) into LAME tag (unless you disable LAME tag writing). All you need is a player that reads and utilizes info from LAME tag; see the topic linked above for more info.
And again, gapless playback using LAME tags has absolutely nothing to do with --nogap switch.
Go to the top of the page
+Quote Post
saratoga
post Dec 4 2003, 05:08
Post #7





Group: Members
Posts: 5002
Joined: 2-September 02
Member No.: 3264



QUOTE (TakuSkan @ Dec 3 2003, 11:42 AM)
I've been reading through posts on the LAME --nogap option.  Some say the MP3 format doesn't allow gapless files.  Some people say they've gotten it to work. 

I'm gathering that it >can< work, but won't totally eliminate the gap.

I tried configuring EAC with the command: "--alt-preset standard --nogap  %s %d" but didn't have any success.  EncSpot has a field that indicates a --nogap encoded MP3, but none of the MP3s I encoded indicated that --nogap had been applied.

Can anyone tell me if it's possible to get EAC to execute --nogap on a series of tracks?

Thanks,

Shel

LAME is gapless for me. Just use foobar to play or record CDs and it should work automaggically thanks to peter's efforts.
Go to the top of the page
+Quote Post
TakuSkan
post Dec 4 2003, 08:38
Post #8





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (zZzZzZz @ Dec 3 2003, 10:01 PM)
--nogap is useless, deprecated, and hardly supported anywhere.
All recent versions of LAME (3.90 and above if I remember correctly) always write additional gapless playback info (amounts of samples to skip) into LAME tag (unless you disable LAME tag writing). All you need is a player that reads and utilizes info from LAME tag;


I've learned this must be the case in a few hours of setting up FooBar2000 and WinAmp 2.91 with CrudSoft gapless plugin, and then playing some of the pertinent LAME 3.92 encoded MP3s I've ripped in the past few months. Once I got a software gapless MP3 player set up, I finally have things working.

QUOTE
And again, gapless playback using LAME tags has absolutely nothing to do with --nogap switch.


Okay... I'm finally grokking what you and others have written, and this explains why the gapless fields in EncSpot don't mean much.

I was hoping to report my success at running FooBar2000 on a couple underpowered <200MHz CPU notebooks. But even after disabling DSP components, and setting a more efficent waveOut device, it still requires more resources than WinAmp. WinAmp must have introduced v2.91 in the past year or so. I downloaded 2.81 to use on these old notebooks a year or more back, and don't recall there being a 2.91 at that point. Could have missed it though.

Shel
Go to the top of the page
+Quote Post
pdh11
post Dec 4 2003, 13:18
Post #9





Group: Members
Posts: 4
Joined: 13-November 03
From: Empeg Towers, UK
Member No.: 9819



QUOTE (TakuSkan @ Dec 3 2003, 11:42 AM)
I tried configuring EAC with the command: "--alt-preset standard --nogap  %s %d" but didn't have any success.  EncSpot has a field that indicates a --nogap encoded MP3, but none of the MP3s I encoded indicated that --nogap had been applied.

That's not going to work, because for no-gap, Lame needs to be told about all the gapless files on the same command-line: "lame --nogap 1.wav 2.wav 3.wav..."

QUOTE
Can anyone tell me if it's possible to get EAC to execute --nogap on a series of tracks?

I've never found a way. I think you have to do it manually (or in a separate script, or whatever).

Peter
Go to the top of the page
+Quote Post
pdh11
post Dec 4 2003, 13:26
Post #10





Group: Members
Posts: 4
Joined: 13-November 03
From: Empeg Towers, UK
Member No.: 9819



QUOTE (TakuSkan @ Dec 3 2003, 02:41 PM)
But using EncSpot to analyze the MP3s I encoded with EAC, it's showing that the LAME option --nogap wasn't configured for some reason.

When you encode a set of WAVs in a single Lame invocation with --nogap, all but the last get the informational bit set. (The last file in the group doesn't get the bit, because nothing special happened at the end of it.) With EAC, there's no way to encode more than one WAV per invocation of Lame, so --nogap never does anything, and the informational bit is never set.

Peter
Go to the top of the page
+Quote Post
Peter
post Dec 4 2003, 13:28
Post #11


foobar2000 developer


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



QUOTE (TakuSkan @ Dec 4 2003, 10:38 AM)
QUOTE (zZzZzZz @ Dec 3 2003, 10:01 PM)

--nogap is useless, deprecated, and hardly supported anywhere.
All recent versions of LAME (3.90 and above if I remember correctly) always write additional gapless playback info (amounts of samples to skip) into LAME tag (unless you disable LAME tag writing). All you need is a player that reads and utilizes info from LAME tag;


I've learned this must be the case in a few hours of setting up FooBar2000 and WinAmp 2.91 with CrudSoft gapless plugin, and then playing some of the pertinent LAME 3.92 encoded MP3s I've ripped in the past few months. Once I got a software gapless MP3 player set up, I finally have things working.

QUOTE
And again, gapless playback using LAME tags has absolutely nothing to do with --nogap switch.


Okay... I'm finally grokking what you and others have written, and this explains why the gapless fields in EncSpot don't mean much.

I was hoping to report my success at running FooBar2000 on a couple underpowered <200MHz CPU notebooks. But even after disabling DSP components, and setting a more efficent waveOut device, it still requires more resources than WinAmp. WinAmp must have introduced v2.91 in the past year or so. I downloaded 2.81 to use on these old notebooks a year or more back, and don't recall there being a 2.91 at that point. Could have missed it though.

Shel

Foobar2000 heavily relies on floating-point math, it will be slower than Winamp on older machines (while it actually decodes MP3 faster than Winamp on athlon-class CPUs).
I suggest that you actually read the topic linked above, you seem to have missed major part of it (especially my post explaining what exactly gapless playback is, and links to in_mpg123).
Go to the top of the page
+Quote Post
saratoga
post Dec 4 2003, 19:42
Post #12





Group: Members
Posts: 5002
Joined: 2-September 02
Member No.: 3264



QUOTE (TakuSkan @ Dec 3 2003, 11:38 PM)
QUOTE (zZzZzZz @ Dec 3 2003, 10:01 PM)

--nogap is useless, deprecated, and hardly supported anywhere.
All recent versions of LAME (3.90 and above if I remember correctly) always write additional gapless playback info (amounts of samples to skip) into LAME tag (unless you disable LAME tag writing). All you need is a player that reads and utilizes info from LAME tag;


I've learned this must be the case in a few hours of setting up FooBar2000 and WinAmp 2.91 with CrudSoft gapless plugin, and then playing some of the pertinent LAME 3.92 encoded MP3s I've ripped in the past few months. Once I got a software gapless MP3 player set up, I finally have things working.

QUOTE
And again, gapless playback using LAME tags has absolutely nothing to do with --nogap switch.


Okay... I'm finally grokking what you and others have written, and this explains why the gapless fields in EncSpot don't mean much.

I was hoping to report my success at running FooBar2000 on a couple underpowered <200MHz CPU notebooks. But even after disabling DSP components, and setting a more efficent waveOut device, it still requires more resources than WinAmp. WinAmp must have introduced v2.91 in the past year or so. I downloaded 2.81 to use on these old notebooks a year or more back, and don't recall there being a 2.91 at that point. Could have missed it though.

Shel

Try turning off dither/noise shaping as well. Its pretty CPU intensive (relatively speaking).
Go to the top of the page
+Quote Post
TakuSkan
post Dec 4 2003, 20:27
Post #13





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (zZzZzZz @ Dec 4 2003, 08:28 AM)
Foobar2000 heavily relies on floating-point math, it will be slower than Winamp on older machines (while it actually decodes MP3 faster than Winamp on athlon-class CPUs).

Okay... I've been using my two tiny Toshiba Libretto's, a 70CT and a 100CT as multi-purpose MP3 player/Notebooks w/20GB & 40GB HDDs for MP3 storage... and actually, FooBar2000 does in fact run relatively well on the 166MHz 100CT. There's a little lag time after scanning the playback position forwards or backwards, but for 99% of use, MP3s play relatively gaplessly from one to the next.

QUOTE
I suggest that you actually read the topic linked above, you seem to have missed major part of it (especially my post explaining what exactly gapless playback is, ...

Okay... I've re-read your posts again. Though I have to confess that I'm not that familiar with MP3 coding, so a lot of this is a bit of a stretch for me.

You address the problems as being rooted in "Gapless decoding", and "Gapless output".

Gapless decoding problems being:

1) problems, "truncating last samples or adding extra null samples"
2) "encoder/decoder delay" necessitating storing, "two additional numbers",

Gapless output problem being:

1) "old) players have a design flaw requiring them to reopen wave output device between tracks"

Okay, it's nice to have a handle on the 'whys' of what causes the problem, but again I confess I'm just trying to figure out how to address the issue. Were you indicating that I might not be able to achieve effective gapless playback with my <200MHz systems? I know I'm probably never going to achieve flawless nogap playback, but WinAmp 2.91 with the CrudSoft gapless plugin seems to do a commendable job of coming close.

QUOTE
and links to in_mpg123).

My apologies... I did try to track down more info on in_mpg123. But the links provided all pointed to Japanese language websites where I had a hard time gleaning much useful information. Have you compared in_mpg123 to the CrudSoft plugin?:

http://classic.winamp.com/plugins/detail.j...mponentId=24303

In another post, you stated:

QUOTE
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).

Can you point me to URLs where I can download both in_mpg123 and whatever '"gapless" output plugin' I may need to get WinAmp fine tuned? Are the settings in in_mpg123 written with Japanese characters?

Thanks for your feedback.

Shel
Go to the top of the page
+Quote Post
Moneo
post Dec 4 2003, 23:07
Post #14





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



QUOTE (TakuSkan @ Dec 4 2003, 08:27 PM)
Were you indicating that I might not be able to achieve effective gapless playback with my <200MHz systems?

Maybe yes, maybe no.

For starters, try turning off dithering as suggested by Mike Giacomelli.

Also, increase buffer size and increase playback thread priority.

A P166 should be able to handle foobar2000's mp3 decoder at a reasonable speed.
Go to the top of the page
+Quote Post
TakuSkan
post Dec 5 2003, 21:29
Post #15





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (Mike Giacomelli @ Dec 4 2003, 02:42 PM)
Try turning off dither/noise shaping as well.  Its pretty CPU intensive (relatively speaking).

Sorry I missed your post Mike. In FB2K v0.7 that I've set up, dithering/noise shaping comes disabled out of the box. I had tried configuring a size for 'Full file buffering' on that playback options window too, and it had no affect. Playback thread priority was also set at 'max', and reducing it only made the playback audio stutter.

Shel
Go to the top of the page
+Quote Post
TakuSkan
post Dec 5 2003, 21:50
Post #16





Group: Members
Posts: 324
Joined: 16-February 03
Member No.: 5017



QUOTE (Moneo @ Dec 4 2003, 06:07 PM)
For starters, try turning off dithering as suggested by Mike Giacomelli.

Okay... as I told Mike, that was already disabled by default.

QUOTE
Also, increase buffer size and increase playback thread priority.

Thread priority was already set at 'max'. I wasn't sure what to set the buffer size to. So I just guessed at these sizes, and none had any affect: 50K, 100K 200K 400K, 800K, 1000K, 2000K, 5000K.

QUOTE
A P166 should be able to handle foobar2000's mp3 decoder at a reasonable speed.

In fact, I was able to get my >120MHz< Libby to play gapless MP3s by making a couple tweaks. I checked the ASPI drivers with Adaptec's Win98 utility, and found a mismatch between the two configured files. Between correcting that, and updating the sound drivers for the (noisy... Layla in my sights) Yamaha OPL3-SAx chip, the little hiccup I was getting between files disappeared.

I did the same to the 166MHz Libretto hoping I could get the equalizer working without MP3s stuttering. The time between the stutters was increased, but I've still not been able to tweak anything on that Lib to get equalizaion working right. That's the only DSP component I'd >really< like to have working.

Shel
Go to the top of the page
+Quote Post
Thrasher
post Jan 11 2004, 14:49
Post #17





Group: Members
Posts: 19
Joined: 19-December 03
Member No.: 10577



QUOTE (zZzZzZz @ Dec 3 2003, 06:01 PM)
QUOTE (TakuSkan @ Dec 4 2003, 04:27 AM)
QUOTE (zZzZzZz @ Dec 3 2003, 04:21 PM)
--nogap switch itself needs player-side support to do its job (decoder must not be reinitialized between files), and not many software players can possibly do that (supposedly some hardware players play decode --nogap files gaplessly).


Witt pointed me to your post on --nogap here: This topic is very helpful.

A few messages below that you posted a couple of sample gapless MP3s to test. Looking at them with EncSpot, it seems the fields for nogap show the same 'no' results as all of my LAME encoded MP3s, with or without having set --nogap on the commend line. So I guess EncSpot is not reporting whatever you set for nogap when you created those files.

I see your command line was basic, instead of the -Y switch which I can't find any documenation for: --alt-preset standard -Y

Are you saying that by rote, LAME versions v3.90.3 and above encode MP3s as gaplessly without setting any switches on the command line? Or am I still missing something?

Shel

--nogap is useless, deprecated, and hardly supported anywhere.
All recent versions of LAME (3.90 and above if I remember correctly) always write additional gapless playback info (amounts of samples to skip) into LAME tag (unless you disable LAME tag writing). All you need is a player that reads and utilizes info from LAME tag; see the topic linked above for more info.
And again, gapless playback using LAME tags has absolutely nothing to do with --nogap switch.

You say that the --nogap switch is useless, but I found --nogap encoded track to have shorter gaps when played back in Winamp with standard output settings.
Go to the top of the page
+Quote Post
criZZb
post Jan 12 2004, 20:34
Post #18





Group: Members
Posts: 133
Joined: 9-January 03
Member No.: 4493



QUOTE (Thrasher @ Jan 11 2004, 02:49 PM)
You say that the --nogap switch is useless, but I found --nogap encoded track to have shorter gaps when played back in Winamp with standard output settings.

You say that shorter gap resolves your problem?

--nogap encoded files will not play perfectly gapless on players supporting reading encoder delay and padding info, because they (AFAIK) add some samples from previous file, which isn't really a good thing, don't you think?

edit:
AFAIK added --- just to be... hmmm...

This post has been edited by criZZb: Jan 12 2004, 20:37


--------------------
criZZb
Go to the top of the page
+Quote Post
PhileasFogg
post May 17 2004, 04:54
Post #19





Group: Members
Posts: 60
Joined: 19-January 04
Member No.: 11361



why wouldn't --nogap files play just as well on "players supporting reading encoder delay and padding info" ???

the redistribution of samples couldn't be a problem, since we're talking about a continuous stream of music here--but i could see it being a problem if the --nogap files don't have the same special header info that a regular lame file has--is this the case?
Go to the top of the page
+Quote Post
Peter
post May 17 2004, 11:20
Post #20


foobar2000 developer


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



QUOTE (PhileasFogg @ May 17 2004, 06:54 AM)
why wouldn't --nogap files play just as well on "players supporting reading encoder delay and padding info" ??? 

the redistribution of samples couldn't be a problem, since we're talking about a continuous stream of music here--but i could see it being a problem if the --nogap files don't have the same special header info that a regular lame file has--is this the case?

Difficult to read the topic before replying to it, isn't it ?
QUOTE (zZzZzZz @ Dec 3 2003, 11:21 PM)
--nogap switch itself needs player-side support to do its job (decoder must not be reinitialized between files), and not many software players can possibly do that (supposedly some hardware players play decode --nogap files gaplessly).
Go to the top of the page
+Quote Post
Gabriel
post May 17 2004, 11:53
Post #21


LAME developer


Group: Developer
Posts: 2950
Joined: 1-October 01
From: Nanterre, France
Member No.: 138



Anyway I am in favor of removal of --nogap in v4.
IMO using the delay values from the tag is way more elegant, and at least it does not reduce quality of individual tracks (unlike --nogap).

This post has been edited by Gabriel: May 17 2004, 11:53
Go to the top of the page
+Quote Post
PhileasFogg
post May 17 2004, 18:08
Post #22





Group: Members
Posts: 60
Joined: 19-January 04
Member No.: 11361



sorry, zZzZzZz, i wasn't clear about what i meant: I didn't mean that --nogap files would generally play gaplessly.. but i am very confused about one thing (and yes, i have searched through the forums)--you say that --nogap will only work if the player doesn't reinitilaize the decoder between files, but that otherwise it works.

however, isn't that also necessay for regular --present standard mp3s to play back gaplessly?? in other words, wouldn't reinitializing the decoder introduce a gap no matter what kind of mp3 you're dealing with? and wouldn't that therefore mean that players which playback --preset standard files gaplessly don't reinitialize the decoder, and therefore would also play back --nogap files gaplessly?

forgive me if i sound like i'm trying to argue with you--i'm just explaining how i understand it at the moment, so some can tell me if i've got it wrong.. i'm not 'claiming' anything...
Go to the top of the page
+Quote Post

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: 1st October 2014 - 20:48