MP3ファイルの曲目とかを設定

僕のMP3ファイル生成環境は、上のような状況でabcdeが最有力候補なんだけど、ここしばらくは以下のスクリプトでMP3ファイルに曲名とかを入れていた。このまま埋もらせるのも何なので日記に貼っておこうと思う。
id3lib(の中に入っているid3tag)が必要なので事前にインストールしておく。CDDBで勝手に情報を持ってこないので自分でリストを作成しなきゃダメ。
mp3tag

#!/usr/bin/env ruby
# -*- ruby -*-
# $Id: mp3tag,v 1.2 2005/04/24 10:09:48 s-tanaka Exp $
#

require 'kconv'

if ARGV.size < 1
  puts 'mp3tag [list filename] [mp3 files...]'
  exit
end

lines = nil
open(ARGV.shift, 'r') do |file|
  lines = Kconv.tosjis(file.read).split(/\r?\n/)
  lines.reject! {|line| line =~ /^#/ }
  lines.collect! {|line| line.chomp }
end

album = lines.shift
artist = lines.shift
titles = lines

i = 0
ARGV.each do |arg|
  pid = fork do
    exec('id3tag', '-a' + artist, '-A' + album, '-s' + titles[i], arg)
  end
  Process.waitpid(pid)
  i += 1
end

設定ファイル(ファイル名をlistとする)をこんな感じで用意して、

# Album
口笛とウクレレ
# Artist
関口和之 featuring 竹中直人
# Titles
BITTERSWEET SAMBA
雨にぬれても
MOON RIVER
LOVE
私の青空
慕情

実行する。MP3ファイルは、曲順に並べて指定する必要がある。

$ ls
kutibue_to_ukulele_01.mp3       kutibue_to_ukulele_05.mp3
kutibue_to_ukulele_02.mp3       kutibue_to_ukulele_06.mp3
kutibue_to_ukulele_03.mp3       list
kutibue_to_ukulele_04.mp3
$ mp3tag list *.mp3

これまた手抜きスクリプトだ。ろくにエラー処理してないし、設定ファイルの解析まわりのコードもださすぎ。
折角の紹介 & 日本語対応なのに、こんなことしててすみません…‥ > いわたさん