2014-11-28 [長年日記]

iTunesのプレイリストをAmpacheに登録する

現在メインの音楽ライブラリとしてOSX上のiTunesを使用していて、そこから音楽データをAmpacheを動かしているサーバーにrsync、Android端末ではJust PlayerのAmpache連携機能を使って再生してる。この環境がだいぶ安定してきたので、プレイリストに関しても移行できないかなーということで、作業した。

もともと、新しい曲やアルバムを購入したらiPodで「最近追加した曲」のプレイリストでリピートをかけていいなーと思ったものには星をつけて、最終的には星4以上のプレイリストに戻るというのをしていて、本当はこのレーティングの情報を移せられれば一番いいんだけど、ひとまずはiTuneのトップレートのプレイリストを書き出して、それをAmpacheにインポートすることにした。

プレイリストの書き出しは、iTunes Exportで行う。実際には以前作成した.m3uがあったのでそれを使用した。m3uはファイルへのパスが絶対パスで羅列されているだけというシンプルなフォーマットなのだけど、macではファイルパスの多バイト文字がいわゆるUTF8-MACになっているため、これを通常のUTF-8に変換する必要がある。また、通常は音楽ファイルのルートのパスも異なるため、これも置換する必要がある。

#nkf --ic=UTF8-MAC playlist.m3u | sed -e '\/User\/xxx\/iTunes Library/\/path\/to\/Ampache Library/g' > ampache_playlist.m3u

こんな感じ。実際はnkf、sedの結果を標準出力で確認しながらやった。

あとは、AmpacheのWebインターフェースからプレイリストをインポートするだけ。m3uの行数とプレイリストとして登録された数がほぼ一致したので大丈夫そう。