VBR times

Posted by: gryning

VBR times - 13/02/2002 07:54

VBR files ripped with musicamatch jukebox and fraunhofer codec when played back show incorrect track length...
c^
Posted by: Roger

Re: VBR times - 13/02/2002 08:21

Yep. We know. There's nothing we can do about it unless FhG release documentation for their VBRI header format.

In the meantime, use something like MP3 Tag Studio to generate Xing VBR headers, which we can read.
Posted by: mlord

Re: VBR times - 13/02/2002 08:46

I just typed "VBRI header format" into Google, and found this (below).

It certainly is not "the official word", but it looks like more than enough to go forward with in the interim.

-ml



[MP3 ENCODER] FhG VBR header

Mathew Hendry [email protected]
Mon, 22 Jan 2001 13:01:13 -0000

> From: "Mathew Hendry" <[email protected]>
> Sent: Friday, January 19, 2001 11:20 AM
>
> Anyone know the format of the VBR header added by FhG coders? It isn't the
> same as the Xing tag - the only player/decoder I have that recognises it
is
> MusicMatch Jukebox.
>
> It's marked as a 160kbit/s stereo frame, and contains the string "VBRI" at
> offset 0x24.

I had a closer look at these tags over the weekend.

On all the files I looked at (30 or so) the header is set as 160kbit/s, stereo, even if the rest of the MP3 is joint stereo or other. I think that makes FhG's VBR encoder non-compliant.

Here's a breakdown of the frame structure - some stuff (marked ?) I'm not sure about.

0x0000 \
0x0001 |_______ MPEG header (160kbit/s, stereo)
0x0002 |
0x0003 /
0x0004 0x00 empty

...... .... ... .....

0x0023 0x00 empty
0x0024 0x56 'V'
0x0025 0x42 'B'
0x0026 0x52 'R'
0x0027 0x49 'I'
0x0028 0x00 ? version
0x0029 0x01 ? version
0x002a 0x09 ? version
0x002b 0x31 ? version
0x002c 0x00 ? quality (high byte)
0x002d quality (1-100)
0x002e \
0x002f |_______ file length in bytes
0x0030 |
0x0031 /
0x0032 \
0x0033 |_______ file length in frames
0x0034 |
0x0035 /
0x0036 \_______ number of seek offsets
0x0037 /
0x0038 0x00 ?
0x0039 0x01 ?
0x003a 0x00 ?
0x003b 0x02 ?
0x003c \_______ offset "stride" (number of frames between offsets)
0x003d /
0x003e \_______ seek offset 0 (from beginning of file)
0x003f /
0x0040 \_______ seek offset 1 (from previous offset)
0x0041 /

...... .... ... .....

0x0208 \_______ seek offset n (from previous offset)
0x0209 /


For smallish files, the seek offsets seem to be straightforward byte
offsets. For larger files it's using something different - not sure what yet.
Posted by: Roger

Re: VBR times - 13/02/2002 09:42

I found that page about 2 months ago. However, see the caveat at the bottom:

For larger files it's using something different - not sure what yet.

This is what's causing us the difficulty. I've got a program that works out where the frame headers are and then correlates them to those stored in the header. The error numbers are suspiciously round, but the deltas involved are by no means regular.

We're hoping that someone will just hand us the spec (even under NDA would be fine), and then we can deal with this properly.

Posted by: mlord

Re: VBR times - 13/02/2002 09:49

Well, I guess if they were clever it would be a frame count, or something based on the "stride" field above..

Sounds easy enough to figure out with some "lab work".

Cheers
Posted by: Roger

Re: VBR times - 13/02/2002 09:57

Yeah, that's what I thought too. The numbers don't add up, though.
Posted by: SE_Sport_Driver

Re: VBR times - 13/02/2002 10:14

There are some MusicMatch employees on this board... maybe, if not under their own NDA, they could privately share some information.
Posted by: Roger

Re: VBR times - 13/02/2002 10:16

I know. One of them (svferris?) offered to try to get hold of someone else in MusicMatch/FhG who could help us with this. Nothing so far, though.
Posted by: svferris

Re: VBR times - 13/02/2002 11:36

I never heard back from you on whether you wanted contact info.

The issue was with the VBRI header, as you stated. I talked to one of the developers here and he said that we don't do anything with the VBRI stuff ourselves. The Fraunhofer encoder does it all itself. So, you'd be best contacting Fraunhofer regarding the VBRI specs. If you want, I can get you some contact info for somebody over there that should be able to help.
Posted by: mschrag

Re: VBR times - 16/04/2002 05:33

Speak of the devil. I wrote to Thomson Multimedia, and the mp3 support guy sent me these documents with permission to share them with people.

Hopefully this will clear up some issues.

Mike
Posted by: rob

Re: VBR times - 16/04/2002 08:19

Thanks, we received that same file today.

Rob
Posted by: rob

Re: VBR times - 16/04/2002 08:24

*doh* Turns out we already knew all of that information. Either MusicMatch or the FhG encoder has a bug and is writing invalid headers.

Rob
Posted by: mschrag

Re: VBR times - 16/04/2002 08:25

That sucks ...
Posted by: Roger

Re: VBR times - 16/04/2002 08:43

It's fine for small files. Large files (i.e. of the order of half a CD) exhibit a problem with an invalid VBRI header. I've emailed svferris directly with the problem. Hopefully, he can forward the bug to the relevant people within MM or FhG.