Subsonicで自宅から音楽ストリーミングをしている話
はじめに
この記事は Tokyo City University Advent Calendar 2019
の15日目の記事です
昨日の記事は@mikuta0407
さんの「今のパソコン上のVirtualBoxにWindows95を入れる - Qiita」
qiita.com
でした。この方古いOS動かすの好きすぎて変態
同じAdvent Calendarの2日目 にも私が 投稿しております。もし見る気が起きたら見ていってください
今回の話題
「スマホのSDに大量に音楽データを入れてストレージたりないよ><」っていう友人が少なからず僕の周りにいるんですが、その昔は私も困っていました。 過去記事で作ったサーバーとあるソフトウェアをつなげるとかなりいい感じに解決できる、というお話です。
Subsonicとは
Subsonicはミュージックストリーミングアプリケーション・サーバです。ミュージックプレーヤーの機能もあったり、DLNAにもなったりなんかいろいろできます。 音楽データをsubsonicが提供するAPIを利用して、ストリーミングデータを受信したり、曲の一覧を取得できるというものです。 この方の説明がわかりやすいのでこっち見たほうがいいとは思いますが、ざっくり私が気にしてる特徴をあげていきます
Subsonicの特徴
利点
- 個人サーバーで動かすので音楽ライブラリも個人のものによる
- 自分が持ってるCD、音楽データなら大半がストリーミングできるので Apple musicやGoogle Play Musicにあの曲がない!は起きない
- スマホクライアントがApp StoreやPlay Storeでいくつか出てるので外で聞く分にも困らない
- スマホストレージや再生するPCのストレージはキャッシュ以外使わないのでストレージの問題は起きない
- ユーザーアカウントの設定ができるので複数人共有するときに、できることの制限とかもできる
弱点
- 自分で音楽データを集めなければならないのでCDが売ってなかったりするとストリーミングできない
アイマス曲がストリーミングサービス非対応なのが多すぎるから使いたくない - 音楽データを自分のサーバー上に全部入れないと使えないのでサーバーのストレージが圧迫される
- ネットワークでストリーミングするので、携帯回線ばかり使うと通信容量が増える(1GB契約の人にはオススメできない)
インストールについて
- ここからDLできます。WindowsやMac、DebianやUbuntuとかいろいろなプラットフォームに対応してます。
- Javaが入っていればDLしたアプリケーション動くはずです、簡単ですね。
- 適当にprogramfilesとか/usr/local/とかに展開して動かしてあげましょう
- 起動したらlocalhost://4040入ればそこからconfigいろいろできます。すべてWebベースなので基本的にはコマンドとかファイル書き換えとかはいりません
実際の使用例
- 私の環境ではVPSに直接入れるには VPSのストレージが足りない という問題があるので、音楽データは自宅のデスクトップPCに入れ、(どちらにせよRDPで使ったりするので) 外にいる間はつけっぱなしでいつでも使えるようにしてます。
- ただ、アクセスするときにip直打ちはみっともない(これは個人の感想です)ので、ドメイン入力でアクセスできるようにしたいということでちょっと工夫をしています。
- 下の図がとりあえずざっくりとしたアクセスの流れの図です
- 右から説明をすると、
- まず音楽を聴きたいデバイスで
music.domain.com
(これは仮のURLです、実際運用してるものは個人用なので公開してません)にアクセスします - そうすると、そのアドレスはVPSに到達するようになっていて、VPSで動いているapacheに指定のアドレスでのアクセスが来たら自宅ipのポート4040に変換するように設定しています(これをReverse Proxyといいます)
- そうすると、見た目同じアドレスのまま、接続先は自宅のLANに。アクセスを受け取ったルータは事前に設定してあるポートフォーワードでSubsonicが動いているデスクトップPCに到達し、こことデータの送受信をしている、という感じです。
- まず音楽を聴きたいデバイスで
- あとは、使っている回線の転送速度によるのですが、音楽データの転送は今の時代であればさほど遅くないので大して困ったりしません
- こんな感じで普段、朝の通学などにスマホクライアントで自分の買ったCDを聞いて通学をしているというわけです
まとめ
- Subsonic便利だよ
- 音楽サブスクライブが嫌
- だけどCDを持ち運ぶのは面倒だと思う
- かつスマホストレージに困っている
- 僕みたいな人向けのサービスだよ
- VPSうまくかますとアドレスもわかりやすくなって便利だよ
- サーバとかいろいろやってみたい人触ってみてもいいかもね
最後に
この記事は Tokyo City University Advent Calendar 2019
の15日目の記事でした
明日の記事は杉田玄白
さんの「TCUバードについて書きます」です。TCUバードよりおっぽんのほうが可愛い問題どうにかしてください