mp3ファイルのファイル名をタグのタイトルに設定するPerlスクリプト
スポンサードリンク
SONYのICレコーダ ICD-UX300FっていうUSBにざっくりさせるICレコーダがありまして、これでラジオをエアチェックしたMP3ファイルを再生しようと思ったのですが、僕はファイル名に曲名を入れていたのでこれでいいと思っていたんですが、MP3のTag的には曲名のところが空欄になっていまして、ICレコーダの液晶上では「Unknown」と表示される残念な事態になっていましたので、早速ファイル名と同じものをタイトルとして設定するPerlスクリプトを作りました。LinuxのUTF-8ボリュームですよ。でもなんだかCP932とかにしているからiTunes上で化けそうな気がします。あれ、化けるのってID3v1の日本語のやつでしたっけ。とりあえずWindows Vistaのファイルのプロパティだとこれでちゃんと表示される。
mp3ファイルを書き換えますので、mp3ファイルをコピーしてから使いましょう。僕の場合は、このスクリプトはport 445で接続できるLinuxで実行していますから、必要なmp3ファイルをLinuxボリュームにコピーして実行しています。
filename: f.pl
#!/usr/bin/perl use strict; use warnings; use MP3::Tag; use Encode; use utf8; while ( my $file = shift @ARGV ) { print "$file\n"; my $mp3 = MP3::Tag->new($file); $mp3->get_tags(); my $res = $mp3->parse("%t.mp3", $mp3->filename_nodir); $mp3->title_set(encode('cp932', decode_utf8( $res->{title} ))); $mp3->{ID3v2}->write_tag; $mp3->close(); } exit; __END__
今日の30分プログラミングでした。
あと、冒頭で紹介したICレコーダ、スピーカ出力小さいのであまりお勧めできませぬ。ちょっと残念。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3082
コメントする