[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#434465: ITP: vbrfix -- tool to correct MP3 files with incorrect Variable BitRate information

Package: wnpp
Severity: wishlist
Owner: "Rogério Brito" <rbrito@ime.usp.br>

* Package name    : vbrfix
  Version         : 0.24
  Upstream Author : William Pye <will@willwap.co.uk>
* URL             : http://www.willwap.co.uk/Programs/vbrfix.php
* License         : GPL
  Programming Lang: C++
  Description     : tool to correct MP3 files that have broken Variable BitRate information

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.

Unfortunately, the problem is that many MP3 MP3 decoders estimate the
time of a MP3 file based on the first bitrate they find and the
filesize.  This means that the "prediction" used by such decoders is
wildly wrong with VBR encoded files and, as a result, 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 a
file encoded 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

The problem arises because some poor encoders don't produce this null
frame or do so incorrectly and 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.

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: i386 (i686)

Kernel: Linux (SMP w/1 CPU core; PREEMPT)
Locale: LANG=C, LC_CTYPE=pt_BR (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Rogério Brito : rbrito@{mackenzie,ime.usp}.br : GPG key 1024D/7C2CAEB8
http://www.ime.usp.br/~rbrito : http://meusite.mackenzie.com.br/rbrito
Projects: algorithms.berlios.de : lame.sf.net : vrms.alioth.debian.org

Reply to: