特集
カテゴリー
タグ
メディア

Raspberry Piで自分専用の音楽ストリーミングサービスを作る方法

Raspberry Piで自分専用の音楽ストリーミングサービスを作る方法

スマートフォンの音楽ライブラリに大量のデータを入れて持ち歩くのは面倒だけど、かといって「Google Play Music」のような有料サービス(All Accessオプションのみ)を利用するのもイヤだという方は、シングルボードコンピューターの「Raspberry Pi」を使って音楽サーバーを作ってみませんか。ほんの少しの手間で、自分の音楽ファイルすべてにどこからでもアクセスできるようになります。では、その方法を説明しましょう。ここからは、Raspberry Piについて基本的知識を持っている前提でお話ししていきます。よくわからない方は、まずRaspberry Pi初心者向けセットアップガイドをお読みください。

必要なもの

140625_raspberry-pi_01.jpg

  • Raspberry Pi:どこで買えばいいかわからない場合は、初心者向けセットアップガイドをご確認ください。
  • 4GBのSDカード:オペレーティングシステムをインストールするものが必要です。Raspberry Piと互換性のあるSDカードはこちら(英文サイト)で紹介しています。
  • イーサネットケーブルまたはWi-Fiアダプタ:設定および音楽ストリーミングサービスの利用にはインターネット接続が必要です。
  • USBキーボード:必要になるのは初期設定の時だけです。
  • ストリーミングを受信するiOSまたはAndroidデバイスやコンピューター:自分のライブラリの音楽をRaspberry Piから飛ばすための受信先として、リモートデバイスが必要です。
  • 月額1ドルの『Subsonic Premium』への登録:Raspberry Piに音楽サーバーを設定するために無料オプションをいろいろ試しましたが、Subsonicはその使いやすさと抜群のサポート力で断トツとなりました。インターネットを通じた音楽ストリーミングを利用するには月額使用料がかかりますが、Subsonicの場合、最初の30日間は無料でお試しできます。
  • 音楽の保存場所:Raspberry Piは外部へ音楽を飛ばしてくれますが、音楽データの保存場所が必要なことに変わりはありません。NAS(ネットワークアタッチストレージ)か外付けハードドライブを利用できます。

できること

設定さえ済めば、インターネットに接続できる場所ならどこからでも、お持ちの音楽ライブラリすべてにアクセスできるようになります。それも、自宅のルーターに小さな箱を接続するだけで可能になるのです。

はじめに、Raspberry PiにSubsonicをインストールしましょう。これを入れれば、スマートフォンやパソコンのアプリから自分の音楽ライブラリにアクセスできるようになります。また、そのライブラリを友人と共有したり、一緒にプレイリストを作成したりも可能になるのです。要するに、自分専用の「Spotify」風音楽ストリーミング配信サービスが持てるというわけです(もっと正確に言うなら、Google Play Musicのほうが近そうです)。

Subsonicはどんなコンピューターでも使用できますが、Raspberry Piにインストールしておくのが特に便利です。「パソコンを常に起動しておくと電気代がかかる」とか、「メインのコンピューターをインターネットにつないだままにしておいて大丈夫だろうか」とか、気をもまずに済むからです。Raspberry Piなら、初期設定のあとは、自宅の片隅に押しやって、24時間365日そのままにしておいても、さほど心配する必要はありません。

ステップ1:Raspbianを設定する

Raspberry Piを自分専用の音楽ストリーミングサービスとして使うには、Raspberry Pi専用に最適化されたLinux OS「Raspbian」をSDカードにインストールしなければなりません。詳しい方法は、冒頭でご紹介した初心者向けセットアップガイドをご覧ください。それが済んだら、コマンドラインを起動し、アップデートを実行します。キーボードで次のように打ち込んでください。

sudo apt-get update sudo apt-get upgrade

あとはアップデートが実行されるのを待ちましょう。完了まで多少の時間を要するかもしれません。

ステップ2:Javaをアップデートする

SubsonicでRaspberry Piから音楽をストリーミングするには、最新版Javaをインストールしておいたほうが、動作が確実です。というわけで、OpenJFXを手動でインストールしましょう。そのためにはまず、メインマシンでJavaダウンロードページを開き、「Accept License Agreement」をクリック、「Download」の下のリンクを右クリックして、リンク先のアドレスをコピーします。Raspberry Piに戻り、コンソールに次のように打ち込みましょう。

wget [たった今コピーしたリンクをペーストする]

実際には、たとえば以下のようになります。

wget http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-arm-vfp-hflt.tar.gz

ダウンロードが終了したら、インストール用ディレクトリを作成します。

mkdir -p /opt

それから解凍します。

sudo tar zxvf [ダウンロードしたファイル名] -C /opt

実際には、こんな感じです。

sudo tar zxvf jdk-8-linux-arm-vfp-hflt.tar.gz -C /opt

ここで、新しいJavaがデフォルトになるよう設定します。

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0/bin/java" 1

それから

sudo update-alternatives --set java /opt/jdk1.8.0/bin/java

Javaの正しいバージョンがインストールされたかどうか、以下を使って確認できます。

java -version

一部のプログラムでは、最新版Javaの場所を指定してやらなくてはならない場合があります(Subsonicもそうです)。そこで、いくつかテキストファイルを編集しなくてはなりません。ターミナルに次のように打ち込んでください。

sudo nano /etc/environment

こうして開いたテキストファイルに、以下を追加します。

JAVA_HOME="/opt/java/jdk1.8.0

ファイルを保存して、コマンドラインに戻りましょう。bashでも同じようにします。

sudo nano ~/.bashrc

そこに以下を追加します。

export JAVA_HOME="/opt/jdk1.8.0"

export PATH=$PATH:$JAVA_HOME/bin

ファイルを保存すれば、下準備は完了です。Raspberry Piを再起動すれば、いよいよ音楽サーバーの準備を始められます。

ステップ3:Subsonicをインストールする

140625_raspberry-pi_02.jpg

次は、Subsonicをインストールします。音楽ストリーミングを実際に実行してくれるのはこのソフトウェアです。Javaの時と同じようにダウンロードリンクをコピペします。まず、メインマシンでSubsonicダウンロードページを開き、「Debian/Ubuntu Installer」の「Download」をクリック、次のページの上部にある「direct link」を右クリックして、リンクをコピーします。それから、Raspberry Piに戻って、次のように打ち込みましょう。

wget [上記でコピーしたURL] -O subsonic.deb

以下のような感じになります。

wget http://downloads.sourceforge.net/project/subsonic/subsonic/4.9/subsonic-4.9.deb

ダウンロードが終了したら、インストールするために次のように打ち込みます。

sudo dpkg -i subsonic.deb

これでSubsonicがインストールされました。ただし、Raspberry Piをインターネットに接続することになるので、セキュリティ対策が必要となります。具体的には、root権限を持たないユーザーを作成します。次のように打ち込んでください。

sudo adduser [新しいユーザー名]

以下のような感じです。

sudo adduser subsonic

では、この新しいユーザー名を使ってSubsonicの設定を編集します。次のように打ち込んでください。

sudo nano /etc/default/subsonic

こうして開いたテキストファイルの最終行に、以下のように追加します。

SUBSONIC_USER=[新しいユーザー名]

それから、Subsonicを再起動します。

sudo service subsonic restart

これで、Raspberry Piでは、たった今作成したユーザーアカウントで、Subsonicを動かしていることになります。このユーザーにはroot権限はありません。また、今後Raspberry Piを起動するたびにSubsonicも自動的に起動するはずです。

ステップ4:固定IPアドレスを設定する

140625_raspberry-pi_03.jpg

では、Raspberry Piに固定IPアドレスを設定しましょう。そうすれば、そのURLをブラウザに打ち込むだけで、いつでも、どこからでもアクセスが可能になります。最初に、お使いのホームネットワーク環境を確認するために、次のように打ち込みましょう。

ifconfig

現在、どこでどのようにルーター接続が行われているかがわかります。「inet addr」を見てください。「192.168.1.115」といった数字が続いていますから、それを書き留めてください。また、デフォルトゲートウェイの番号も必要なので、次のように打ち込みます。

route -n

デフォルトゲートウェイは「UG」フラグのある行に記載されています。ルーターのアドレスであることが多く、「192.168.1.1」のような数字です。こちらも書き留めてください。では次に、設定ファイルを編集します。

sudo nano /etc/network/interfaces

「iface eth0 inet dhcp」のように記載された行があるはずです。それを以下と置き換えてください。

iface eth0 inet static

address [書き留めておいたアドレス]

netmask 255.255.255.0

gateway [書き留めておいたゲートウェイ]

ここまでやれば、Raspberry Piは常に同じIPアドレスを持つようになるので、接続が簡単になります。

ステップ5:Subsonicを設定する

140625_raspberry-pi_04.jpg

Raspberry PiでSubsonicが動作するようになったら、まずはメインマシンからアクセスしてみましょう。ブラウザに、以下のようにIPアドレスを打ち込みます。

[ステップ4で設定したIPアドレス]:4040

以下のような感じです。

192.168.1.115:4040

これで、Subsonicのログインページが開きます。とりあえず、ユーザー名「admin」、パスワード「admin」でログインできます。

まずは指示に従って、自分のユーザー名とパスワードを設定します。次に、音楽フォルダの位置を指定します(訳注:言語設定もできるようです。「Settings」>「General」>「Default language」で「日本語(日本)」を選択>「Save」)。

「Settings」>「Media Folders」とクリックして進み、Raspberry Piの音楽ライブラリの場所を指定します。外付けハードディスクやUSBドライブを使用している場合は、先にこちらのガイドのどれか(英文記事)を参考にして設定を行ってください。これで、ローカル無線ネットワーク内であればどこからでも音楽ライブラリにアクセスできます。しかし、それではまだ不十分です。どこからでもこのライブラリにアクセスできるよう許可しましょう。

  1. 「Settings」>「Network」と進みます。
  2. 「Automatically configure your router to allow incoming connections to Subsonic」のボックスにチェックを入れます。
  3. 「Access your server over the Internet using an easy-to-remember address」のボックスにチェックを入れます。
  4. 外部からのアクセスに使用するURLを決めて、入力します。
  5. 「Save」をクリックします。

Subsonicのリロードが終わるまで待ちましょう。無事に設定できれば「Successfully registered web address」と表示されるはずです。これで、作成したURLを使ってどこからでも音楽ライブラリにアクセスできるようになりました。

異なる表示が出た場合は、ルーターが自動ポート開放に対応していないということなので、手動で設定しなければなりません。こちらのガイド(英文記事)に、基本的なやりかたを最初から最後まで説明してあります。ただし、設定および問題への対処は、使用するルーターによって異なります。

ステップ6:Subsonicのモバイルアプリを設定する

140625_raspberry-pi_05.jpg

Subsonicへアクセスできるアプリは、デスクトップ版もモバイル版も、山のようにあります。いくつか試してみましたが、個人的には、Macなら『Submarine』、iOSなら『Audiophone』が一番だと思いました。設定方法はアプリによって違いますが、たいていは非常に簡単です。必要なのは、サーバーのアドレスとポート番号(ステップ5で決めましたね)、Subsonicのユーザーログイン情報だけ。設定が済めば、Raspberry Piが起動し、Subsonicサーバーが動作している限り、どこからでもライブラリの音楽を聴くことができるようになります。

Thorin Klosowski(原文/訳:遠藤康子/ガリレオ)

Music by Josh Woodward/Bad Weather California. Photos by Tarchyshnik Andrei, Donatas1205.
swiper-button-prev
swiper-button-next