Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#22357 - 13/11/2000 15:50 GapKiller 1.07
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
I've released a new version of GapKiller at my Home Page.

The software, as always, is intended for trimming the gaps between MP3 files so that they play back seamlessly.

I have just added a major new feature, though...

I wanted to use MP3Splitter to break a large MP3 file up into smaller bits, and discovered that it has a bug preventing it from doing the very task for which it was intended. Every time I tried to split the file based on time-index numbers, it would give me a "start time error" message (despite the fact that the times were correct).

So the new feature I've added to GapKiller is the ability to split a large MP3 file into smaller ones. It splits cleanly at frame boundaries, and takes care of tagging and naming the resulting files for you (if the original is tagged, the split files will also be tagged, if the original has no tags, then the split files will also have no tags).

Drop me a line if you find this software useful.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#22358 - 16/11/2000 17:42 Re: GapKiller 1.07 [Re: tfabris]
dionysus
veteran

Registered: 16/06/1999
Posts: 1222
Loc: San Francisco, CA
In reply to:

So the new feature I've added to GapKiller is the ability to split a large MP3 file into smaller ones. It splits cleanly at frame boundaries, and takes care of tagging and naming the resulting files for you (if the original is tagged, the split files will also be tagged, if the original has no tags, then the split files will also have no tags).


Hey Tony,

Does this handle VBR files? gapkiller did a really bad job w/ vbr files, adding a loud noise at the beginning of tracks that it worked on..

Also, feature request - auto split in 5 minute, 10 minute, 15 minute, etc increments... Alot of my live music doesn't have pre-defined places where it should be split as they're continous - splitting would be just for jumping forward while listenning.. (althoguh 5 minute skip in empeg would be better:) )

-mark

MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!

_________________________
http://mvgals.net - clublife, revisited.

Top
#22359 - 16/11/2000 18:03 Re: GapKiller 1.07 [Re: dionysus]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
Does this handle VBR files? gapkiller did a really bad job w/ vbr files, adding a loud noise at the beginning of tracks that it worked on..

It can cleanly split/trim either VBR files or CBR files, and in fact, if it was ever even able to open a vbr file at all, then it was able to split/trim it cleanly on the frame boundaries.

It shouldn't add any noise to the files at all. It very carefully doesn't damage any frames whatsoever, writing only whole frames back down to disk, splitting cleanly at frame boundaries. For instance, if you analyze the file with MP3Trim after trimming or splitting, you should see a perfect file with no damaged frames (assuming you started with a perfect file to begin with, of course).

In my experience, there might be a little "volume drop" at the gap point because the bit reservior is effectively null at that point, but whenever I play the trimmed files, I never get any added noise. What WinAmp gapless plugin were you using to play the files with? Try the one linked at my web site if you weren't using it already. I experimented with a different gapless plug-in, and it induced noise in many cases for me (not just trimmed files).

Also, feature request - auto split in 5 minute, 10 minute, 15 minute, etc increments...

That was actually the only thing that MP3Splitter did successfully, so I didn't think I needed to duplicate it. I only needed my feature so I could specify exact times for the sorts of things that I need to do.

Hmm, I think I know how I could go about adding that feature though. I'll mull it over for a while and see what I come up with.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#22360 - 16/11/2000 21:14 Re: GapKiller 1.07 [Re: tfabris]
dionysus
veteran

Registered: 16/06/1999
Posts: 1222
Loc: San Francisco, CA
In reply to:

That was actually the only thing that MP3Splitter did successfully, so I didn't think I needed to duplicate it. I only needed my feature so I could specify exact times for the sorts of things that I need to do.


That feature never worked right for me:( Almost always produced a loud high-pitched noise at the beginning of the split track; I've used the winamp gapless plugin, or just empeg by itself - you can hear the squeek just playing the songs from the beginning... That was about 6 months ago that I was experimenting with it though - he might have fixed it since then..

I'm actually in the middle of a move right now (1 more week until I'm a Californian - yey - Mountain View, CA to be exact...), but I'll try out your program when I have a few moments to spare:)
-mark

MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!

_________________________
http://mvgals.net - clublife, revisited.

Top
#22361 - 16/11/2000 21:20 Re: GapKiller 1.07 [Re: dionysus]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
I just added your suggested feature (the even-interval splitting). It's up on the web site now.

It actually came out quite good. After you tell it how many seconds you want for each section, and it creates the list of those sections, you are still free to individually edit their names and time indices before committing them to disk.

I also took the opportunity to fix a minor bug that might allow you to open and try to split a corrupt file. (It detected there was a problem with the file and said so, but it didn't gray out the button that allowed you to try to split it anyway.)

___________
Tony Fabris
_________________________
Tony Fabris

Top
#22362 - 16/11/2000 21:38 Re: GapKiller 1.07 [Re: dionysus]
dionysus
veteran

Registered: 16/06/1999
Posts: 1222
Loc: San Francisco, CA
In reply to:

That feature never worked right for me:( Almost always produced a loud high-pitched noise at the beginning of the split track; I've used the winamp gapless plugin, or just empeg by itself - you can hear the squeek just playing the songs from the beginning... That was about 6 months ago that I was experimenting with it though - he might have fixed it since then..


Also let me clarify:) I'm ranting about the mp3splitter, not the gapkiller:)
-mark


MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!

_________________________
http://mvgals.net - clublife, revisited.

Top
#22363 - 16/11/2000 21:56 Re: GapKiller 1.07 [Re: tfabris]
dionysus
veteran

Registered: 16/06/1999
Posts: 1222
Loc: San Francisco, CA
Hmm.. The first file I tried to open (~90 minute mix..) opened as a 9:08 file (although it did copy the entire file from the d: drive to gapkill's directory - maybe use the temp directory instead?) This was probably a corrupted file, but it'd be nice if the program could semi-compare what it sees vs. the file size and let you know if it thought something was obviously wrong...
Here's the exact message from the first file:
"No Tag, or truncated last frame) 20930 frames, Length: 00:09:08"
...second file opened without any problems... although the program is very unresponsive while working... (I'm typing here and I can't get a status bar up by clicking on it's icon...) also,

would be nice to have a checkbox for Minutes or Seconds instead of having to type seconds... (default to seconds, of course...)

would be nice if the default filename used for the new files would be based on the original filename, instead of just "track001 " etc... or maybe ask what the file name should start with? (or does it already do that?)

...would be nice if it was able to create a new directory from the place-to-put-ending-directory screen..

I'll let you know later when this is done and I've gotten a chacne to listen to it:)
-mark


MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!
_________________________
http://mvgals.net - clublife, revisited.

Top
#22364 - 17/11/2000 06:36 Re: GapKiller 1.07 [Re: tfabris]
Verement
journeyman

Registered: 02/09/1999
Posts: 97
Loc: Boston, MA, US
Hi Tony,

In my experience, there might be a little "volume drop" at the gap point because the bit reservior is effectively null at that point, but whenever I play the trimmed files, I never get any added noise.

There are two other things working against you besides the bit reservoir. FWIW, the frames for which the bit reservoir holds data can no longer be decoded (except for the header and some side information) once severed from the reservoir, so they essentially no longer serve any purpose except to supply future frames with a reservoir. Whether a decoder produces any output (like silence) or just skips the frames is a question of the implementation -- I'm not sure what Xaudio does or what the upcoming ARM decoder will do.

The two things working against you are the Layer III IMDCT overlap outputs and the synthesis polyphase filterbank. Both carry state across frames, and both are typically reset across files. The only way to handle gapless playback seamlessly is in the decoder, although there are a few possible methods.

The most obvious method is to avoid resetting the decoder across files. This is probably only a good idea if the decoder is aware the next file is a continuation of the current...

I've thought about this a lot, and I wonder if it wouldn't be a bad idea to use the private bit in the frame header to instruct the decoder that the current file is a continuation, i.e. the decoder should not reset its state from the end of the previous file. If the decoder reads but does not process frames as long as the private bit is set, this could also be used to restore the bit reservoir. The result would be real gapless playback. All you would need to do when splitting a file is to repeat a few frames from the end of one file at the beginning of the next, setting the private bit in the process. (It's not hard to look at the bit reservoir to figure out how many frames are necessary.)

What do you think?

This is probably only useful for splitting large files into smaller ones; it doesn't address the problem of gapless playback across individual files each encoded separately. I still think that problem requires knowledge of the original PCM source length.

Kudos, Tony, for making a useful tool, regardless whether better gapless playback becomes a reality.

Cheers,
-v


Top
#22365 - 17/11/2000 09:48 Re: GapKiller 1.07 [Re: dionysus]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
The first file I tried to open (~90 minute mix..) opened as a 9:08 file

I've opened 2-hour-long files before, so I know it's not a limit to the file size. Odds are, there's a damaged frame or some other kind of unexpected data at the 9:08 mark.

I'd say that you could analyze the file in MP3Trim, except the free version of that program has a size limit.

although the program is very unresponsive while working...

Yes, I'm aware of this. A rewrite of the program in a different language would be required in order for this to change.

would be nice to have a checkbox for Minutes or Seconds instead of having to type seconds

I knew you were going to ask for that. The one-field InputBox is easy to implement (it's built in to the language), a multi-field box with minutes and seconds requires a whole new form with detailed field validation code. I was too lazy to implement that last night. Maybe someday...

or maybe ask what the file name should start with?

I thought about that. Perhaps another InputBox would solve the problem. Should be fairly easy to put in.

...would be nice if it was able to create a new directory from the place-to-put-ending-directory screen..

Hey, just be glad you can even choose at all. I was considering just making the destination dir the same as the source.

___________
Tony Fabris
_________________________
Tony Fabris

Top
#22366 - 17/11/2000 14:27 Re: GapKiller 1.07 [Re: dionysus]
dionysus
veteran

Registered: 16/06/1999
Posts: 1222
Loc: San Francisco, CA
Hmm...the bbs lost my other response - a disk-free check would be nice:) the second file ended up creating 13 empty files (not enough disk space - I had less then 11mb free on that partition...)
-mark

MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!
_________________________
http://mvgals.net - clublife, revisited.

Top
#22367 - 17/11/2000 14:32 Re: GapKiller 1.07 [Re: dionysus]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
Hmm...the bbs lost my other response - a disk-free check would be nice:) the second file ended up creating 13 empty files (not enough disk space - I had less then 11mb free on that partition...)

Cool. I wondered how it would behave in that situation.


___________
Tony Fabris
_________________________
Tony Fabris

Top
#22368 - 18/11/2000 18:51 Re: GapKiller 1.07 [Re: dionysus]
tanstaafl.
carpal tunnel

Registered: 08/07/1999
Posts: 5549
Loc: Ajijic, Mexico



Hmm...the bbs lost my other response - a disk-free check would be nice:) the second file ended up creating 13 empty files (not enough disk space - I
had less then 11mb free on that partition...)
-mark

MK2: 36gb
Tivo: 90gb
CPU: 120gb
...I think drive manufacturers love me!


Well, of course you ran out of disk space, with a paltry 120 gigabytes to play with. How do you mange to get anything done at all on such a limited machine?

tanstaafl.



"There Ain't No Such Thing As A Free Lunch"
_________________________
"There Ain't No Such Thing As A Free Lunch"

Top
#22369 - 18/11/2000 19:06 Re: GapKiller 1.07 [Re: Verement]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31597
Loc: Seattle, WA
That's very informative stuff, Verement, thanks.

Although those issues do prevent truly gapless playback, I've been able to achieve "good enough" results with Gapkiller and the WinAmp plugin that I've got at the Gapkiller page. Even the Empeg does a pretty decent job with the files, although not quite as good as that WinAmp plugin.

When I take a large single-file MP3 and split it up with the splitter feature, I get the best results I've had so far.

___________
Tony Fabris
_________________________
Tony Fabris

Top