|
|
| |
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.
- -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 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.
- -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
- file.mp3|dir
- 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:
toolname:test:description:details:filename
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
- perl
- 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 http://www.cpan.org/src/. Perl is
not optional.
- MP3::Archive
- Available from http://nessie.mcc.ac.uk/~ianb/projects/libmp3-archive-perl/
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 http://www.cpan.org/modules/by-module/MP3/tagged-0.40.tar.gz (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
http://tagged.sourceforge.net/
- 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
http://www.cpan.org/modules/by-module/Text/Text-Autoformat-1.12.tar.gz
(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 http://ibiblio.org/mp3info 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
http://sourceforge.net/project/?group_id=6126
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 http://www.vorbis.com/download_unix.psp
- flac, metaflac (needed for tool "flac")
- Available from http://flac.sourceforge.net/download.html
- 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 http://www.gnu.org/coreutils/
- 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
http://www.gnu.org/software/diffutils/. 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.
- $MP3LINTRC
- If set, uses this instead of $HOME/.mp3lintrc
- $HOME
- Used to find .mp3lintrc and .mp3lintskip-global
- $PATH
- 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 ianb@nessie.mcc.ac.uk
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 <ianb@nessie.mcc.ac.uk>
The latest version can be found at:
http://nessie.mcc.ac.uk/~ianb/projects/mp3lint/
Copyright 2003 Ian Beckwith <ianb@nessie.mcc.ac.uk>
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.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |