2007/05/18(金)ACDIRあれこれ
2007/05/17 24:06
調べてみると文字化けがらみが原因らしい。
エンコードファイル名が化けるのは大した問題ではないのだが、エンコードできていないことがあるのがまずかった。ということで、エンコードで失敗する事例を中心に解決法を確定。原因は!,<などのWindows不正文字が使われているトラック名からファイル名を算出しているパターンと、ジャンルがID3v1の規定リストになかったのが原因らしい。
[文字化け問題]
SJISでは毎度のことだがACDIRでは「ソ」や「ポ」を含むファイル・ディレクトリ名で問題が出る。またcueシート上の名前からファイル名を算出する場合、",!等の不正文字問題が出る。
不正文字対策はACDIRの変数につける~を上手く使う。
文字化けは、EACでも同じだし気にしないのがベスト。タグが正確なら、Super Tag Editorとかで一括して修正した方がよい。出来うる限りRubyで処理すれば軽減することは出来るが、やりすぎるとcueシートを解析するソフトを自作する羽目になる。本末転倒もいいところ。
[ID3タグに関して]
これはlameの問題だが、lameでエンコードする際にコマンドラインオプションでジャンルを指定すると、オプションに関わらず(ID3v2タグのみを付けるようにしても)ID3v1のナンバリング形式で命名しようとする。
結果、Id3v1のジャンルリストにないジャンル名を入れようとすると(freedbとかにたくさんある)、
Unknown genre: 'Japanese Pop'. Specify genre name or number
となってエンコードされない。
結局lameではジャンルを貼らないのが正解のようだ。
http://anonymousriver.hp.infoseek.co.jp/CD-rippers.html
ここの説明にあるように、id3.exeを使う。当然lameではID3v2タグを付けてやらなければいけないから、--add-id3v2 --pad-id3v2は入れておく。