Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
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 mp3lintskip(1).
To find out about summarising the messages from mp3lint, see mp3lintsum(1)

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.

Skip filename related tests
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.
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.
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.
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 filename:paren).
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.
Ignore .mp3lintskip files
Quick scan (avoid timeconsuming tests)
Debug mp3lint
-T tool1,tool2
Just run named tools (default: run all tools)
-X tool1,tool2
Skip named tools
Report on which of the supplementary programs used by mp3lint are installed. mp3lint will still work without them, but some tests will be disabled.
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 samplerate:8000 Hz (should be 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

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 work.
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 mp3info"
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

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.

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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 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.
2003-12-14 perl v5.28.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.