2014/10/04

Windows で管理していた mp3 を Mac の iTunes に import する時の文字化けへの対処

Windows で管理していた mp3 を Mac の iTunes に import する時の文字化けへの対処です。
タイトルからして長いけれど、紆余曲折して結構長い話。


そもそもの経緯

  • Windows で mp3 の音楽を管理していた
  • tag の encoding とかは気にしてなかった(というかたぶん当時知らなかった)
  • その Windows を数年くらい放置(なので Windows の iTunes はとても古いはず)
  • データだけ NAS に移してマシン放棄
  • NAS から mac に音楽を import すると文字化けしているさあ大変

問題と面倒な部分

  • mp3 の tag が SJIS
  • iTunes 11 on Mac は Latin1 と ASCII と UTF8 しか対応していないらしい
  • 文字化けをどうやって変換するか

先人達の対処方法


試した対処方法とその結果

  • iTunes によるタグ変換
    • どう変換かませても無理だった
    • UTF8 を修正だろうと latin1 -> ASCII だろうと化けてる
  • id3v2 による変換
    • シェルスクリプト書いて変換してみた
    • "TALB" "TIT2" "TPE1" を SJIS から UTF8 に変換
    • しても iTunes は認識せず
    • というか iTunes できちんと認識されている日本語のエンコーディングが謎
    • id3info を grep して nkg -g すると ASCII 扱いになってるので id3v2 じゃ無理っぽい
  • mac 上で SJIS サポートしてるソフトを使う
    • 有償だった
  • Win機で変換してから送ってくる
    • Win機が無い。

最終的な対処方法

  • Wine + SuperTagEditor
Win機無いならエミュレートすれば良いじゃない状態。というか Mac さんなんかその辺りの解決方とか用意ないのかなー。

環境


Super Tag Editor を起動するまで

  • brew install wine
  • wget https://gist.githubusercontent.com/mattintosh4/6591305/raw/b86e0a9b6132aaa8b6cb5febf7255d60f6c0375a/osx-wine.inf
  • wine osx-wine.inf
  • export LC_ALL=ja_JP.UTF-8
  • wine SuperTagEditor.exe
まず wine を入れます。参考にしたのはここ
設定ファイルを作ってくれた方がいらっしゃるようなので、 gist から落としてきて実行。
あと locale が ja_JP じゃないと豆腐が出てきたので export してから実行。別に LC_ALL=ja_JP.UTF-8 wine SuperTagEditor.exe とかでも良いんだけれど。
そして落としてきた SuperTagEditor を実行する、と。

Super Tag Editor で Tag Info を直す

  • ファイルを選択
  • 変換 > ID3v2 形式に変換
  • 変換 > ID3v2バージョン/文字エンコードの変換
  • v2.4/UTF-8 にする
どうやら手順としてはこんな感じらしい。一旦 v2.4/UTF16 してから v2.3 にするって謎の手順を推奨する方法もあるみたいだけれど。とりあえずこれでどうにかなった。

まとめ

  • SuperTagEditor で ID3v2 tag を 2.4/UTF-8 にすると良い
  • 正直 Win でやった方が楽そう
  • 最悪 wine でもどうにかなったけれど

結局の結論

  • Windows から Mac に音楽を移す時は Windows 側で id tag を v2.4 とかにしてから移しましょう
  • Mac 側でやる手段は割と無いっぽさげ?

おまけ

この記事を書いてる時に python で実行できそうな文字化け修正方法を見つけたりした。
というか参照記事とかの年とか、やってることが何年も前のことしてる気がした。

0 件のコメント:

コメントを投稿