perl で wma なファイルのタグを読む方法

| 0 Comments | 1 TrackBack

大量のコンピレーションなアルバムとかのせいで、wma なファイルが散らかって困ったことになっている。

なので、タグを読んで、アルバムごとにディレクトリを作って放り込む方法を考えたい。

ffmpeg とかをライブラリとして使うか、もしくはソース切り出してきて使うか、マウスで一つずつ処理していった方が時間かからないんじゃないか、どうしようって悩んでいたのだけど、cpan 探したら「Audio::WMA - Perl extension for reading WMA/ASF Metadata 」と、まさに私がいまやりたいことができるものがあった。しかも pure perl。

ということで、さっそくテストしてみる。

UTF-8 で簡単に取り出せることがわかったので、お片づけしたい。

#!/usr/bin/perl

use strict;
use Audio::WMA;

Audio::WMA::setConvertTagsToUTF8(undef, 1);

my $top = "/var/music/wma/つじあやの/COVER GIRL";

opendir(D, $top) or die $!;
for my $f (readdir(D)) {
    next if /^\./;

    my $wma = Audio::WMA->new($top . "/" . $f);
    my $tags = $wma->tags();

    print "$f\n"
    print "$_: $tags->{$_}\n" for keys %$tags;

}

以下のような感じで、タグの一覧が得られる。

つじあやの - 結婚しようよ.wma
ALBUMTITLE: COVER GIRL
AUTHOR: つじあやの
TITLE: 結婚しようよ
...

1 TrackBack

TrackBack URL: http://blog.woremacx.com/MT/mt-tb.cgi/159

mixiでは下らん事いろいろ書いてるが、こちらはえらい久しぶりの更新。こちらにはコンピューターネタで何か書くことあれば書こうと思ってたが、逆を返せば、これだけ長いことなんもなかったって事なのか、、、。年始にし Read More

Leave a comment