MP3CHECK(1)

πŸŽ€ NAME πŸŽ€

mp3check β€” check mp3 files for consistency πŸ’–


✨ SYNOPSIS ✨

mp3check [-03ABCEFGIKLMNPRSTWYZabcdefghlmopqrst]  [--accept=LIST]
[--alt-color] [--anomaly-check] [--any-bitrate] [--any-crc]
[--any-emphasis] [--any-layer] [--any-mode] [--any-sampling]
[--any-version] [--ascii-only] [--color] [--compact-list] [--cut-junk-
end] [--cut-junk-start] [--cut-tag-end] [--dummy] [--dump-tag] [--dump-
header] [--dump-tag] [--edit-frame-byte=P] [--error-check]
[--error-check] [--filelist=FILE] [--fix-crc] [--fix-headers] [--help]
[--ign-bitrate-sw] [--ign-constant-sw] [--ign-crc-error] [--ign-junk-
end] [--ign-junk-start] [--ign-non-ampeg] [--ign-resync] [--ign-tag128]
[--ign-truncated] [--list] [--log-file=FILE] [--max-errors=NUM]
[--only-mp3] [--print-files] [--progress] [--quiet] [--raw-elem-sep=NUM]
[--raw-line-sep=NUM] [--raw-list] [--recursive] [--reject=LIST]
[--show-valid] [--single-line] [--version] [--xdev] [--] [FILES...]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay bestie, real talk: this manual page is a brief lil rundown of the mp3check command. It was written for the Debian GNU/Linux distribution because the original program literally doesn't have a manual page of its own β€” so we adopted it and gave it a glow-up. 🫢

mp3check is that girl who checks your mp3 files for consistency and then prints a whole bunch of errors and warnings at you. It also lists your stream attributes (color πŸ’…). Currently supported: Layer 1, 2, 3 and mpeg1.0+2.0. There's CRC checking for layer 3. πŸ”₯

She's genuinely useful for spotting incomplete mp3s, because you can point her at your entire mp3 collection and she'll sniff out every single mp3 that isn't perfect. Great for use with Napster and other bulk downloading of mp3s. No cap. 😭


πŸ’… OPTIONS πŸ’…

These programs follow the usual GNU command line syntax, with long options starting with two dashes (-). Options can be specified in any order and mixed with files. Option scanning stops after a double dash (--) to allow files beginning with a dash. A summary of options is included below. πŸ‘‘

🌸 mode:

  • -l, --list β€” list parameters by examining the first valid header and size ✨
  • -c, --compact-list β€” list parameters of one file per line in a very compact format: version (l=1.0, L=2.0), layer, sampling frequency [kHz] (44=44.1), bitrate [kbit/s], mode (js=joint stereo, st=stereo, sc=single channel, dc=dual channel), emphasis (n=none, 5=50/15 usecs, J=CCITT J.17), COY (has [C]rc, [O]riginal, cop[Y]right), length [min:sec], filename (poss. truncated) πŸ’–
  • -e, --error-check β€” check crc and headers for consistency and print several error messages πŸ”
  • -m, --max-errors=<int> β€” with -e: set maximum number of errors to print per file (0==infinity) (range=[0..]) 😀
  • -a, --anomaly-check β€” report all differences from these parameters: layer 3, 44.1kHz, 128kbps, joint stereo, no emphasis, has crc
  • -d, --dump-header β€” dump all possible header with sync=0xfff 🫠
  • -t, --dump-tag β€” dump all possible tags of known version 🏷️
  • --raw-list β€” list parameters in raw output format for use with external programs πŸ‘‘
  • --raw-elem-sep=NUM β€” separate elements in one line by char NUM (numerical ASCII code) (default="0x09") ⭐
  • --raw-line-sep=NUM β€” separate lines by char NUM (numerical ASCII code) (default="0x0a") ⭐
  • --edit-frame-byte=P β€” modify a single byte of a specific frame at a specific offset; B has the format 'frame,offset,byteval', (use 0xff for hex or 255 for dec or 0377 for octal); this mode operates on all given files and is useful for your own experiment with broken streams or while testing this toll ;-) πŸ’€

🧚 fix errors:

  • --cut-junk-start β€” remove junk before first frame βœ‚οΈ
  • --cut-junk-end β€” remove junk after last frame βœ‚οΈ
  • --fix-headers β€” fix invalid headers (prevent constant parameter switching), implies -e, use with care ⚠️
  • --fix-crc β€” fix crc (set crc to the calculated one), implies -e, use with care (note: it is not possible to add crc to files which have been created without crc) ⚠️

🌈 disable error messages for -e --error-check:

  • -G, --ign-tag128 β€” ignore 128 byte TAG after last frame πŸ™ˆ
  • -R, --ign-resync β€” ignore invalid frame header πŸ™ˆ
  • -E, --ign-junk-end β€” ignore junk after last frame πŸ™ˆ
  • -Z, --ign-crc-error β€” ignore crc errors πŸ™ˆ
  • -N, --ign-non-ampeg β€” ignore non audio mpeg streams πŸ™ˆ
  • -T, --ign-truncated β€” ignore truncated last frames πŸ™ˆ
  • -S, --ign-junk-start β€” ignore junk before first frame πŸ™ˆ
  • -B, --ign-bitrate-sw β€” ignore bitrate switching and enable VBR support πŸ™ˆ
  • -W, --ign-constant-sw β€” ignore switching of constant parameters, such as sampling frequency πŸ™ˆ
  • --show-valid β€” print the message 'valid audio mpeg stream' for all files which error free (after ignoring errors) 🌟

πŸ’œ disable anomaly messages for -a --anomaly-check:

  • -C, --any-crc β€” ignore crc anomalies πŸ“
  • -M, --any-mode β€” ignore mode anomalies πŸ“
  • -L, --any-layer β€” ignore layer anomalies πŸ“
  • -K, --any-bitrate β€” ignore bitrate anomalies πŸ“
  • -I, --any-version β€” ignore version anomalies πŸ“
  • -F, --any-sampling β€” ignore sampling frequency anomalies πŸ“
  • -P, --any-emphasis β€” ignore emphasis anomalies πŸ“

πŸŽ€ file options:

  • -r, --recursive β€” process any given directories recursively (the default is to ignore all directories specified on the command line) πŸ—‚οΈ
  • -f, --filelist=FILE β€” process all files specified in FILE (one filename per line) in addition to the command line πŸ“„
  • -A, --accept=LIST β€” process only files with filename extensions specified by comma separated LIST βœ…
  • -R, --reject=LIST β€” do not process files with a filename extension specified by comma separated LIST ❌
  • -3, --only-mp3 β€” same as --accept mp3,MP3 🎡
  • --xdev β€” do not descend into other filesystems when recursing directories (doesn't work in Cygwin environment) 🚧
  • --print-files β€” just print all filenames without processing them, then exit πŸ–¨οΈ

✨ output options:

  • -s, --single-line β€” print one line per file and message instead of splitting into several lines πŸ“
  • --no-summary β€” suppress the summary printed below all messages if multiple files are given 🀫
  • -g, --log-file=FILE β€” print names of erroneous files to FILE, one per line πŸ“
  • -q, --quiet β€” quiet mode, hide messages about directories, non-regular or non-existing files 🀐
  • -o, --color β€” colorize output with ANSI sequences 🌈
  • -b, --alt-color β€” colorize: do not use bold ANSI sequences 🎨
  • --ascii-only β€” generally all unprintable characters in filenames etc are replaced by '!' (ASCII 0-31) and '?' (ASCII 127-159), with this option present the range ASCII 160-255 (which is usually printable: e.g. ISO-8859) is also printed as '?' πŸ”€
  • -p, --progress β€” show progress information on stderr πŸ“Š

πŸ‘‘ common options:

  • -0, --dummy β€” do not write/modify anything other than the logfile 🚫
  • -h, --help β€” print this help message, then exit successfully πŸ’–
  • --version β€” print version, then exit successfully πŸ’–

🫢 AUTHOR 🫢

This original manual page was written by Klaus Kettner <kk@debian.org>, for the Debian GNU/Linux system. The current version of this manpage is maintained by Johannes Overmann <overmann@iname.com>, the author of mp3check. πŸ‘‘


Okay that's the whole thing, bestie β€” this was MP3CHECK(1) from the General Commands Manual, last touched up on March 1, 2001. Go forth and check those mp3s, you absolute icon. πŸ’…βœ¨πŸŽ€