理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

iTunes の Artwork と歌詞設定

Art Work と歌詞の設定にはいろいろと苦労させられる部分とかありますけど、世の中ベンリなもんですから、いろいろとソフトがありまして、ぼくは以下のを組み合わせて使っています。

Art Work の方は Artwork Gofer では探せないときに iGCover を使うという感じ。Artwork Gofer の方が正しい Artwork を探してくれる精度は高いけど、iGCover はたしか Google の検索結果を使うのでマイナーなものとかも引っ掛りやすい。Lyrics Master は歌詞の収集用ですけど、これはムチャクチャ精度が高いので、一つあれば困らないです。Artwork Gofer と Lyrics Master はスクリプトが同梱されてくるので、iTunes の Scripts フォルダに放り込んでおけば、こんな感じで iTunes から直接呼び出せるのでたいへんに便利です。

これらのソフトはフォーカスが当たっている曲のタグを読み取る機能を備えていますが、そもそもタグが設定されていないとムダです。Artwork Gofer と iGCover はタグの album を見て検索してくれますが、album の部分が空になってる曲がいくつかあったので、曲の title で album 欄を埋めるのを書いた。

use strict;
use warnings;
use File::Find ();
use Getopt::Long;
use MP3::Tag;

GetOptions( 'd=s' => \my $dir );
$dir ||= '.';

MP3::Tag->config( 'write_v24' => 1 );

File::Find::find( 
    sub {
        return unless /mp3$/;
        my $abs = $File::Find::name;
        my $tag = MP3::Tag->new( $abs ) or do {
            warn qq{cannot create MP3::Tag for "$abs"\n};
            return;
        };
        my $info = $tag->autoinfo;
        $tag->update_tags({ album => $info->{title} }) unless $info->{album};
    },
    $dir
);