perlでmp3情報を扱ってみよう。MP3::Info
perlをちょいちょい使ってます。
perlはテキスト処理には向いていますが、
音楽
動画
画像
などのメディア向けの操作はあまり適してないですね。
情報も少ないです。
まぁ、そもそも、そっち系扱いたいなら、別の言語使え、って話なんでしょうが・・・。
使ってみました、MP3::Info
#!/usr/bin/perl use strict; use warnings; use MP3::Info; use Data::Dumper; main(); sub main { my $file = $ARGV[0]; my $tag = get_mp3tag($file); my $info = get_mp3info($file); print Dumper($tag, $info); }
とりあえずこんな感じ。
perl mp3-info.pl test.mp3
こんなのを叩いてみると、
$VAR1 = { 'YEAR' => '', 'ARTIST' => 'Green Day', 'COMMENT' => '', 'TITLE' => 'American idiots', 'ALBUM' => '', 'GENRE' => 'Other', 'TAGVERSION' => 'ID3v1 / ID3v2.3.0', 'TRACKNUM' => '' }; $VAR2 = { 'SIZE' => 4272430, 'OFFSET' => 1462, 'MS' => '17.9166666666504', 'STEREO' => 1, 'SECS' => '178.017916666667', 'PADDING' => 0, 'LAME' => { 'end_padding' => 1728, 'start_delay' => 576, 'encoder_version' => 'LAME3.92 ' }, 'MM' => 2, 'COPYRIGHT' => 0, 'SS' => 58, 'LAYER' => 3, 'MODE' => 0, 'FREQUENCY' => '44.1', 'VBR' => 0, 'TIME' => '02:58', 'FRAMES' => 6814, 'BITRATE' => 192, 'VERSION' => 1, 'FRAME_LENGTH' => 627 };
こんな結果になります。
ちなみに、test.mp3 の中身はこんなファイル
曲名や歌手名はもちろん、ビットレートやサンプルレートも取れるみたい。
これが分かれば、編集や加工もできそうだな。
うむ。