うっかりエンジニアのメモ

未来の自分に宛てたメモ

クリーンインストール後のCatalinaにMojaveのiTunesライブラリを"綺麗に"移行する方法

macOS CatalinaではiTunesが廃止され、音楽管理アプリは「ミュージック」になりました。

iTunesという素晴らしいアプリ名をあろうことか「ミュージック」という、驚異的にググラビリティの低い名称に変えたAppleは本当にアホだと思います(社名も大概だけど)
通名詞をアプリ名や会社名にする行為は邪悪だと思うので、IT企業のお偉いさんの皆様におかれましてはぜひ控えていただきたく存じます。

※もう昔話ですがサーバー自動構成ツール「Chef」の開発元Opscode社が社名を「Chef」に変えた時も世界中の開発者から顰蹙買ってましたね〜 www.publickey1.jp

状況設定

  • 移行元マシンはMojave 10.14.6
  • 移行先マシンはCatalina 10.15.4
  • Apple Musicは未契約
  • 楽曲はほとんどがCDをリッピングしたもので、iTunes Music Storeから購入したものは非常に少ない
  • 外付けストレージを経由して、iTunesライブラリを移行したい
  • ただし、楽曲ファイル自体は最終的には移行先マシンに保存されている状態にしたい(外付けストレージを参照する形にはしたくない)

この記事を読んでいる方は、CatalinaではiTunesアプリが廃止されたせいで移行に際していろいろトラップがある、ということはご存知かと思います。しかし、ネット上のCatalina移行レポートのほとんどは、Catalinaが出たばかりの頃、つまり10.5.0とか10.5.1の時点での試行錯誤をまとめています。私はCatalinaがリリースされても人柱になりたくなかったのでしばらくMojaveにいましたが、おそらく、その頃のミュージックアプリの不安定さは現在(10.5.4)では解消されています。

手順

移行元マシンでの作業

iTunesライブラリを整理する

iTunesは賢いので、物理的な楽曲ファイル(.mp3とか.aacとか.wavとか)の保存場所があちこちに散らばっていても、ユーザーは普段気にせずに使うことができます。
が、このまま外付けストレージに移行すると爆死します(FAQで後述します)
まずはiTunesライブラリを整理しましょう。

  1. iTunesアプリケーション で、「ファイル」メニュー>「ライブラリ」>「ライブラリを整理」と選択します。
  2. 「ファイルを統合」と「“iTunes Media”フォルダ内のファイルを整理し直す」の両方にチェックを入れます。
  3. 「OK」を選択します。

ファイルは元の場所に残り、そのコピーが「iTunes」フォルダに置かれます。物理的な楽曲ファイルが「iTunes」フォルダ以下に集約されました。

移行元マシンのiTunesフォルダを外付けストレージにコピーする

Finderで ユーザー > ミュージック > iTunes の位置にある「iTunes」フォルダを丸ごと外付けストレージにコピーします。
これで移行元マシンでの作業は終わりです。

移行先マシンでの作業

ライブラリを選択する

optionキーを押しながらミュージックを起動すると、以下のウィンドウが表示されます。

f:id:entropiajp:20200530163701p:plain

「ライブラリを選択…」を選択します。すると、ファイルを選択するウィンドウが現れるので、外付けストレージの「iTunes」フォルダ直下にある iTunes Library.itl を選択して、「選択」をクリックします。

デフォルトでは ユーザー > ミュージックの直下にMusic Libraryファイルが作成されます。 私はLogicなど他の音楽アプリケーションも使っているため、階層を揃えたいという意図で、(ややこしいのですが)「ミュージック」フォルダの直下に「Music」フォルダが作成されるようにしました。

f:id:entropiajp:20200530164224p:plain

Mediaフォルダの場所を変更する

このままでもミュージックアプリに全ての楽曲が表示され、再生できますが、今はまだ外付けストレージの楽曲ファイルを参照している状態です。外付けストレージの接続を解除すると楽曲が再生できないはずです。(ただしiTunes Music Storeで購入した楽曲は除く)
冒頭に書いた通り、私は外付けストレージを外した状態でもミュージックアプリで楽曲を聴ける状態にしたいので、この一手間を加えます。

  1. Finderで、Music Library のある階層に「メディア」という名前のフォルダを作成します。
  2. ミュージックアプリで、「ミュージック」メニュー>「環境設定」>「ファイル」タブに移動します。
  3. 「"Music Media"フォルダを整理」と「ライブラリへの追加時にファイルを"Music Media"フォルダにコピー」の両方にチェックを入れます。
  4. 「変更」を選択し、1で作成したフォルダを選択します。
  5. 「""Media"フォルダの整理"の設定に従って、新しい"Media"フォルダにあるファイルを移動してファイル名を変更しますか?」のウィンドウが出たら「はい」を選択します。
  6. ミュージックアプリで、「ファイル」メニュー>「ライブラリ」>「ライブラリを整理」と選択します。
  7. 「ファイルを統合」と「“メディア”フォルダ内のファイルを整理し直す」の両方にチェックを入れます。
  8. 「OK」を選択します。

楽曲ファイルが外部ストレージから移行先マシンにコピーされます。楽曲数に応じて多少時間がかかります。

最終確認

外付けストレージを移行先マシンから外した状態でミュージックを起動して、楽曲の再生と、アルバムアートワークの表示が正常にできることを確認します。
これで移行作業は完了です。お疲れ様でした。

FAQ

以上の手順に従えば、全ての楽曲を、アルバムアートワークや追加日などのメタデータも維持した状態で綺麗に移行できますが、この手順で実施せずに移行がうまくできなくてインターネットを彷徨っている方向けにFAQを残しておきます。

Q. iTunes Library.xmlをインポートする方法で移行したら楽曲の追加日が全部インポートした日になったんだけど?

discussions.apple.com

これはAppleのフォーラムに投稿されていた質問で、今回とドンピシャな状況設定。
しかし、ここで回答されている解決方法は間違っています
iTunes Library.xmlをインポートしてしまうと、楽曲の追加日が全て「インポートを実施した日付」になってしまいます。 そうすると、例えばスマートプレイリストで「最近追加した曲」とか作成してた場合、全曲がそのプレイリストに表示されるようになって破綻します。同様に「2018年に買った曲」とかスマートプレイリストで作っててもぶっ壊れます。

Q. 大体のファイルは移行できたんだけど、一部の楽曲がミュージックアプリに表示されない

残念ながら、あなたは移行元のマシンで行う最初の作業「iTunesライブラリを整理する」をし忘れてしまったのだと思います。この作業を忘れてしまうと、「iTunes Media」フォルダではない別の場所に保管されていた楽曲ファイルは、外付けストレージにコピーされないので、当然移行先マシンにも存在しません。

参考にしたサイト

MacでiTunesファイルの保存場所を変更する - Apple サポート