HydrogenAudio

CD-R and Audio Hardware => CD Hardware/Software => Topic started by: dignick on 2005-06-15 12:01:48

Title: Cue sheets
Post by: dignick on 2005-06-15 12:01:48
I have been reading these, and many other forums, about splitting mp3 files using cue sheets.  I must have tried pretty much every solution, and I'm getting tired of them now.
Whenever I try to split an mp3 from a cue file using any software, there are always mistakes and noises at the start of every track.  I am using besplit mainly now with the cue-splitter gui, and it works reasonably well apart from this problem.  The only way I have found to split the mp3 without getting the sounds at the start is either to burn the mp3 to a CD using cdrwin, and then rip back to the PC, or to convert the whole thing to wav, split it, and convert back.  I don't get the sounds then.

So, my question is, is it possible to split an mp3 without these noises at the start of each track?  Is there a cue splitter application that will split the files properly?

Thanks
Title: Cue sheets
Post by: SebastianG on 2005-06-15 13:04:10
Quote
So, my question is, is it possible to split an mp3 without these noises at the start of each track?  Is there a cue splitter application that will split the files properly?
[a href="index.php?act=findpost&pid=306303"][{POST_SNAPBACK}][/a]


What decoder do you use for playback ?
Sounds like it chokes on incomplete bit reservoir buffers.

You see... MP3 frames are usually not independantly decodable due to the bit reservoir. So, if you split an MP3 file at a frame boundary the first frame of the 2nd file will most likely be indecodable. Most decoders just silence those first frames if they can not be decoded properly. Yours seem to try decoding frames with incomplete data as well and that's causing the noise.

There are several options. If the decoder is a software decoder just swap to a better one. In case you can't change that (ie hardware mp3 player) you should split the MP3 file properly (properly = accounting for the bitreservoir). Unfortunately I'm not aware of any mp3 splitter which produces all-decodable frames in case of bitreservoir usage. (This would require reformatting the stream. In possibly rare cases one has to insert one or more silence frames at the beginning which carry the necessary informations in the bitreservoir to overcome the frame size limitation. But in those cases you have to use a special mp3-merger, too (which removes those inserted frames) to get a big MP3 again which decodes to the same PCM file as the original one).


Sebi
Title: Cue sheets
Post by: Jebus on 2005-06-15 16:59:40
Decode to wav, then split. Shouldn't happen. MP3 frames share data with the preceeding and following frame, so clean splits are tricky without decoding first.
Title: Cue sheets
Post by: snookerdoodle on 2005-06-15 17:09:05
Stupid questions: what's a cue sheet and do I want one and why? I googled, but this (http://www.loopsound.com/FAQ.htm#2) doesn't seem to be the same thing you guys are talking about.

I just plays my dumb flac files through my squeezebox, but wouldn't wanna "miss out" on some new experience.

Mark
Title: Cue sheets
Post by: dignick on 2005-06-15 17:12:44
I am using mpg123 in winamp, but the default winamp decoder is the same, and its the same in windows media player.  It doesn't do this at the start of every track, or it's not noticable anyway.
Strangely, I cannot hear the noises when played in foobar2000, and that uses mpg123 doesn't it?
I do play music on my iPod, on which I can hear the sounds, so I need these files to be splitted properly.  Does anyone know of a splitter that produces all-decodable frames?  Or will I have to keep splitting them as wav?
Title: Cue sheets
Post by: dignick on 2005-06-15 17:29:11
Quote
Decode to wav, then split. Shouldn't happen. MP3 frames share data with the preceeding and following frame, so clean splits are tricky without decoding first.
[a href="index.php?act=findpost&pid=306375"][{POST_SNAPBACK}][/a]


Great, looks like lots more hard drive/CDRW usage for me 
Title: Cue sheets
Post by: SebastianG on 2005-06-15 17:36:17
Quote
I am using mpg123 in winamp, but the default winamp decoder is the same, and its the same in windows media player.  It doesn't do this at the start of every track, or it's not noticable anyway.
Strangely, I cannot hear the noises when played in foobar2000, and that uses mpg123 doesn't it?
[a href="index.php?act=findpost&pid=306381"][{POST_SNAPBACK}][/a]

I guess some players don't make use of the mpg123 library correctly. (really just a guess)

Quote
I do play music on my iPod, on which I can hear the sounds, so I need these files to be splitted properly.  Does anyone know of a splitter that produces all-decodable frames?  Or will I have to keep splitting them as wav?
[a href="index.php?act=findpost&pid=306381"][{POST_SNAPBACK}][/a]


There's a quick-and-dirty hack you can do if you're a programmer: Just make a copy of the last frame of the previous mp3-track and store it as first frame of the new mp3-track while zeroing the side-info block. This makes a silence frame containing the necessary bitreservoir informations for the next frame. You might want to mark this inserted silenceframe in order to be able to remove it automatically if you want to join the seperated tracks again. (Marking could be done via one of the 3 (stereo) or 5 (mono) private bits AFTER the mp3 header -- I guess the private bit in the header isn't really a safe place to put this information)

It's a quick hack 'cause you don't need any mp3 stream reformatting
It's a dirty hack 'cause it might only work in 99,9% of all cases.

Any volunteers ?
I'd do it myself but i'm rather busy right now


Sebi

edit: added remark about the 3/5 private bits after the header / fixed typos

edit2: since zeroing the side info block also requires recalcualtion of the CRC (if used) one could just set the protection bit in the header to 1 (1 = no CRC16 checksum). That'll simplify things.
Title: Cue sheets
Post by: dignick on 2005-06-15 19:36:47
It would be great if someone could make a splitter that produces all-decodable frames, as I know from experiance that none of the current splitters do it properly.  I would be happy to use the extra (I'm guessing) time and cpu power to reformat the streams like you said, as anything is better than what I am currently doing.  Or even a tool that converts to wave, splits, and converts back on the fly would be a better, faster, and easier option.

I'd pay for it if someone did it anyway.
Title: Cue sheets
Post by: SebastianG on 2005-06-15 22:23:36
You know what ?
Two years ago I already created a little app that may help you.

It's a tool that silences undecodable frames at the beginning of mp3 files. Since this is a destructive approach you won't be able to get the original mp3 back if you concatenate the tracks. But hey... at least you won't hear any noises. This is all I can offer for now.

grab it here (http://www.hydrogenaudio.org/forums/index.php?showtopic=34865)

Sebi
Title: Cue sheets
Post by: ponchorage on 2005-06-15 23:40:58
Have you tried using Foobar? Does it produce this problem as well?
Title: Cue sheets
Post by: dignick on 2005-06-16 18:03:02
Quote
Have you tried using Foobar? Does it produce this problem as well?

Quote
Strangely, I cannot hear the noises when played in foobar2000, and that uses mpg123 doesn't it?
[a href="index.php?act=findpost&pid=306381"][{POST_SNAPBACK}][/a]


I tried that app, but it had no effect on the noise at the start of the file, which seems strange as shouldn't that tool fix it for good?  It appears that the tool does not detect any bit-reservoir errors - from the results when running the tool:

MP3brfix (bit-reservoir-fix) v0.94(beta) © 2003/02-03 by ZeBee

first frame:
  MPEG1 Layer3 128kbps 44100Hz J-Stereo
  Xing-Tag present
  flags: [fc] [bc] [toc] [vs]
  LAME-Tag present  ( LAME 3.96r )
mp3 frames: 15199, VBR (183.7 kbps)
Bit-Res errors: 0
no CRC protected frames found.
ready.


Also, would you be able to add batch support to that tool to fix a folder of mp3's?

I'm not bothered if the original gapless stream is unrecoverable, as long as it plays gapless on my PC, because I don't burn anything to CD any more.

Thanks for your help btw.
Title: Cue sheets
Post by: ponchorage on 2005-06-16 18:09:06
I meant, have you tried track splitting using Foobar (not playing) and does it produce these problems as well?
Title: Cue sheets
Post by: dignick on 2005-06-16 18:35:31
oh, sorry.

Forgive me    but i am new to foobar.  How would I do this? I've had a look around but can't find how to do it.

Listening to the track more closely in foobar and comparing it to the original track playing directly from the cue file, I can hear the difference.  So the splitters are actually making mistakes when splitting the files and creating these sounds, it's just foobar did a good job of hiding it.  It's way more obvious in winamp.

As I say, I have tried many cue splitting programs, and all I have tried have this problem.  So maybe foobar will be better to split it, when I find out how...
Title: Cue sheets
Post by: tycho on 2005-06-16 19:01:44
Have you also tried http://mp3splt.sourceforge.net (http://mp3splt.sourceforge.net) ?
I think its the most flexible splitter available, and I've never had the problem you describe.
Title: Cue sheets
Post by: ponchorage on 2005-06-16 20:31:58
Just open up Foobar and load the cuesheet. Then go to the Foobar2000 menu--> Preferences. Next, look for "Diskwriter" and select it. You might not see this option if you didn't install the "Special" version of Foobar (which includes the diskwriter). Under Output Filename Formatting, I have:

Code: [Select]
%artist% - %album%\$num(%tracknumber%,2) - %artist% - %title%


but you can choose anything you like. Also, click on "Create subdirectories". Click on output presets and choose command line encoder: lame (the preset you want).
Then, click the edit button. This will open another window. In the "Encoder" textbox, browse to the location of lame.exe on your machine then click OK. Click Save All on the main preferences window and then close.

Then, select all tracks and right-click and choose "Convert-->Run Conversion". Choose the option you just edited (command line encoder: lame ...).

I think that's it!
Title: Cue sheets
Post by: dignick on 2005-06-16 21:21:15
Now, that works very nicely, but I guessed it would when i started looking at it as it re-encodes it.  I will probably use this in future unless I can get mp3split that tycho mentioned working, as it would be better than re-encoding it, and faster.  Thanks though Ponchorage, I had heard about foobar being able to split Cues but never found how to do it or anywhere that told me!

cheers
Title: Cue sheets
Post by: ponchorage on 2005-06-16 22:02:28
Quote
Now, that works very nicely, but I guessed it would when i started looking at it as it re-encodes it.  I will probably use this in future unless I can get mp3split that tycho mentioned working, as it would be better than re-encoding it, and faster.  Thanks though Ponchorage, I had heard about foobar being able to split Cues but never found how to do it or anywhere that told me!

cheers
[a href="index.php?act=findpost&pid=306639"][{POST_SNAPBACK}][/a]


Yeah, you're right, it reencodes. I hadn't thought of that. 
Title: Cue sheets
Post by: dignick on 2005-06-16 23:28:25
Quote
Quote
Now, that works very nicely, but I guessed it would when i started looking at it as it re-encodes it.  I will probably use this in future unless I can get mp3split that tycho mentioned working, as it would be better than re-encoding it, and faster.  Thanks though Ponchorage, I had heard about foobar being able to split Cues but never found how to do it or anywhere that told me!

cheers
[a href="index.php?act=findpost&pid=306639"][{POST_SNAPBACK}][/a]


Yeah, you're right, it reencodes. I hadn't thought of that. 
[a href="index.php?act=findpost&pid=306649"][{POST_SNAPBACK}][/a]


Hey, it's a lot better than encoding to wav, splitting, then back to mp3 again.  If i can't get mp3split working or it still makes the noises, I will definately be using foobar.

Just one more thing - do I need to add the --nogap switch to the LAME commandline?  That switch isn't even in the documentation for lame - why?

Thanks

EDIT: I noticed that using the --nogap switch makes the first track of the conversion appear as 35 minutes long when it's only about 5.  Strange.
Title: Cue sheets
Post by: dignick on 2005-06-17 10:06:13
MP3splt also makes the noises.  It couldn't be something specific to my computer could it?  I think I will try splitting on a different computer and see if it makes any difference.

Results:  Exactly the same.  Is there a codec that could be doing this?  I have the same codecs on both computers.

Edit:  Tried on a different PC that has the default windows codecs - same.

So, until someone makes an app that can split mp3's without these noises (and please tell me if you do), I'll use foobar.

Thanks
Title: Cue sheets
Post by: Jud on 2005-06-19 00:33:43
hey dignick,

I saw this post and couldnt resist trying to do it.  let me know if it works.  I tried it on about 4 or 5 different cue/mp3 albums and didn't hear any problems, although I may have just gotten lucky  It rewrites the LAME header so foobar reports the correct track lenghts.

Anyway you can grab it here: http://cdtag.com/splitcue.zip (http://cdtag.com/splitcue.zip)

Go to the tag tab on the upper right, select your CUE and hit File, Split CUE Sheet

Let me know if there's a problem I'll try to fix it.
Title: Cue sheets
Post by: dignick on 2005-06-20 11:11:47
I tried it.
At first, I thought it had worked, but when i got to track 11, the noises came clear again.  I really don't know why these noises are present, but they are.

Any thoughts?  Because I really would like to reslove this problem, otherwise it will keep bugging me

Thanks
Title: Cue sheets
Post by: SebastianG on 2005-06-20 17:42:47
sorry, for the absence (vacation to Scotland).

@Jud: Did you account for the bitreservoir ?

@dignick: Could you describe how you've done the splitting/fixing exactly ? I'm specifically interested in the used splitter. BTW: You can try to run LAME as a decoder with "--decode". It'll give you the "can't step back xxx bits" error message if the bitreservoir is incomplete. If it does it can be fixed with the mp3brfix app.

edit: you didn't take the first track, did you ? Because the first track will most likely NOT contain bit res errors.

Quote
MP3brfix (bit-reservoir-fix) v0.94(beta) © 2003/02-03 by ZeBee

first frame:
  MPEG1 Layer3 128kbps 44100Hz J-Stereo
  Xing-Tag present
  flags: [fc] [bc] [toc] [vs]
  LAME-Tag present  ( LAME 3.96r )
mp3 frames: 15199, VBR (183.7 kbps)
Bit-Res errors: 0
no CRC protected frames found.
ready.
[a href="index.php?act=findpost&pid=306589"][{POST_SNAPBACK}][/a]


That's odd. The app used to work actually. Either the splitter accounts for the bitreservoir (somehow badly perhaps -- which would explain the clicks) or you just ran mp3brfix on the first track.


Sebi
Title: Cue sheets
Post by: dignick on 2005-06-20 18:47:34
Using LAME to decode:

Quote
skipping initial 1105 samples (encoder+decoder delay)
Can't step back 78!
Frame# 17680/17681  256 kbps   MS


So yes, the bit reservoir is incomplete, but on the same track with mp3brfix:

Quote
MP3brfix (bit-reservoir-fix) v0.94(beta) © 2003/02-03 by ZeBee

first frame:
  MPEG1 Layer3 64kbps 44100Hz J-Stereo
  Xing-Tag present
  flags: [fc] [bc] [toc]
mp3 frames: 17682, VBR (213.6 kbps)
Bit-Res errors: 0
no CRC protected frames found.
ready.


The track doesn't change if I try to remove the bitreservoir errors, and decode with lame still gives the error.  And it's track 11 that I am doing this on.

Any cue splitter that I have used does this, for example besplit, or the tool that Jud suggested.  Using splitcue that jud suggested or besplit both give 0 bit-res errors in mp3brfix but I still get 'can't step back' errors when using lame.  I noticed that the 'Can't step back' values change for the different splitting tools.

If I use foobar to split/re-encode, there are no 'Can't step back xxx!' errors on the same track.
Looks like you hit on the reason for the noises sebastian, right from the start!
Title: Cue sheets
Post by: Jud on 2005-06-21 05:32:40
Quote
@Jud: Did you account for the bitreservoir ?
[a href="index.php?act=findpost&pid=307537"][{POST_SNAPBACK}][/a]

Sebi,

I tried your method with using the last frame from the previous track and zero'ing the side information (32 bytes after the 4 byte header, assumg M1L3).  This produced a small but noticeable gap between tracks, and since I can't hear the difference when it just does a clean frame break I went with that method.

If you have any other suggestions I'd be willing to try them out if you're too busy.
Title: Cue sheets
Post by: dignick on 2005-06-21 07:53:25
Quote
Quote
@Jud: Did you account for the bitreservoir ?
[a href="index.php?act=findpost&pid=307537"][{POST_SNAPBACK}][/a]

Sebi,

I tried your method with using the last frame from the previous track and zero'ing the side information (32 bytes after the 4 byte header, assumg M1L3).  This produced a small but noticeable gap between tracks, and since I can't hear the difference when it just does a clean frame break I went with that method.

If you have any other suggestions I'd be willing to try them out if you're too busy.
[a href="index.php?act=findpost&pid=307710"][{POST_SNAPBACK}][/a]


Is that not the gap that normally occurs between tracks, that can be removed with a mpg123 decoder?

Also, what player/decoder are you using to play the files Jud?

Could you not make
Quote
I tried your method with using the last frame from the previous track and zero'ing the side information (32 bytes after the 4 byte header, assumg M1L3)

an option?
Title: Cue sheets
Post by: SebastianG on 2005-06-21 14:49:07
Quote
MP3brfix (bit-reservoir-fix) v0.94(beta) © 2003/02-03 by ZeBee

first frame:
  MPEG1 Layer3 64kbps 44100Hz J-Stereo
  Xing-Tag present
  flags: [fc] [bc] [toc]
mp3 frames: 17682, VBR (213.6 kbps)
Bit-Res errors: 0
no CRC protected frames found.
ready.


I guess I know what happened. Try the new mp3brfix version.

edit: some more explanations: Appearently the splitter wrote a frame containint a Xing tag. The thing is that if you decode this frame es well you have enough bits in the reservoir. That's why the old version of mp3brfix did not complain. The newer version ignores all the main data bits in such a frame.

get it here (http://www.hydrogenaudio.org/forums/index.php?showtopic=34865&pid=307817&st=0&#entry307817)

Sebi
Title: Cue sheets
Post by: dignick on 2005-06-21 15:41:32
Sebi:  THANK YOU!!!

The new version works great, now I can use normal cue splitters without having to use foobar to split and re-encode!  And using mpg123 provides gapless playback!

Thank you again, great work. 

Now jud, could you add that option into splitcue?

edit: small complaint, it does leave a very small (but still noticable when playing music that is mixed together) gap between the tracks that isnt removed by mpg123 or silencing tools in playback.
Title: Cue sheets
Post by: SebastianG on 2005-06-21 17:42:31
Quote
The new version works great, now I can use normal cue splitters without having to use foobar to split and re-encode!  And using mpg123 provides gapless playback!

edit: small complaint, it does leave a very small (but still noticable when playing music that is mixed together) gap between the tracks that isnt removed by mpg123 or silencing tools in playback.
[a href="index.php?act=findpost&pid=307836"][{POST_SNAPBACK}][/a]


That's due to the silencing of undecodable frames. I said it's a destructive algorithm.
The next step would be to place the missing bitreservoir data right behind the frame containing the LAME tag (instead of silencing frames) and adjusting the LAME tag to compensate for the higher delay withing an mp3 splitter. (I won't do it.)

bye,
Sebi
Title: Cue sheets
Post by: dignick on 2005-06-21 17:52:56
Quote
The next step would be to place the missing bitreservoir data right behind the frame containing the LAME tag (instead of silencing frames) and adjusting the LAME tag to compensate for the higher delay withing an mp3 splitter. (I won't do it.)


So that would fix it?  I wish I knew more so I could do this myself!
Title: Cue sheets
Post by: SebastianG on 2005-06-21 17:57:01
Quote
I tried your method with using the last frame from the previous track and zero'ing the side information (32 bytes after the 4 byte header, assumg M1L3).  This produced a small but noticeable gap between tracks, and since I can't hear the difference when it just does a clean frame break I went with that method.

If you have any other suggestions I'd be willing to try them out if you're too busy.
[a href="index.php?act=findpost&pid=307710"][{POST_SNAPBACK}][/a]

Since you are rewriting the LAME-tag-frame (are you?) you could increase the encoder/decoder delay value by 1152 if this is possible. That should remove the gap if you play it on LAME-tag-aware decoders.

Sebi
Title: Cue sheets
Post by: Jud on 2005-06-21 18:04:24
Quote
Since you are rewriting the LAME-tag-frame (are you?) you could increase the encoder/decoder delay value by 1152 if this is possible. That should remove the gap if you play it on LAME-tag-aware decoders.

Sebi
[a href="index.php?act=findpost&pid=307863"][{POST_SNAPBACK}][/a]


Yes, I'm rewriting it to be kind to my friend foobar.

Excellent idea about encoder/decoder delay.  I'll try this later tonight.  Thanks Sebi!

digi, I tested with foobar, Winamp, and Media Player.  I'm not sure which decoder libraries they're using but I haven't changed the defaults.
Title: Cue sheets
Post by: SebastianG on 2005-06-21 18:19:17
BTW: It may be necessary to duplicate more than one frame. Imagine a 128 kbps CBR stream where the framesize is around 8*417 bits and the main data section is around 8*(417-4-32) bits large and the bitreservoir is 8*511. So, if the bit res pointer in the 'critical' frame exeeds something around 417-4-32=381 you need the next to last frame of the prevois file as well.

This is how I did it:
- remember the count of valid bits in the bitreservoir in some variable 'bitResSize' (in bytes)
- read next frame, bitResPointer = first 9 bits of the side info block (it's 8 bits in case of MPEG2/2.5)
- if the bitResPointer is greater than bitResSize -> undecodable frame -> silencing
- compute amount of maindata bytes in the current frame (framesize in bytes - hs - sis - crcs)
- set bitResSize = max(bitResSize + maindatasize, maxBitRes)

hs = header size (4 bytes)
sis = size of side info block (32,17 or 9 bytes depending on the type of stream)
crcs = protectionbit == 1 ? 0 : 2 bytes
maxBitRes = mpeg1 ? 511 : 255 bytes

So, the splitter should calculate and memorize last seen frames and how many maindata bystes are present in the last seen frames. At a splitpoint the new frame's bitResPointer is to be examined. Depending on that value and the size of the preveois maindata sections a count of frames can be calculated that have to be duplicated (with zero'd side info blocks). Due to the duplication/silencing of frames there'll be a gap of (mpeg1 ? 1152 : 576)*(count of duplicated frames) samples. -- Could be compensated via LAME-tag, I guess.

bye,
Sebi
Title: Cue sheets
Post by: Jud on 2005-06-21 19:40:57
Sebi, Thanks again.  I finally found a track that blips in Winamp.  foobar is too damn smart to test with.    I imagine Winamp does not adjust for the sample offset since setting the encoder/decoder delay, even to a ridiculous number, has no effect and a small gap is present.  Do you know of a setting to make use of the delay in the LAME tag?
Title: Cue sheets
Post by: Jud on 2005-06-22 04:24:32
digi,

Try this, I added a few more options for splitting CUE's (not quite as robust as Sebi's suggestion but getting there): http://cdtag.com/downloads/cdtag220.1432.zip (http://cdtag.com/downloads/cdtag220.1432.zip)

Unfortunately I can't reproduce the MP3 that blipped on me  Also, if your main problem is Winamp you can try the MAD plug-in here: http://www.mars.org/home/rob/proj/mpeg/mad-plugin/ (http://www.mars.org/home/rob/proj/mpeg/mad-plugin/)  It works in Winamp5.
Title: Cue sheets
Post by: dignick on 2005-06-22 16:07:56
Jud,
It's getting better!
So far, I have only found one file that made a small sound at the start when split with the new version and the bit reservoir option enabled.  Mostly though, the transitions between tracks aren't perfect; it will skip a bit or something (like it does when fixed with sebi's mp3brfix tool), but there were two tracks that blended perfectly, which was nice to hear!
In winamp i'm using the mpg123 decoder so it will remove the silent frames at the beginning and end of LAME encoded tracks on playback.  And I need to have the bit reservoir errors fixed otherwise I can hear the sounds on my ipod, on which (unfortunately) I can't change the decoder on.

Please keep on trying to sort this though, because you have done a lot already, and it's making me happy .  This splitter already beats all the others that I've tried.

If you want me to record it making any noises or the skips between some tracks when there shouldn't be, or anything, just say.

Thanks.
Title: Cue sheets
Post by: kode54 on 2005-06-23 15:56:07
I already tried that method. Well, at least, actually checking the packet/byte dependency and supporting only single-packet dependency. Even blanking the side information, or simply blanking the main data length fields in each of the granules, results in slightly different output.

Even when using the LAME tag delay/padding information to absorb the difference (accounting for decoder delay at the start, and including it in the padding) the resulting audio data is slightly different from the original range. Sometimes the ends line up, and sometimes there's an audible difference. There's probably a lot more to this than simply silencing the reservoir fill packet...


Regarding the LAME gapless information, as noticed above. The VBR packet should always be skipped, but it is up to the splitter to include any silence packets in the delay/padding. Decoder delay should also be included in the padding.

So:

MPEG-1 layer 3, VBR header with LAME tag info, 16 packets of audio.

16 * 1152 -> 18432 samples.

Header specifies a delay of 576 (usual with LAME encodes.) and 804 worth of padding, for a resulting length of 17052 samples.

In CoolEdit Pro, Adobe Audition, or any other editor which does not account for VBR packets or delay/padding, you would make the following cuts:
I'm not sure how most decoders handle silence frames (32kbps or otherwise) when no VBR header is present. As far as I know, they should be decoded and output normally if VBR header is present, and only the resulting samples skipped to account for specified encoder delay/padding.

(Did someone already post about encoder delay/padding handling in another topic?)
Title: Cue sheets
Post by: dignick on 2005-06-30 13:00:55
Any further progress on this?  I've got quite a few mp3's waiting to be split, and I'd like to do it properly!  I found an app called mp3directcut that cuts the mp3's with no gaps or noises, but gets loads of resyncs, meaning that sometimes the start of each track is a long way from where it should be.
I noticed a fix mp3 header option when you right click on an mp3 in foobar.  This fixes the noises, but, like sebi's tool, leaves gaps between the tracks on playback.  The only solution so far that doesn't is splitting in foobar (re-encoding).
Title: Cue sheets
Post by: dignick on 2005-07-01 14:18:36
Hey,
Just tried something different, and it works almost perfectly.
If I fix the mp3's with sebi's tool, and then fix the mp3 header in foobar, disable padding (set padding as 0), and check rebuild entire stream, when i play it in winamp I don't think there is any gap, but it kind of jumps slightly.  Maybe that is a gap.
Anyway that works quite well, but I would prefer it to work perfectly.
Title: Cue sheets
Post by: dignick on 2005-07-08 12:53:25
Found a very good if not perfect solution:
Split using CD tag with the bit reservoir option enabled, then fix with sebi's tool.  Haven't been able to fault it (at least I don't think I can hear any problems )

EDIT: For some reason i needed to use sebi's tool the first time i did a split, but just using cd tag works great now.  Nice wok Jud!
Title: Cue sheets
Post by: SebastianG on 2005-07-09 14:57:53
I've good and bad news:

Good news: I had some free time yesterday and started developing an app which is supposed to do sample granular splitting perfectly. It's almost finished.

Bad news:
see this thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=35407)

Sebi
Title: Cue sheets
Post by: SebastianG on 2005-07-13 15:49:33
I finished writing it. People interested in it should whine in the thread I linked above to make it worth trying out.

Sebi
Title: Cue sheets
Post by: Never_Again on 2005-07-15 02:31:24
Whine (http://www.tfd.com/whine)??
Title: Cue sheets
Post by: SebastianG on 2005-07-15 11:46:19
Quote
Whine (http://www.tfd.com/whine)??
[a href="index.php?act=findpost&pid=313463"][{POST_SNAPBACK}][/a]


You may substitute it for "complain" in this case.
(Complaining about Foobar 0.8.x not acceptiong encoder delay values above 1152 which renders my splitter useless)

Unfortunately I can't try Foobar 0.9 beta.
(I'm still using a Win98se box)

Sebi
Title: Cue sheets
Post by: dignick on 2005-07-15 14:43:17
Is this a plugin for foobar then, to split the tracks?  I don't think Jud's tool does work perfectly yet.  Will foobar 0.9 be released soon (i.e. can't you wait for it) or will you not be able to use the final 0.9 on 98?
Title: Cue sheets
Post by: SebastianG on 2005-07-15 20:05:08
No, it's not a plugin. it's a standalone mp3 splitter.
AFAIK Foobar 0.9 (beta) doesn't/won't run on Win98.

Sebi
Title: Cue sheets
Post by: dignick on 2005-07-15 23:23:34
Good stuff sebi.  Why do you need foobar?  I added a little support to your thread about the limitations.  Can't you do what kode54 said though?

Thanks for this app sebi, if it gets released
Title: Cue sheets
Post by: SebastianG on 2005-07-16 22:02:56
Oh, boy! I'm currently testing it on a WinXP box with Foobar 0.9 beta 5. It works like charm. I've splitted an mp3/cue image (DJ set). Each resulting track's length is divisible by 588 (yeah! sample accurate splitting, baby!). There are no gaps/clicks between the tracks to hear. mp3brfix reports "no bitreservoir errors"

I'll be releasing it after some more testing.

Quote
Why do you need foobar?


The number of players which properly handle the LAME tag and don't close and reopen the audio device (between tracks) is very limited. (I'm only aware of Foobar 0.9 beta doing all this). But I guess WinAMP + in_mpg123 + some good output plugin will do it as well (havn't tried). To answer your question: A decoder which properly handles the LAME tag is needed in order to be able to test the splitter.

I'd be happy to see a patch for Foobar2k 0.8.3 released.

edit: see this thread (http://www.hydrogenaudio.org/forums/index.php?showtopic=35654). Post #5 is about a Foobar 0.8.3 hack to make it work.

Sebi
Title: Cue sheets
Post by: Gambit on 2005-07-17 10:43:38
Quote
I'd be happy to see a patch for Foobar2k 0.8.3 released.
[a href="index.php?act=findpost&pid=313933"][{POST_SNAPBACK}][/a]

You better not hold your breath...
Title: Cue sheets
Post by: dignick on 2005-07-17 17:46:41
Nice one sebi!  So will I have to play the splitted tracks in foobar?  Or is that just for testing?  I'm guessing this app will support cue sheet splitting then?  Is it a command line app?

Thanks again