How to find MP3 files without ID3 tags?

Posted on

Problem :

I have a lot of mp3 files without any ID3 tag information. This is very annoying, because my iPod does not show them correctly.
My Banshee shows them as “unknown artist” and the title. I would like to find them all in a bunch to batch update them.

Is there an easy way to do this?

Solution :

You can use Windows Explorer or any of the taggers mentioned by studiohack for this.
Basically, get a list of all your MP3s loaded into an application that will let you sort on (for example) Title.

Aw, just saw your Linux tag. You may be able to do the same thing using similar tools in whatever window manager you are using; it probably depends on what version of Linux you are using.

To do it in Explorer:

  1. Press Windows Key -> F, or Start Menu -> Search -> For files or folders (in WinXP; it’s slightly different in newer OSes)
  2. Search for files named “*.mp3” (without the quotes), on whatever hard drive stores your MP3s
  3. When the search is done, make sure the Title column is showing (right click on the column header and check the “Title” checkbox if it is not). Then click the Title column header to sort.
  4. All the files at the top of the list, with no title, are untagged.

Now I wonder what you plan to do with all of these files. If you’re just going to delete them, you can do it from there. If you want to keep them and tag them, then you can use one of the taggers. Some or all of them provide a way to set the MP3 tags from the filename, if you want to quickly get them tagged.

Sometimes files with no tags were downloaded incompletely or are corrupted, so it could be that your player is having problems with them because they are not valid MP3 files.

Here’s a bash one-liner:

find . -iname "*.mp3" -exec bash -c 
    'soxi "{}" | grep -q "^Artist" || echo "{}"' ;

This finds all mp3 files, uses soxi* to check their metadata, and echos the filename if there is no “Artist” tag (if grep fails to find anything).

You can change Artist to what ever tag you care about (e.g. Title, Album, etc.). Run soxi on a properly-tagged file to see the available options.

* You may need to install libsox-fmt-mp3 (or similar) on top of sox to make soxi work with mp3 files [thanks dirkt!].

From Lifehacker: Six Best MP3 Tagging Tools:

http://lifehacker.com/5266613/six-best-mp3-tagging-tools

Among the list are:

  • Mp3Tag – this one supports batch editing of MP3 tags.
  • MediaMonkey
  • TuneUp
  • ID3-TagIT
  • MusicBrainz Picard
  • Foobar2000

I simply suggest:

sudo apt install id3v2
find . -type f -exec id3v2 -l {} + | grep "No ID3 tag"

Sample output:

./Jack Johnson/On and On/01 Times Like These.mp3: No ID3 tag
./Jack Johnson/On and On/11 Fall Line.m4a: No ID3 tag
./Jack Johnson/On and On/05 Gone.m4a: No ID3 tag
./Jack Johnson/On and On/09 Dreams Be Dreams.m4a: No ID3 tag
./Jack Johnson/On and On/15 Mediocre Bad Guys.m4a: No ID3 tag

As you see m4a files are a problem itself, further reading: https://stackoverflow.com/questions/44895095/is-it-possible-to-add-id3-tags-to-m4a-files-using-mutagen

You should check your music player also, in my case the GNOME Music and Rhythmbox identify the artist/song/album even without ID3 Tag. I don’t know how.

Leave a Reply

Your email address will not be published. Required fields are marked *