FU Audio Tool – or just fat
Excerpt from README:
Fat is a command line tool which enables tagging and renaming of audio files. It was originially written a few years ago to scratch a personal itch. It is quite powerful in its features, supporting both tag value extraction from file name patterns, as well as renaming based on tag values. It can operate recursively on entire directory trees of audio files. Fat also has something called transfer profiles, which means that you can transcode a set of audio files to a given destination (currently only to MP3 format), with all tag values preserved of course. Fat takes care of naming the files properly, according to a given template. You could easily create a pure "MP3 mirror" of your entire mp3/flac/ogg audio file collection with a single fat command invocation. Parallel encoding is supported to better take advantage of multiple CPU cores when transcoding a large set of audio files to MP3.
Summary of features:
- Read and write supported tag fields of MP3, Flac and Ogg/Vorbis audio files
- Rename audio files based on tag values and templates. Can operate recursively.
- Infer and set tag values based on file name regular expressions.
- Strip tags completely from files, or delete just selected fields from tags.
- Transcode supported file formats to MP3, copying/preserving all tag data from the original files.
Get it here:
fat-2.3.tar.gz, version 2.3, 2012-04-08
[PGP signature: fat-2.3.tar.gz.asc]
The archive bundles version 0.6.18 of the EyeD3 Python MP3/ID3 tagging library.
Version 2.3:
- Various improvements and bugfixes accumulated over time.
- New version of bundled ID3 library.
Basically it requires no installation, other than unpacking the tar archive and adding the directory to your PATH. You will however need to install the runtime dependences, if you haven't already. See README file and 'fat -h' for documentation.
Fat has not been tested on anything but Linux, so your mileage may vary. There are probably bugs, but I have used this tool regularly, ever since I wrote it a few years ago, on my own music collections. However, the regular GPL disclaimer applies, I take no responsibility for your data loss when using this tool. I do respond to bug reports, though :).
Usage examples
$ fat *
Show tag values for all files in the current directory. Of course, fat will only
be able to extract tag values from audio files of the supported types.
$ fat -a "The Artist" -b "An album" *.mp3
This will tag all MP3 files in the current directory with the values for artist
and album (set mode). Fat tries to use the most compatible ID3 version
combinations whenever MP3 files are tagged.
$ fat -a "The Artist" -b "An album" *.ogg
This will tag all Ogg files in the current directory with the values. Exactly
the same as the previous example.
$ fat -N --template '${ARTIST} - ${TITLE}' *.mp3 *.ogg *.flac
Rename all MP3, Ogg and Flac files in the current directory according to the
given template, based on values of tags in the files. Use 'fat -N' to show
available pre-defined templates.
$ fat -X0 --dest /media/MP3DISK -R /path/to/music
Transfer/transcode all supported audio files found recursively under
'/path/to/music' to destination '/media/MP3DISK', encode to MP3 and name files
in a suitable hierarchy based on tag data. This will encode in parallel if you
have multiple CPU cores available. Use 'fat -X' to show available transfer
profiles.
You can add more transfer profiles or naming templates (and tweak the existing
ones) by editing the top parts of the 'fat' script itself.