システムで生成されたファイル名を持つ回復されたmp3ファイルがたくさんあります。ファイルに埋め込まれたID3タグ情報を使用して、それぞれの名前を人間が読める形式に変更したいと思います。
Debian aptリポジトリから「mp3rename」を試しましたが、id3タグが自動的に付けられていないmp3ファイルを処理しません。実行可能な代替手段はありますか?
id3v2
そしていくつかのスクリプトはこれを可能にするはずです。マニュアルページを調べて例を書いてみますが、id3v2 -l file
はそのファイルのタグを一覧表示します。そこから、awk/sed/whateverをパイプ処理して、ファイルの名前を変更するコマンドを作成できます。
Perlが好きなら、タグを手に入れる簡単な方法は次のとおりです。
#!/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";
}
}
そこから、少しスクリプトを書くだけで、必要なものが手に入ります。
exiftool
を見てください。具体的には、RENAMING examplesというタイトルのマンページセクションをご覧ください。
MP3ファイルだけに限定されません。
これはコマンドラインではありませんが、EasyTagは私がいつも使用しているものです。カバーやCDのアートワークをファイルに追加することもできます。