Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MP3LINT(1)	      User Contributed Perl Documentation	    MP3LINT(1)

       mp3lint - checks	directories of audio files for problems

       mp3lint [-natsfiqdch] [-T tool] [-X tool] (file.mp3|dir)...

       mp3lint is a tool to check collections of audio files for various
       problems. It is highly configurable, allowing you to specify your
       preferred format	for filenames, minimum bitrate,	tests to ignore, etc.
       Formats checked are currently mp3, ogg, wav, flac, au, and m3u
       playlists.  mp3lint is implemented as seperate tools (perl modules),
       each of which implements	a set of tests.

       To see which tools and tests are	available, see mp3lint-tools(3).

       To find out about configuring mp3lint, see mp3lintrc(5).

       To find out about suppressing messages you don't	care about, see

       To find out about summarising the messages from mp3lint,	see

       For a first run,	try mp3lint -n musicdir/

       To check	for supplementary programs used	by mp3lint, use	mp3lint	-c

       If the number of	messages from mp3lint is overwhelming, use
       mp3lintsum(1) to	summarise them.

       Later, you will want to configure your .mp3lintrc to specify your
       filename	formats, etc. (See mp3lintrc(5)) When you have done that, you
       can try again without the -n flag to run	the filename tests too.

       When you	have fixed all the problems you	can/want to fix, run mp3lint
       musicdir/ |mp3lintskip -v which will tell mp3lint to ignore all current
       warnings	in future, and only tell you about new ones.

       -n  Skip	filename related tests

       -a  If it cannot	work out from a	files location whether to treat	it as
	   an album track or non-album track, it defaults to album track.

	   This	is the same as setting the $format_default configuration
	   variable (see mp3lintrc(5)) to "album", and overrides that setting.

       -t  If it cannot	work out from a	files location whether to treat	it as
	   an album track or non-album track, it defaults to non-album
	   (standalone)	track.

	   This	is the same as setting the $format_default configuration
	   variable to "track",	and overrides that setting.

       -s  If it cannot	work out from a	files location whether to treat	it as
	   an album track or non-album track, it defaults to skipping all
	   name-related	tests.

	   This	is the same as setting the $format_default configuration
	   variable to "album",	and overrides that setting.

       -f  Fix problems, where possible. Currently it only fixes permissions
	   (filesys:perms) and various filename	formatting problems
	   (filename:caps, filename:ext, filename:disc,	filename:the and

	   WARNING: All	the code for skipping messages (see mp3lintskip(1))
	   works by postprocessing the output, which means you cannot use it
	   to disable particular fixes.	Use -f with care, and make sure	you
	   are happy with your configuration (see mp3lintrc(5))	first.

       -i  Ignore .mp3lintskip files

       -q  Quick scan (avoid timeconsuming tests)

       -d  Debug mp3lint

       -T tool1,tool2
	   Just	run named tools	(default: run all tools)

       -X tool1,tool2
	   Skip	named tools

       -c  Report on which of the supplementary	programs used by mp3lint are
	   installed.  mp3lint will still work without them, but some tests
	   will	be disabled.

       -h  Brief usage summary

	   Files and/or	directories to check. If given a directory, mp3lint
	   checks all files and	dirs in	it recursively.

       All warnings display a single line message in a common format.  This
       consists	of either 4 or 5 fields, separated by colons (':').

       The fields are as follows:


       The first 3 fields contain constant text, suitable for filtering. See
       mp3lintskip(1) and $lint_skip in	mp3lintrc(5) for more information.

       The details field is optional and does not appear in all	messages.

       With the	details	field:

       wav:samplerate:low^A samplerate:8000^A Hz^A	(should^A be^A 44100Hz):./skipname/u-law.wav

       without the details field:

       filename:ext:uppercase extension:./skipname/mp3.WAV

       Different tools have the	same name for common tests, for	instance the
       mp3info,	flac, ogg, and wav tools all implement a samplerate test.

       To make full use	of mp3lint, a number of	pieces of software written by
       other people are	needed.	If something isn't installed, the relevant
       tests will silently be skipped (unless debug mode (-d) is on, in	which
       case you	will be	warned).

       To see which programs are installed, type mp3lint -c.

       For debian, all needed software is listed as dependencies, so should be
       installed automatically.	See below for more details

   What	you need and where to get it
	   mp3lint was written using perl v5.6.1, but I've tried to avoid the
	   latest features so it should	hopefully run on any moderately	recent
	   perl	5. If perl isn't installed, look for a package from your OS
	   vendor, or failing that, shake your head sadly and go to Perl is not optional.

	   Available from Unlike
	   the software	that follows, MP3::Archive is required for mp3lint to

       MP3::Tag	(needed	for "id3" tool)
	   This	is a suite of perl modules for handling	id3V1/2	tags.
	   Hopefully it	can be installed by typing (as root):

		   # perl -MCPAN -e shell
		   cpan> install MP3::Tag
		   cpan> quit

	   If you have problems	with the CPAN client, download MP3::Tag	from	(or
	   any later version).

	   This	follows	the standard perl installation procedure as used by
	   mp3lint, ie unpack,	"perl Makefile.PL", "make", "make install".
	   You will need to be root for	"make install".

	   The tagged package has a web	page at

       Text::Autoformat	(needed	for "filename" tool)
	   This	is Damian Conway's incredibly smart text formatting module.
	   If installed, it is used for	working	out filename capitalisation.
	   If not, a crude internal version is used.

	   It is available on CPAN, and	can be downloaded and installed	using
	   the same methods as MP3::Tag, above.

	   If you have problems	with the CPAN client, download
	   Text::Autoformat from
	   (or any later version).

       mp3info (needed for tool	"mp3info")
	   There are two programs called mp3info available on the net. This
	   expects the one that	is at It is also
	   the version that Debian users get if	they type "apt-get install

       mp3_check (needed for tool "mp3check")
	   mp3_check is	available from sourceforge, see

	   On debian systems, it is known as "checkmp3"	and can	be installed
	   by typing "apt-get install checkmp3"	as root. The "mp3check"	tool
	   searches for	either name.

       ogginfo (needed for tool	"ogg")
	   Available from

       flac, metaflac (needed for tool "flac")
	   Available from

   Other Required software you probably	have
       File::Find, File::stat, Cwd
	   These perl modules are a part of the	standard distributions

       md5sum (needed for tool "flac")
	   If you don't	already	have it	installed, look	for a "coreutils" or
	   "textutils" package from your OS vendor, or see

       sort (needed for	test suite)
	   Any self-respecting unix box	has this. If not, look in the same
	   places as for "md5sum", above.

       diff (needed for	test suite)
	   Unless your vendor hates you, you should have this too. If not, go
	   to On debian	systems, type
	   "apt-get install diff" as root.

   Debian users
       If mp3lint was installed	using a	tool like apt-get(1), all needed
       software	will have been installed via dependencies. If not (eg, you
       downloaded the .deb and used dpkg):

	       # apt-get install libmp3-tag-perl mp3info checkmp3 vorbis-tools flac diff

       You will	also need to install libmp3-archive-perl, available from the
       same place you got mp3lint (see AVAILABILITY, below).

       .mp3lintrc, /etc/mp3lintrc
	   Configuration files,	see mp3lintrc(5) for details.

       .mp3lintskip, $HOME/.mp3lintskip-global
	   Warnings to skip. See mp3lintskip(1)	for details.

	   If set, uses	this instead of	$HOME/.mp3lintrc

	   Used	to find	.mp3lintrc and .mp3lintskip-global

	   Used	to find	auxillary programs needed by various tools.

       mp3lint was developed in	perl under linux. It should be trivial to get
       it working on any POSIX based system. If	you get	it working with
       windows,	let me know.

       None known. Please report any found to

       I am especially interested in how well the code for filename formats
       works for other people's	naming styles.

       mp3lint-tools(3), mp3lintskip(1), mp3lintsum(1),	mp3lintrc(5),
       MP3::Archive(3),	MP3::Archive::Config(3), mp3-archive-tools(1)

       perl(1),	MP3::Tag(3), mp3info(1), mp3_check(1), checkmp3(1),
       ogginfo(1), flac(1), metaflac(1), md5sum(1), sort(1), diff(1)

       Ian Beckwith <>

       The latest version can be found at:

       Copyright 2003 Ian Beckwith <>

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation; either	version	2 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       General Public License for more details.

       You should have received	a copy of the GNU General Public License along
       with this program; if not, write	to the Free Software Foundation, Inc.,
       675 Mass	Ave, Cambridge,	MA 02139, USA.

perl v5.32.1			  2003-12-14			    MP3LINT(1)


Want to link to this manual page? Use this URL:

home | help