Tech系サービスやガジェットの使い心地、自分の作業環境、資産運用について気が向いたときに記録を残しています。

記事内のAmazonアソシエイト適格販売及び、Google Adsenseでお小遣いを得ています。

Google Play MusicからiBroadcast向けにライブラリをエクスポートするスクリプト書いた

GPMの代わり、存在しない問題

自前で手に入れた音源をクラウド上にアップロードし、マルチデバイス(PC、スマートフォンのみならずスマートスピーカーや自動車まで)で再生できるGoogle Play Musicがサービス終了してしまうというGPM愛好家には由々しき事態が起きている。

サブスクリプションストリーミングサービスを契約せず、買い切りの音楽データを買うか、CDのリッピングのみで視聴していた一部のユーザーには大打撃。なんせ世の中はサブスクリプション全盛期なので、ストリーミングをしないという選択肢がGPM以外のサービスにはほぼないのだ。 もちろん、未だにこんな古臭い仕草をして音楽データを貯めこんでいるのはストリーミングサービスに乗らないマイナーな音楽を聴いているからであるので、ストリーミングサービスは代替たりえない。

後継を名乗っているYouTubeMusicは、月額980円のお布施なしには自前の音源をAndroidAutoで聴いたりプレイリストを予めDLしておいたりすることすらできない産廃なので論外。

救世主iBroadcast、だけど…

www.ibroadcast.com

そんな世の中でも、ミュージックロッカー単体サービスをしているiBroadcastというサービスがある。できることはおおよそミュージックロッカーとしてのGPMと一緒だ。 UIやレスポンスにはまだまだ改善点があるが、機能があるだけありがたい。

Alexa, google home, Chromecastに対応しておりAndroid/iOSアプリもあり、AndroidAutoにも対応している。 ストリーミング音質は128kbpsと貧弱めだが、プレミアムプラン(現在開発中)は320kbpsだ。

サービスそのものについては、自分と同じくお試ししている人の優秀な記事を見つけたので、こちらを参考にどうぞ。

applecom.blog.jp

そのほかの仕様

大体ここを参照してほしい。今のところ、ビットレート以外に制限らしい制限はない模様。 フィードバックの送付先も書かれている。

www.ibroadcast.com

移行手順

  1. GPMの全ライブラリ(もしくはアップロード前のローカルファイル)をダウンロードするなりして用意する
  2. MP3 Tagなどでタグ情報を整理する
  3. MusicSyncLiteを使いアップロード
  4. 分割されたアルバムをマージする
  5. プレイリストをエクスポート・インポートする

1. GPM全ライブラリをダウンロード

解説は省きます。さすがにもう終わってるよね?

2. MP3 Tagなどでタグ情報整理

これも解説は省略。ポイントは以下の2点。

  • アルバムアーティストを必ず付与する
  • 古いID3タグは削除しておかないと文字化けするので注意。v2.3以降だけにしておく

f:id:gensobunya:20201003014030p:plain

3. ファイルアップロード

f:id:gensobunya:20201003013318p:plain

何パターンか手段が用意されているので、好きなものを。アップロードは遅めなので気長に待つ。

4. アルバムのマージ

なぜか、末尾にハイフンがついていたり一部のアルバムで2枚に分かれてしまうことがある。

f:id:gensobunya:20201003014641p:plain

f:id:gensobunya:20201003014650p:plain

タグの問題ではないので、iBroadcastに実装されているLibrary Editorを使って修正する。ドラッグアンドドロップでアルバムをマージできるので、目視で手作業。 タグ情報はすべて変更できる…みてるかYTM、これが当たり前なんだぞ。

f:id:gensobunya:20201003014824p:plain

5. プレイリストの移行

最大の難関。iBroadcastにはtxtファイルで作成したプレイリストをインポートする機能があるが、GPMにはエクスポート機能がない。 そこで、GitHubに転がっていたGPMのプレイリストをcsvに変換するスクリプトをfolkして、iBroadcast変換用に書き換えた。

gist.github.com

使い方は、プレイリストのページにアクセスしたあと、Gistのスクリプトを開発者ツールのコンソールにコピペして実行するだけ。 そうするとプレイリスト名のtxtファイルが落ちてくる。

iBroadcastは以下の形式で書かれたテキストをプレイリストとして読み取って、ライブラリ内の曲名とマッチングしてくれる。

[count]. [track title] by [artist name]
[track title] by [artist name]
[track title]

ただ、現在は日本語を含むアルバム名の曲ではマッチングが正常に機能しないという不具合があり、インポートはうまくいっていない…洋楽ライブラリならば問題ないが。 修正にいつまでかかるかわからないが、ひとまずプレイリストのバックアップという意味でエクスポートしておくに越したことはない。

自分はもう不具合フィードバックを送ったが、困っている人はどんどんフィードバックメールを送って改善を促してほしい(レスポンスは速い)

修正されていました。 それと、このスクリプト! など一部の文字エスケープできていませんでした…適宜手動でマッチングしてください