Skip to main content

Topic: Lame Tag (Read 3262 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Jojo
  • [*][*][*][*][*]
Lame Tag
I'm trying to figure out what all the information indicates that are stored within the Lame Tag and what the differences are. I already used google and the forum search, but all I could find was a post by JohnV, but he did not really explain the differences...so here we go again.

Quality: - seems to differ a lot, even in CBR files
Tag Revision:
VBR Method: What are the differences? It uses a different method when using one of the fast presets
Psycho-acoustic Model
Safe Joint Stereo - but why isn't there another field called 'Joint Stereo'?
- nogap (continued)
- nogap (continuation)
ATH Type
Noise Shaping some files use 1 others 2 etc. etc.

Thanks
--alt-presets are there for a reason! These other switches DO NOT work better than it, trust me on this.
LAME + Joint Stereo doesn't destroy 'Stereo'

  • getID3()
  • [*][*][*][*]
  • Developer
Lame Tag
Reply #1
I assume you've read through the LAME tag documentation?
http://gabriel.mp3-tech.org/mp3infotag.html

(No, I know it doesn't explain the different VBR methods etc but it's a start)
getID3() = PHP audio & video metadata parser: http://getid3.sourceforge.net
Current version: v1.7.0 (released January 19, 2004)

  • Jojo
  • [*][*][*][*][*]
Lame Tag
Reply #2
Quote
I assume you've read through the LAME tag documentation?
http://gabriel.mp3-tech.org/mp3infotag.html

(No, I know it doesn't explain the different VBR methods etc but it's a start)

Thank you very much for your answer, getID3()! Yes, I’ve read through the LAME tag documentation. However, I still don't understand the differences. For instance the different values for "Noise Shaping" or the "ATH Type" or the "Quality" values (some file have 0 others 100) .
--alt-presets are there for a reason! These other switches DO NOT work better than it, trust me on this.
LAME + Joint Stereo doesn't destroy 'Stereo'

  • getID3()
  • [*][*][*][*]
  • Developer
Lame Tag
Reply #3
As for the actual differences between the various noise shapings, ATHtypes, etc - I don't know any more than you

But the VBR Quality number, that I understand.  Xing (who invented the VBR header that LAME adapted into the LAME tag) had VBR Quality as part of their tag, but the scale wasn't documented as to what's 100% and what's 0% (I guess I could dig out some old Xing encoders and figure it out myself... maybe later ). So in the LAME tag, the quality has been defined as:
Code: [Select]
100 - ((VBR_q * 10) + quality)
So if you encode something as -V4 -q2 the stored quality would be
Code: [Select]
100 - ((4 * 10) + 2)
100 - 42
58


For CBR files, the quality value is useless as it's hardcoded to "58" for everything from 32kbps to 320kbps!


For presets, the quality number doesn't make a whole lot of sense either:
Code: [Select]
58 = insane (320 CBR)
67 = fm/radio/tape (112 CBR)
78 = hifi (160 CBR)
78 = [fast] standard (~192+ VBR)
78 = [fast] extreme (~224+ VBR)
88 = cd (192 CBR)
88 = r3mix (~192 VBR)
99 = studio (256 CBR)

So obviously the quality number is pretty much useless (320kbps is 70% worse than 256kbps?) (extreme is the same quality as 160CBR?)
In summary, disregard whatever this value has stored as any indication of quality - its only use is to derive what -V and -q settings were used for non-preset encodings.
getID3() = PHP audio & video metadata parser: http://getid3.sourceforge.net
Current version: v1.7.0 (released January 19, 2004)

  • Jojo
  • [*][*][*][*][*]
Lame Tag
Reply #4
Quote
For CBR files, the quality value is useless as it's hardcoded to "58" for everything from 32kbps to 320kbps!

I don't think so! I have CBR 192 files that have Quality 60, others 55!
All my ABR files use 58. Very confusing 
But thank you anyway
--alt-presets are there for a reason! These other switches DO NOT work better than it, trust me on this.
LAME + Joint Stereo doesn't destroy 'Stereo'

  • getID3()
  • [*][*][*][*]
  • Developer
Lame Tag
Reply #5
Clarification: All CBR files encoded with the latest LAME v3.90.3 give a quality value of "58". Not that it means anything anyways 
getID3() = PHP audio & video metadata parser: http://getid3.sourceforge.net
Current version: v1.7.0 (released January 19, 2004)

  • Jojo
  • [*][*][*][*][*]
Lame Tag
Reply #6
Quote
Clarification: All CBR files encoded with the latest LAME v3.90.3 give a quality value of "58".

Just for the record: this is not true. I found a file that has been encoded with LAME 3.92 and uses 60; another file encoded with LAME 3.93 shows 55.
--alt-presets are there for a reason! These other switches DO NOT work better than it, trust me on this.
LAME + Joint Stereo doesn't destroy 'Stereo'

  • magic75
  • [*][*][*][*][*]
Lame Tag
Reply #7
Quote
Quote
Clarification: All CBR files encoded with the latest LAME v3.90.3 give a quality value of "58".

Just for the record: this is not true. I found a file that has been encoded with LAME 3.92 and uses 60; another file encoded with LAME 3.93 shows 55.

But he never said anything about 3.92 & 3.93, just 3.90.3...

  • bfourney
  • [*][*]
Lame Tag
Reply #8
I'm curious where exactly the Lame header is.  Is it at the beginning of the file, the end, part of every frame?  If at the biginning or the end is it between any ID3v1 or v2 tags and the file itself?

I've also been wondering what the --nogap option is for.  It seems to be contradictory in that files made with the swich on play with more of a gap than without the switch.  It also seems to strip the Lame header and screw with the song length calculation.

  • getID3()
  • [*][*][*][*]
  • Developer
Lame Tag
Reply #9
I have just encoded all possible CBR files (121 of 'em!) using 3.90.3, 3.91, 3.92 and 3.93.1 (earlier versions don't support the LAME tag) using both -b ??? and --alt-preset cbr ???.
Results: Every file comes out as VBR_Quality == 58, with the exception of -b ??? with LAME 3.91, which come out as 55.

@Jojo
I'd be quite interested in seeing these two files that you have (3.92 @ 60 and 3.93@ 55). Could you send me at least the first 1kB (so I can look at the LAMEtag frame and the first data frame(s)) of each, either to info@getid3.org or http://www.getid3.org/upload/ ?

Edit: <looks at sample files> You're right... those files do have values of 55, 60, even 88! Strange    Different compiles of LAME? Maybe DLL vs. EXE? I dunno...
  • Last Edit: 15 October, 2003, 11:28:48 AM by getID3()
getID3() = PHP audio & video metadata parser: http://getid3.sourceforge.net
Current version: v1.7.0 (released January 19, 2004)

  • getID3()
  • [*][*][*][*]
  • Developer
Lame Tag
Reply #10
Quote
I'm curious where exactly the Lame header is.  Is it at the beginning of the file, the end, part of every frame?  If at the biginning or the end is it between any ID3v1 or v2 tags and the file itself?

It's basically an extension of the Xing VBR header frame, which is the first valid MP3 data frame (although it doesn't contain any audio data). So it's located at the beginning of the file, after any ID3v2 tag that may be present and before the actual MP3 audio data. So your file could look like, with everything in place:
[ID3v2 tag]
[Xing/LAME or Fraunhofer VBR header frame]
MP3 audio data
[APE tag]
[Lyrics3 tag]
[ID3v1 tag]
getID3() = PHP audio & video metadata parser: http://getid3.sourceforge.net
Current version: v1.7.0 (released January 19, 2004)