5

I have a bunch of recovered mp3 files that have system generated filenames. I want to use any embedded ID3 tag info in the files to rename each one to something human readable.

I've tried 'mp3rename' from the debian apt repo but it doesn't handle mp3 files without id3 tagging automatically. Is there a workable alternative?

2

id3v2 and some scripting should make this possible. I'll look through the man pages and try to write up an example, but id3v2 -l file will list the tags from that file. From there you can pipe through awk/sed/whatever to end up with a command to rename the file.

3

If you like Perl, an easy way to get a hold of the tags is this:

#!/usr/bin/env perl
use File::Find;
use MP3::Tag;
use Cwd;

$dir = ".";
open(OUTFILE,">tags.txt") || die "Can't open: $!\n";
print OUTFILE 'Output for "'.getcwd().'"'." and subdirectories\n";
print OUTFILE "Path;Artist;Title;Track;Album;Year;Genre;File Size\n";

find(\&edits, $dir);
close(OUTFILE);
print "Done\n";

sub edits() 
{
    $fn=$_;
    $not_shown=1;
    if ( -f and $fn=~m/.+\.mp3$/ig)
        {
        $mp3 = MP3::Tag->new($fn);
        ($title, $track, $artist, $album, $comment, $year, $genre) = $mp3->autoinfo();
        $fs= -s $fn;
        print OUTFILE "$File::Find::name\\$fn;$artist;$title;$track;$album;$year;$genre;$fs\n";
        }
    if ( -f and $fn=~m/.+\.wav$|\.m4a$/ig)
        {
        $fs= -s $fn;
        print OUTFILE "$File::Find::name\\$fn;;;;;;;$fs\n";
        }
}

From there, a little scripting, and you've got what you want.

1
  • 1
    I made a few changes to this script and put it on Github: github.com/hovenko/audio-renamer , which now also provides a print of "mv" commands to rename the files according to track number and title.
    – hovenko
    Nov 16 '15 at 19:04
2

You can try the kid3-cli tool command from Kid3

Example :

kid3-cli -c 'fromtag "%{track}__%{album}__%{title}" 1' *.mp3
1
  • 1
    The 1 in the command refers to id3v1 tags. Some recent mp3 files might only have id3v2 tags. For those you will get better results replacing the 1 with a 2.
    – Zack
    Apr 18 at 0:24
1

Have a look at exiftool, more specifically, the manpage section titled RENAMING EXAMPLES.

It's not limited to only MP3 files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.