スマホでの音楽環境のためメディアサーバを探した話

Overview

手持ちの音楽をスマートフォンで聞くとき今まではMusicBeeからAndroidスマホに転送しBTイヤホン/ヘッドホンで聞いていました。

ただ、

  • MusicBeeで泥に200GBオーバーを 転送するの面倒
  • たまに壊れて 差分同期ではなくフルコピーになる

ってのが嫌になり、メディアサーバやっぱりほしいなとなった先月の奮闘記です。

要件

  • flac で聞ける
  • 使いやすいAndroidクライアントがある
    • プレイリストやアルバムを指定して事前にダウンロードしておき、 オフラインで再生できる
    • UIが分かりやすい
    • オフラインキャッシュの保存先を指定できる( microSDに保存させたい )
  • ブラウザから使えなくてもいい(PCではMusicBeeで聞くので)
  • この際有料ソフトでもいい
  • 実行環境はLinode 1vCPU RAM1GB
    • メディア用ストレージはLinodeオブジェクトストレージをrcloneでマウント
    • そのうちGoogleDriveにするかも(API規制あるからどうだろ?)
    • ほぼ全てflacで、8000曲200GB程度
    • サーバ代はストレージと併せて$10くらい
  • 日本語で曲を検索できる

試したサーバソフト

どのサーバもdocker-composeで動かしCaddyでリバースプロキシしました。

以下を試しましたが、最終的には Navidrome を選択。

Jellyfin

  • クライアントがしょぼい
  • ストリーミングのみで聞くには十分なので前回のブログ投稿のように音声作品はこっちでまとめてます
  • WebUIはなかなか良い
  • スキャンはそこそこ速いけどサムネ生成遅い

Emby

  • クライアント分かりづらい、使いづらい
  • WebUIはなかなか良い
  • スキャンはそこそこ速いけどサムネ生成遅い
  • 音楽用と考えると、お金出してまで使うレベルではなかった
    • 私はタグも全て自分で管理しているので、自動でつけるような機能は不要

airsonic/Jpsonic

  • 各種subsonicクライアントが使える
  • WebUIアホほど遅い
  • rclone使ってる事を差し引いてもスキャンアホほど遅い
  • flacの再生にバグがあるらしい?(未確認)

gonic

gin-gonicではなくsentriz/gonicです。

  • 各種subsonicクライアントが使える
  • rclone使ってる事を差し引いてもスキャンアホほど遅い
  • 各種subsonicクライアントが使える
  • そこそこスキャン早い
  • 十分なWebUI
  • 開発が活発
    • 英語などのスペースで区切られた言語用の検索しかできませんでしたがgithubにissueと「こうしてほしい!」というコードのベースを投げたところすぐに対応してもらえました

クライアントについて

NavidromeにしたからにはAndroid用subsonicクライアントが必要なわけですが、正直活発に開発されているものが今あるかというと……。

悩んだ末今はDsub for Androidをメインに使っていますが、SubMuxicが私の端末でもまともに使えるようになったらこっちを使うかもしれません。

開発続いていてかつDsub並に使いやすいの無い、無くない?

自分でなんとかしたいまであるけどAndroidアプリの開発なんてわっかんないんだよなぁ……。

既存のフォークをするとしてもビルドどうやってんねん!となるし。

https://github.com/deluan/navidrome/releases/tag/v0.32.0

他のメディアサーバの微妙っぷりに悩まされてたところでNavidromeと出会いかなり気に入り、WebUIを日本語に翻訳しました。

ほとんどの人はsubsonicクライアントを通して使うでしょうからWebUIを見るのなんてユーザ追加やプレイリスト編集程度だと思いますが、せっかくなら日本語になってたほうがとっつきやすい。

まとめ

とまぁ色々使った末にインフラはLinodeで、サーバはNavidromeで、クライアントはDsubでというように落ち着きました。

私のように

  • 自宅サーバは無し
  • できるだけ安く自分用音楽ストリーミングサービスを建てたい

となるとストレージへの金額の都合上オブジェクトストレージやgoogle drive等をrcloneでマウントするのが一番安いですが、IOは非常に遅くなります。

例えばairsonicでは8000曲のスキャンに4時間かかりましたが、Navidromeでは2時間程度でした。

ひどい環境でもそこそこ満足できるレベルで動くNavidrome、Google Play Musicからの移行先とかにでもいかがでしょ。

どっかに日本リージョンがあってHDDでいいから300GBくらいのストレージついてて月1000円くらいで使えるVPS無いもんかな。

comments powered by Disqus