iTunes Libraryの移動は難しい

最近HDDの調子が悪く、CrystalDiskInfoを見てみたら「代替処理済のセクタ数」とかいうのが増えててなんだこれ、と調べたらHDDの余命宣告らしい感じだったのでこりゃいかんと、1TBのHDDを新たに購入した。
それまで使っていたのはSeagateの250GBのHDDで、最近容量が少なくなってきたなあと感じていたのでちょうどよいタイミングだった。

しかし、その後もなんだかんだで結局SeagateのHDDは壊れずに使えているのでこれを機会に、システムデータ→Seagateの250GB、その他雑多なデータ(マイドキュメントに入れるようなもの)→HGSTの1TBという構成にしようかと。アンチ断片化。

マイドキュメントをプロパティの「ターゲット」から新しく出来たDドライブに移動して、よし、これで勝つる、などと思っていたが重大な問題はiTunesライブラリの移動であった。

前にノートPCからデスクトップに環境を移動する際もこのiTunesライブラリには悩まされた。
結果、一からライブラリを作らなくてはならなくなって、プレイリストやレートをいじるのに大体1日くらい費やしたことがある。

自分のPCに入っている音楽ファイルはざっと6000曲弱。
この量を手作業だけでさばくのは避けたい。

なので、いろいろと検索しながら、iTunesライブラリの移行を手間をなるべく少なくしてやる方法を実践してみたので、覚え書きレベルだが、ちょっとまとめてみる。

全体的な流れ

  1. iTunesのライブラリをtxt形式でエクスポートしておく(ファイル→ライブラリ→プレイリストをエクスポート)
  2. 音楽ファイルを移動先にコピーする
  3. "iTunes Library.itl"と"iTunes Music Library.xml"を任意の場所(デスクトップとか)にコピー、"iTunes Music Library.xml"をエディタで編集する
  4. 移動先にiTunesライブラリを作成し、iTunesを起動する
  5. 編集した"iTunes Music Library.xml"をインポートする
  6. インポートしたライブラリをtxt形式でエクスポートする(ファイル→ライブラリ→プレイリストをエクスポート)
  7. エクスポートした二つのtxtを比較、漏れたファイルを手作業で登録
  8. 完了

iTunesのライブラリをtxt形式でエクスポートしておく

空のライブラリを作成し、そこにファイルパスを編集したxmlをインポートさせるということをやるのだが、なぜかこのインポートで漏れるファイルが出てくるので(しかもどのファイルが登録されなかったのかは教えてくれない不親切設計!)それを手作業で登録するために比較元として出しておく。
やりかたはiTunes起動、ファイル→ライブラリ→プレイリストをエクスポート、ファイル名は"ミュージック1.txt"とかでおk。

音楽ファイルを移動先にコピーする

自分の環境では、

音楽ファイルの場所:C:\Documents and Settings\(ユーザー名)\My Documents\My Music\music
iTunesライブラリデータの場所:C:\Documents and Settings\(ユーザー名)\My Documents\My Music\iTunes

だったのを、

音楽ファイルの場所:D:\My Documents\My Music\music
iTunesライブラリデータの場所:D:\My Documents\My Music\iTunes
(こっちの"iTunes Library.itl"と"iTunes Music Library.xml"は消しておく)

にした。
ちなみにここで言うiTunesライブラリデータは"iTunes Library.itl"と"iTunes Music Library.xml"のこと。
それ以外のファイルが何の役割を果たしているかは知らないが、とりあえず目的はライブラリの移行だけなのでそれらはスルー。

"iTunes Library.itl"と"iTunes Music Library.xml"を任意の場所(デスクトップとか)にコピー、"iTunes Music Library.xml"をエディタで編集する

"iTunes Library.itl"がライブラリ情報を保持しているバイナリファイルらしく、"iTunes Music Library.xml"はサードパーティiTunesのデータを使ってなんやかんや出来るように出力されたものという解釈。(間違ってたらすいません)

だから"iTunes Library.itl"を直接いじれれば万事OKなのだがそれは出来ないので、"iTunes Music Library.xml"をいじってインポートして間接的に"iTunes Library.itl"に変更を反映させたい。

で、元の"iTunes Library.itl"が消えるともうどうしようもなくなるので、これは念のためにバックアップしておく。
"iTunes Music Library.xml"にはライブラリの情報(曲名、アーティスト、アルバム名等)が入っていて、重要なのがファイルパス。これを書き換えたい。

人それぞれやり方はあると思うけれど、俺はTerapadで開いて置換した。

置換前:"C:\Documents and Settings\(ユーザー名)\"
置換後:"D:\"

こんな感じで。
はじめはメモ帳でやろうとしたけど置換する数が多すぎるのか、応答なしになってしまった。

移動先にiTunesライブラリを作成し、iTunesを起動する

Shiftキーを押し続けながらデスクトップのiTunesショートカットをダブルクリックするんだ!
そうすると、ライブラリの選択画面というのが出てくるので、「作成」をクリック。
"D:\My Documents\My Music\iTunes"を指定して空のライブラリを作成する。

編集したiTunes Music Library.xmlをインポートする

ファイル→ライブラリ→プレイリストをインポート、あるいはそのままxmlファイルをiTunesのウィンドウにドラッグしてもよい。
再生回数やレートはそのまま、音楽ファイルの参照場所の変更が反映されるはず。
で、多分きっとiTunesは「登録されなかったファイルがあります」的なことを言ってきます。

インポートしたライブラリをtxt形式でエクスポートする

先と同じ手順で。名前は"ミュージック2.txt"とかで。

エクスポートした二つのtxtを比較、漏れたファイルを手作業で登録

Excelでこの二つのtxtファイルを開いて、それぞれアーティスト名でソート。
片方のブックのアーティスト名をすべてコピーして、もう片方のブックのアーティスト名の横に挿入させる。
あとはひたすら画面をスクロールさせて抜けをチェックするっ……!

やり方は他にもあると思うんでそれぞれやりやすい方法でやればいいかと。

ちなみに自分の6000曲弱の中ではじかれたファイルは大体50曲くらいでした。

登録されない理由は、iTunesがテンパって見逃した、MP3タグとiTunesの相性が悪い、の2パターンがあると思われ。
前者に関しては何も考えずにファイルをウィンドウにドラッグすれば済む話だが、後者はかなり面倒くさい。
詳しくは"Set Mp3 Flag"でぐぐれ。

自分の場合はファイルをSuperTagEditorで標準MP3形式に変換した後、ID3v2形式に再び変換したら登録できるようになりました。
ただこれをやると、タグ情報がまるまる消失する可能性があるので、予め音楽ファイルのバックアップを取ってからやるべき。

完了

おつかれさまでした!

可能ならもっとスマートな手段で移行したいのだけれど、今はこれが限界。
間違ってるとこあったら誰か指摘してください。直します。