音楽サーバーをAmpacheからNavidromeに変更した

2024-09-14

私は音楽は「私のコレクション」を聴きたい派なので、

Spotifyなどの音楽配信サービスではなく、自前で音楽サーバーを用意している。

元々はiTunesで管理していたのを、

Androidタブレットでも聴けるように、数年前に自宅のラズパイにAmpacheを導入した。

Ampache - Music Streaming Server

iTunesの頃から音楽データはNASに保存していたので、そのデータをAmpacheから参照する構成。

%E9%9F%B3%E6%A5%BD%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E9%81%8B%E7%94%A8.drawio.svg
%E9%9F%B3%E6%A5%BD%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E9%81%8B%E7%94%A8.drawio.svg

AmpacheはSubsonicAPIに対応しているので、

Android端末にSubsonicクライアントをインストールすれば、外出先ではAndroidタブレットから音楽サーバーの曲を聴くことができる。

3年くらいこの方式で運用してみて、なかなか良い感じで、長年使用していたiPod nanoを完全に使わなくなった。

ただ、Ampacheのもっさりした挙動や、たまに挙動が怪しくなるところが、ちょっと気になってきた。長時間再生していると音楽が止まったり、Androidクライアントで再生していると音楽の切り替えがうまくいかないことがたまにあるのだ。

ラズパイという貧弱な環境で動かしてるのが原因だと思うけど、もうちょっと軽快なものはないかな、と調べてみた。

少し前にも調べたのだけど、その時にはAmpacheでPodcastも管理していて、Podcastも管理できる音楽サーバーとなるとやっぱりAmpache、ということになっていた。

ただ最近、PodcastはPodcast専用アプリで管理する方針に切り替えたので、Podcastは管理できなくていいから、と条件が広がったので再び探してみた。

結果、候補として以下の2つが上がった。

どちらもDockerコンテナで簡単に導入できたので、実際に動かして試してみた。

(Docker入れておくと、本当に便利)

両者ともに操作感は軽快。

音楽ライブラリのメタデータ自動取り込みも、さくっと軽快に行ってくれる。

UXはJellyfinがとても良い感じだった。

PCブラウザ上でも歌詞が表示できるところとか、

カスタムCSSでデザインを自分好みに調整できるところなどが気に入り、

これにするか、と決めかけたのだけど、

Android用の専用アプリがキャッシュ機能を備えていないことが判明。

うーーーむ……と悩んだけど、外出先で音楽を聴くにあたり、やっぱりキャッシュ機能は外せない。

そういうわけで、Navidromeに切り替えることにした。

Navidromeは、Ampacheと同様にSubsonicAPIに対応しているので、

今まで使っていたSubsonic対応アプリが使用可能。

ちなみに、Androidで使うSubsonic対応アプリとしては、「DSub for Subsonic」をずっと使っている。

DSub for Subsonic - Google Play のアプリ

現在は開発停止している気配で、UXが若干古臭い気がするので、現在も開発されている良さげなアプリがないかと併せて探してみたけど、良い感じのものがないので、引き続きクライアントアプリは「DSub for Subsonic」を使っていくことにした。