ID3 mass tagger
Current version: 0.78 (21.mar.2006)

Don't you just hate editing ID3 tags? Well, I did.

I haven't yet seen a program that had enough intelligence and automation in it. I don't want to have to use "copy-paste" 15 times in a row, or spend 15 minutes copying track titles by hand. There are some GUI programs that try to make life easier, but choosing from / setting a predefined set of options doesn't give enough flexibility, imho.

This is more like what I wanted:

id3 -2 -a "Some Artist" -n %1 -t %2 -l "Some Album" "*. *.mp3"

Oh well...

abstract what's new notes download license squell@goth.net

Synopsis

id3 [-v] [-M] [-12] [-d] [-t title] [-a artist] [-l album] [-n tracknr] [-y year] [-g genre] [-c comment] [-f template] [-q format] [-m] [-D file] [-R] [-s size] [-E] [-u] [-rFRAME] [-wFRAME data] "filespec"

Description

id3 mass tagger is a tool for manipulating id3 and id3v2 tags in multi- ple files. It can generate tag fields from the filename and other vari- ables, and/or rename files, using an intuitive syntax. id3 currently supports the old-style ID3 tags (ID3 v1.1), Lyrics3 tags (Lyrics3 v2.0), and the more complicated ID3v2 (ID3 v2.2.0, v2.3.0) format. This also means use is pretty much limited to audio files which use these formats, e.g, MPEG-1 Layer III.

Examples

Here are some examples of using id3:

id3 -a "Stallman" -t "Free Software Song" fs_song.mp3"
Add a simple tag to a file.

id3 -d *.mp3
Removes all ID3v1 tags from all mp3's

id3 -g "psych rock" *.mp3
Sets genre to "Psychedelic Rock" all mp3's

id3 -2 -1 -u "*.mp3"
Copy ID3v2 tag to ID3v1 tag in all files.

id3 -a "TAFKAT" -n "%1" -t "%+2" "*. *.mp3"
Update tag fields similar to this;
id3 -a "TAFKAT" -n "01" -t "My Song"  "01. my_song.mp3"
id3 -a "TAFKAT" -n "02" -t "Untitled" "02. untitled.mp3"

id3 -2 -f "%a - %t.mp3" blaet.mp3
Rename file to a standard "Artist - Title" format, using ID3v2 values.

id3 -g "alt rock" -a "The Author" -l %1 -n %2 -t %3 "Author - */(*) *.mp3"
Process multiple directories at once.

id3 -g "alt rock" -a "The Author" -m "Author - %l/(%n) %t.mp3"
Shorthand for the previous example.

id3 -a %t -t %a "*.mp3"
Swap artist and title fields in all mp3's.

id3 -D source.mp3 -1 -2 dest.mp3
Copy ID3v1 and ID3v2 tags of source.mp3 to dest.mp3

id3 -D source.mp3 -1u -2u dest.mp3
As above, but only replaces the non-standard or blank fields in dest.mp3 by data from source.mp3.

id3 -2 -rAPIC -s 0 *.mp3
Removes embedded images and padding from all mp3's.

id3 -2 -rAPIC -s 0 -R "*.mp3" "/my documents"
As above, but works recursively on all mp3's in the directory tree starting at /my documents

id3 -2 -q "%| %a - %|Untitled|t || %t || %1 |?" "*.mp3"
Generate a playlist, using the best possible text

id3 -2 -c "Was: %_f" -f "%|Unknown|a - %|Untitled (%#x)|t.mp3" "*.mp3"
Advanced rename. Saves previous filename in the comment field, and renames files without proper tags to;
  • Unknown - Untitled (01).mp3
  • Unknown - Untitled (02).mp3
  • ... etc

Fore more information, consult the documentation.

Version History

0.7821.mar.2006Lyrics3 support, added -E, minor enhancements
0.772.feb.2006added ID3v2 v2.2 (iTunes default) and Unicode support,
added -M (preserve file time) and -D (copy tags between files)
0.7621.jul.2005added -m, -R, fixed some ID3v2 rejections
0.7503.feb.2005file renaming, reading data from tags
0.7425.jun.2004bugfixes, improvements
0.7327.may.2004(incomplete) user locale support
0.7228.jan.2004directory searching, minor improvements
0.7123.oct.2003improved interface, optimizations
0.7007.aug.2003fixes problems with ID3v2 tags
0.6011.jul.2003initial public release

Developer Notes

Like some programs, this too grew out of a program with an ad-hoc design, slapped together to scratch a need. Besides its obvious purpose, this has also become an exercise in writing a fully portable program, trying out C++ design techniques, etc.

If you like this program, you can help by preparing binary packages, or by trying to build it on an uncommon system. If you're interested, or have already been doing this, please drop me a message!

Bugs

ID3v2.2 tags (the format iTunes likes to write) cannot be processed by id3 versions prior to 0.77. ID3v2.4 tags are still rejected.

Download

ID3 mass tagger uses the package name id3mtag in package distributions to avoid confusion with other programs.

filenamesizeversionnotes
id3-0.78.tar.gz 63kb C++ source (*nix format)
id3-078s.zip 86kb C++ source
id3-078w.zip 87kb Win32 console binarygcc 3.4.5 / MinGW
id3-078d.zip 126kb 32bit DOS binarygcc 4.0.1 / DJGPP
id3mtag_0.78_i386.deb 73kb i386 GNU/Linux binarygcc 4.0.3 / Debian (unofficial)
id3mtag-0.78.shar 2kb FreeBSD port files
previous release
id3-0.77.tar.gz 59kb C++ source (*nix format)
id3-077s.zip 79kb C++ source
id3-077w.zip 79kb Win32 console binarygcc 3.4.5 / MinGW
id3-077d.zip 119kb 32bit DOS binarygcc 4.0.1 / DJGPP
id3mtag_0.77_i386.deb 67kb i386 GNU/Linux binarygcc 3.3.5 / Debian (unofficial)
id3mtag-0.77.shar 2kb FreeBSD port files

Copyright

© squell 2003-2006. All rights reserved.

This program may be used freely, and you are welcome to redistribute it under certain conditions.

For the actual licensing conditions you should read the file 'COPYING', which should be accompanying the files you receive.

home