Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: The Lossless, TRUE Gapless Joining of MP3 Files... (Read 7024 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

The Lossless, TRUE Gapless Joining of MP3 Files...

Hi everyone. I have a real puzzler for ya here...

I've tried 'em all: (MP3Trim, MP3Merge, Musicutter, MP3DirectCut, MP3 Trackmaker, MPEG Audio Scissors, MP3Mate) and a combination of all the above.

NOTHING seems to be able to output a completely flawless gapless mp3. The only way I have been able to achieve this is by firstly creating a .wav and manually editing the file to eliminate silence. Not only is this method extremely repetitive and boring, it is also lossy when I re-encode to mp3. It seems no matter how much silence i remove from the beginning or end of single MP3 files, gaps still emerge when I try joining them all together.

Mp3directCut is the closest i've come to being truely gapless, but it simply isn't accurate enough.

Can anyone point me in the direction of a REAL gapless app, or explain how I could do it in any other way? Pretty please?

Thanks...

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #1
You can't. Due to format shortcomings mp3 can never be truely gapless.
Other formats are though (ogg, mpc for example).

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #2
This is true. gapless MP3s are sort of a pipe dream, unfortunately.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #3
I respect what you're saying Jan S. I've heard other people saying (typing) the same thing.

I guess what i'm looking for is something that will work in two stages: First accurately analyse a given mp3 for silence at the beginning and end of a file (like mp3trim pro), then take that piece of data and join it together with the next processed mp3.
What i'm afraid of is that all you can do with an mp3 file is work with frames, in which case you are (knackered) unless there is something out there that can add or delete fractions of frames in mp3s.

But then -- if god had meant this world to be perfect, he would have given me a P4 3.0 ghz fsb 800 with a gb of dual 400mhz DDR RAM and a Geforce FX 5900 ultra 256 mb texture ram graphics chip I suppose...

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #4
Your assumption is correct.
It can't be done more correct than on frame basis.
For winamp and foobar there is, though, plugins that try to remove this silence on playback.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #5
Hmm, yes. One thing i've noticed is that Pyramidedata's mp3splice plugin for Winamp 2.x is VERY good http://www.pyramidedata.dk/mp3splice.html, and does the job seamlessly pretty much every time. Of course it's not a lossless re-rip method because you would have to encode the file again afterwards if you recorded the output from Winamp...

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #6
There really isn't a lossless way to join MP3s simply because of the way MP3 frames aren't completely independent of eachother. They share a "bit reservoir" which is corrupted when you split an MP3, and not constant when you join two together. There are other technical reasons as well, I believe.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #7
Why do you want to put all your mp3's together as one big mp3 ?

 

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #8
Non-presumptuous answer:

I don't want to put MY ENTIRE MUSIC COLLECTION together as one MP3, RaWShadow.


Presumptuous answer:

Because i'm into GOOD music, RaWShadow.

The type of music that is usually (professionally) mixed together on cd, so that many tracks make up one kickass big track. Some people unknowingly rip all the tracks as separate mp3s, which sounds no good when played back on a personal MP3 player because they usually have no gap-remover on them. Standard CD-players don't have this problem as they are dependent on how and where the track is physically placed on cd at burn-time.

Sigh...

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #9
That's what you get for downloading "mp3z", you spoony pirate.
Microsoft Windows: We can't script here, this is bat country.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #10
Arrr! Caught red 'anded by the cap'n 'imself! Take me in, matey. I be confessin' everythin'.


Seriously though, I have legally purchased a LOT of cds. I enjoy supporting artists that I like, and owning the original cd. But of course there is always music that is impossible to find in the shops, or maybe that I want to listen to first, before I start buying.

Curses! Don't ye be makin' me walk the plank now...

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #11
I'm not sure If I've read correctly but I've also heard that AAC also shares the same problem as mp3? Can anyone confirm this?


Cheers,


ss1.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #12
Quote
I'm not sure If I've read correctly but I've also heard that AAC also shares the same problem as mp3? Can anyone confirm this?

Yup. AAC isn't gapless/sample accurate.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #13
What would happen, if you create one big MP3 and then use mp3DirectCut, to cut them into pieces.

Would the result be "more" gapless?

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #14
Quote
What would happen, if you create one big MP3 and then use mp3DirectCut, to cut them into pieces.

Would the result be "more" gapless?

no, because you would have a few frames with missing bit reservoir information at the end of each file.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #15
So why don't you rip the cd as one big wave file with EAC and encode that into an mp3 ?

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #16
Quote
So why don't you rip the cd as one big wave file with EAC and encode that into an mp3 ?


...and why don't you read the 1post? Sorry, just wonder        noooooo - I am not as bad as you may think now
What about ID3V2, does all programms ignore that Tag (I think but I didn't have any joining-project before) - does he have to remove it (if there is ID3V2)?

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #17
You do know that gapless mp3 is possible in theory?

Lame tries to do it if you ask - IIRC it's still not perfect, but that's an implementation issue. See --nogap


What you hypothetically do is that you encode the whole CD as a single mp3. However, the encoder makes sure that the bit reservoir is not used around the points where you get a track change. Then, you can split the mp3 into tracks, at the nearest frame boundary to each track change. The mp3s play perfectly on their own, and, if you joint them all back together again (removing any tags etc), you just get the original big mp3 back, which, by definition, is gapless.

Make sense?


The problem is - your downloaded mp3s certainly weren't made this way. Also, your portable probably adds silence to the start of each track anyway, making gapless playback impossible.

The BBC looked at making a lossless-ish mpeg editor/mixer/transcoder, and this was a major problem: if you had to cut part of a frame, then everything after that point would have to be re-encoded, because the frames in the original file no longer lined up with the frames in the editted file.

This doesn't help you, but maybe it explains the problem a little more.


If you have any influence over the people making the rips, ask them to rip as one big file. If they want little files to share, they can chop it up afterwards. It will cause problems (bit reservoir), but most decoders playing the separate files will just take a little longer to re-sync; and if you remove the tags and join all the mp3 files together, you will get true gapless playback again.


Hope this helps - it's a nice theory, but it will have problems in practice - especially if you can't remove all tags cleanly, or the cutting software tries to "intelligently" neaten up the beginning/end of each mp3.

Cheers,
David.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #18
What about encoding with --nogap? I know it won't help in the case but can it produce gapless mp3's? what are the bugs? is it being worked on by anyone?

--nogap?

--nogap mp3 playback

Possible modification to VBR encoding to allow true gapless

This is an alternative than hasn't been presented in this thread:
Quote
Best plugin for faking gapless playback with mp3s is SqrSoft Crossfading Output, it analyzes the end and the beginning of signal and with right settings is much closer to gapless than simple silence remover.


Edit: 2Bdecided beat me  B)  .

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #19
Quote
Pyramidedata's mp3splice plugin for Winamp 2.x http://www.pyramidedata.dk/mp3splice.html

Most of you seem to be missing this, the key post in this thread.  Mp3Splice yields lossless, true gapless joining of mp3 files, at least as far as playback is concerned. I have not wanted to, nor tried, writing the output to disk, however.

Try it. It achieves the seemingly impossible!

Regards,
Madrigal

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #20
Quote
What about encoding with --nogap? I know it won't help in the case but can it produce gapless mp3's? what are the bugs? is it being worked on by anyone?

This thread is rather old but I don't think anything has happened since. It should explain that the --nogap option is not safe to use.

I was a little reluctant to post this thread due to my newbie comments, though 

edit: the interesting part is at the 2. and 3. page.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #21
Quote
The BBC looked at making a lossless-ish mpeg editor/mixer/transcoder, and this was a major problem: if you had to cut part of a frame, then everything after that point would have to be re-encoded, because the frames in the original file no longer lined up with the frames in the editted file.

wouldn't it be enough to reencode the splitted frame only, presopposed you store some meta information about encoder delay for the beginning of the second stream and some cropping information for the end of the first stream?

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #22
Quote
Quote
The BBC looked at making a lossless-ish mpeg editor/mixer/transcoder, and this was a major problem: if you had to cut part of a frame, then everything after that point would have to be re-encoded, because the frames in the original file no longer lined up with the frames in the editted file.

wouldn't it be enough to reencode the splitted frame only, presopposed you store some meta information about encoder delay for the beginning of the second stream and some cropping information for the end of the first stream?

The idea was to generate a new continuous mp2 stream for broadcast. (digital TV uses MPEG-2 video and mp2 audio in the UK). This would have to be compliant with the MPEG specs, so what you suggest wouldn't be allowed IIRC.

http://www.bbc.co.uk/rd/pubs/papers/pdffil...es/Wells-05.pdf
http://www.bbc.co.uk/atlantic/pdf-files/97...-98atlantic.pdf EDIT: chapters 8-11
EDIT2: page 69 onwards is discussing the switching of mp3 streams - very relevant - haven't read it all yet!
Cheers,
David.

The Lossless, TRUE Gapless Joining of MP3 Files...

Reply #23
With regards to  Pyramidedata's mp3splice plugin for Winamp. This plugin is great apart from the fact that it doesn't seem output to more than 2 speakers.

Okay, so we've ascertained so far is that there seems to be no easy way (if any way at all) to gaplessly join mp3s losslessly. Can anyone tell me, then, how I could convert a set of mp3 files pre-ripped from a mixed dance album to .WAV, then join them together -- removing any gaps, and re-encoding them to a single .MP3 again in one big batch task? Pretty please? 

I know how to do it all manually, but as I mentioned previously, this method is extremely repetitive and boring.