Rockbox

Tasklist

FS#12621 - Cue Sheet Timings for MP3 files are slightly misinterpreted

Attached to Project: Rockbox
Opened by Xavier Brigantino (XavierB) - Tuesday, 20 March 2012, 14:12 GMT
Last edited by Michael Sevakis (MikeS) - Tuesday, 20 March 2012, 23:53 GMT
Task Type Bugs
Category ID3 / meta data
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.10
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The cue sheet time information for mp3 VBR files is not correctly interpreted. Usually the "jump" to the next song/section is too short, so it jumps to the end of the currently played song, with some 3-5 seconds left to play.

mp3 CBR, aac, ogg vorbis, flac and WAVE encoded files are not affected by this bug.

I'm using a Sansa Clip+ with the 3.10 release, but this bug can be reproduced with several Rockbox simulator builds. (I tested it on the Sansa Clip+, Fuze v2 and iPod Nano 2 gen simulator builds.) This bug persist in the latest build (94139ac). (I did a quick check, and it's also present in the 3.9.1 build.)

This file can be used as reference and I attached the correspondent cue sheet:

http://ia600802.us.archive.org/18/items/bmix265-kpop/mix265kpop.mp3

It's pretty obvious on the last song.
This task depends upon

Closed by  Michael Sevakis (MikeS)
Tuesday, 20 March 2012, 23:53 GMT
Reason for closing:  Not a Bug
Additional comments about closing:  Nothing indicates a bug, just possible room for improvement.
Comment by Michael Sevakis (MikeS) - Tuesday, 20 March 2012, 20:50 GMT
How well cuesheets work depends upon the ability of the codec to seek accurately. I get inaccuracies of about a minute in VLC, biased towards cutting off the beginning of the song rather than coming in too early by a few seconds. Rockbox seems to be performing better.
Comment by Michael Sevakis (MikeS) - Tuesday, 20 March 2012, 20:55 GMT
I will confess to one thing that could help matters in some cases, the file size passed to the codec is the file size, not the decodable data size (file size minus other metadata at the ends).
Comment by Xavier Brigantino (XavierB) - Tuesday, 20 March 2012, 22:02 GMT
"How well cuesheets work depends upon the ability of the codec to seek accurately."

I agree. But I encoded the same file as AAC and ogg Vorbis, i.e. codecs with variable bitrates, and Rockbox didn't have any problem seeking the right position.

"I get inaccuracies of about a minute in VLC"

Well, VlC's cue sheet support is rather underwhelming. I just tried it and it fails to seek the correct position with mp3 VBR, ogg Vorbis and flac files. But AAC works without problems.
Comment by Michael Sevakis (MikeS) - Tuesday, 20 March 2012, 22:20 GMT
"I agree. But I encoded the same file as AAC and ogg Vorbis, i.e. codecs with variable bitrates, and Rockbox didn't have any problem seeking the right position."

Then you can agree they aren't the same format and won't necessarily produce the same results.

"Well, VlC's cue sheet support is rather underwhelming. I just tried it and it fails to seek the correct position with mp3 VBR, ogg Vorbis and flac files. But AAC works without problems."

Per above, it's not about support since there is so very little to support; it's about seek accuracy when given a time index, which varies with the format and is sometimes compromised to make seek time acceptable. I would never expect MP3 to be perfectly accurate without iterating through every frame between seek table points unless the table points exactly to the seek positions that correspond to the cuesheet seek points. I'd recomnend another format for cuesheet usage than MP3. XING headers exist to help (your file has one), but it won't be perfect.
Comment by Xavier Brigantino (XavierB) - Tuesday, 20 March 2012, 22:47 GMT
"Then you can agree they aren't the same format and won't necessarily produce the same results."

I do agree. :-)

And let me re-phrase it: VLC's accuracy is rather underwhelming, compared to foobar2K or Audacious.

I'll just re-encode the files for my Clip+ then.

Don't know, if this task should be left open or not. I leave the decision to the developer community.

Thanks!
Comment by Michael Sevakis (MikeS) - Tuesday, 20 March 2012, 23:52 GMT
NP. The cuesheet support code is the same no matter the format. It would be ill-advised expect a major improvment in accuracy without a revision of the mpa codec's seek code, which is possible. I wouldn't consider this a bug per se, even if it's not optimal.

Loading...