ID3Tag の文字化け

Posted by yoosee on Debian at 2005-05-06 23:42 JST

*1  id3tag 文字化け

過去に Grip でエンコードした mp3 ファイルの id3tag 文字コードは EUC-JP や SJIS が入っていて、Palm の AeroPlayer では大丈夫なのだが iTunes では文字化けしてしまう。iTunes 自身は ID3Tagv2.2 に UTF-8 を入れるようだが、使うだけなら v2.3, v2.4 で UTF-8, UTF-16LE 等でも良いようだ。最近の Grip は v2.3 に UTF-8 でもタグを入れるのだが、どうもうちの既存ファイルは SJIS で入っているらしい。

*2  id3tag を扱う ruby library

仕方がないので script でも書いて変換しようと思ったが、apt にある libmp3tag-ruby1.8 は ID3v1.1 までしかサポートしておらず使い物にならない。探してみると RAA に id3tag と言う ID3v2.4 までサポートしているライブラリを発見。構造が煩雑だけど、まぁなんとか出来そうかな。と思ったら、この id3tag-ruby は read しかサポートしてなかった…。

*3  id3iconv

IRC で友達に教えて貰った、Java で書かれた id3iconv が UTF-16 への文字変換書き換えをサポートしているようなので、当面これを使うことに。しかし iconv は当然 guess してくれないので、guess だけ id3tag-ruby + NKF.guess を使い、その結果を id3iconv に流してみる。しかしこれ、guess に失敗するとタグ情報が吹っ飛ぶなぁ。変換が必要な場合は事前 backup 取るか。

*4  script でっちあげ

と言うわけで v2.x タグ (ない場合は v1.x ) に JIS, EUC, SJIS があった場合のみファイルを $HOME/mp3_backup/ 以下にバックアップした上で Unicode に変換するようにスクリプトを書いてみた。id3tagjconv.rb。前述の id3tag, id3iconv を使っている。引数で与えたディレクトリの下を再帰的に .mp3 ファイルを探して、'-n' を付けると dry run 。完璧ではないけどそれなりには動くな。しかし id3tag を直接ちゃんといじれる ruby library が無いと不便だなぁ。出来るものなら書きたいけど構造が面倒くさくて理解できん。

( Permalink | Comments (0) | tags: music  )
Comments

Please write your comment. email address won't appear. Cannot use any HTML tags in comment.
コメントをお書き下さい。メールアドレスは公開されません。 またHTMLタグは利用できません。
Name   E-mail   URL
Comment

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

このエントリーのブックマーク

Monthly Archives

Select Month to read