perlでmp3タグをいじって歌詞を追加する

久しぶりに触ったら忘れていたのでメモ。

use MP3::Tag;

my $mp3 = MP3::Tag->new($mp3_filename);

$mp3->title_set('title');    # タイトル
$mp3->select_id3v2_frame_by_descr("USLT(eng)", 'lyric');     # 歌詞
$mp3->update_tags();    # タグに保存

# get
my($title, ) = $mp3->autoinfo;
my $lyric = $mp3->select_id3v2_frame_by_descr("USLT(eng)");

warn $title, $lyric;

みたいな感じでいける。
歌詞(USLT)の挿入は日本語だとしてもengにしないとダメ。
engに入れないと昔ipod touchで見れなくてハマった覚えがある。
ここにも似たようなことが書いてあった。



ただ、歌詞挿入した時に文字化ける時があるのだけど原因がわからない。