概要
タイトルの通り、Google Play Music(GPM)のサービス終了に伴ってプレイリストを移行する必要が生じたので、そのためのツールを簡単に実装しました。
元々flacで購入していたものはそっちを使いたかったので、flacファイルが手持ちにあればflacのパスに差し替えるような機能も加えました。
引数に対応してないため、実行に際しmain.pyを書き換える必要があります。ダサいですが、常用するものではないのでOKというジャッジです。
乗り換え先サービスは見つかっておらず、ひとまずfoobar2000で再生する予定です。
以下は実装時のメモ。
Dumped Files
ダンプされたファイルは次のような名前で複数個になることもある。そのまま同一のフォルダに展開して問題ないように見える。
takeout-20201011T062914Z-001.zip takeout-20201011T062914Z-002.zip ...
メモ
Directory Tree
tree
└─Takeout └─Google Play Music ├─トラック ├─プレイリスト │ ├─#All-Thumbs-Up │ │ └─トラック │ ├─2019-01-07 │ │ └─トラック │ ├─2019-02-01 │ │ └─トラック │ └─高く評価した曲 └─ラジオ ステーション └─最近利用したステーション
Playlist Directory
プレイリスト直下のメタデータ.csv
は特に重要なデータを持ってなさそう。トラック以下のものをパースする必要がある。
├─2020-06-30 │ │ メタデータ.csv │ │ │ └─トラック │ XXXX.csv │ YYYY.csv
ヘッダは次のようなもの。
タイトル,アルバム,作成者,時間(ミリ秒),評価,再生回数,削除済み,プレイリストのインデックス
Track Directory
Google Play Music直下のトラックフォルダ。ここにはmp3ファイルとそれに対応するcsvファイルが存在する。 csvファイルのヘッダは次のようなもの。
タイトル,アルバム,作成者,時間(ミリ秒),評価,再生回数,削除済み
プレイリスト -> トラック以下のcsvファイルとここのcsvファイルはTitile, Album, Artistで結合できるが、これらのcsvとMP3を結びつける方法がない。 そのため、mp3から直接タグを吸い出す実装にして、ここのcsvファイルのデータは使用しないことにした。