vbrfix(1) fix erroneous VBR MP3 files


vbrfix -flag1 -flag2 -flagn in.mp3 out.mp3


In an average song there are points that require high quality and points that require low quality (i.e., silence). Instead of having the whole file at 160kbps (CBR - Constant Bit Rate), we can use VBR - Variable Bit rate. This allows us to have say 96Kbps at points not requiring high quality and 192kbps when we need it: resulting in an overall smaller but higher quality MP3.

However, the problem is that many MP3 programs estimate the time of a MP3 based on the first bitrate they find and the filesize. With VBR you can get fairly random times; as most songs start with silence you usually get the song length being shown as much longer than it should be. Also when you jump through the file in VBR: 50% through the file is not 50% through the song.

A VBR null frame is placed at the beginning of the file to tell the MP3 player information about the song length and indexing through the song. Some poor encoders don't produce this null frame or do so incorrectly - this is what vbrfix attempts to fix. Vbrfix can also fix other problems with MP3s as it deletes all non-MP3 content (other than tags you state you want to keep).

It can also help when merging two VBR MP3s together with a merging tool and then needing a newly calculated VBR null frame.

-ri1 removeId3v1 Tag
-ri2 removeId3v2 Tag
-skiplame if a tag was made by LAME don't fix it
-always always write a new file even if not VBR
-makevbr make it VBR (you need -always also)
-log write a log file
-lameinfo keep the lame info