Raspberry Pi で自宅専用のSpotifyのようなお手軽なミュージックサーバーを楽しみませんか? 家の中でどこに居てもWi-Fiさえ届けばいつでも音楽を聴ける環境は、試してみると辞められません。
あまり音楽を聴かない人こそ、Raspberry Piを手に入れたら最初にトライしてもらいたいプロジェクトです。「さぁ、音楽を流そう」などと気負わなくても、常にBGMとして気軽に再生できるからです。
別々の部屋で別の音楽を同時にかけることができます。スマホやPCなど受信のデバイスもWi-Fiに繋がれば良いので選択肢があります。
更に、Raspberry Pi はどの機種も消費電力がかなり低いため、電気代も気になりません。かけっぱなしでもOKです。
Airsonicとは?
Airsonicの元はSubsonicという人気のオープンソースが発祥です。Subsonicがオープンでは無くなり、派生して登場したのがLibresonicでした。その後にairsonicも派生しました。Madsonicやjpsonicもあるようですね。
もちろん、airsonicも完全無料のオープンソースでGPLv3に基づいてライセンスされています。
JAVAで出来ているため、Windows、Mac、Linux、Raspberry Pi などほとんどの環境で動作します。また、JAVAサーブレットとしてサーバー環境で更に利便性が増します。
FLACをはじめ、APEなどもサポートしていて、ほぼすべてのオーディオ形式のオンザフライ変換とストリーミングをサポートしています。
今回の環境
Airsonicで楽しむには、Raspberry Pi 3B+かRaspberryPi 4Bが性能としては適当でしょう。今回はネットワークの速度に有利なRaspberry Pi 4Bでセットアップします。

Raspberry Pi 4Bはボード単体だと、専用の電源アダプターがなかなか手に入りません。USB-C規格で5V3Aの物が必要です。セットになっている商品なら別々に探す必要もありませんからオススメです。
microSDカードは32GBでもOKです。別途、USB接続のHDDやUSBメモリースティックなどがあれば、そちらに音楽ファイルを格納しておけるからです。
もちろん手持ちの音楽ファイルは用意しておいてください。
今回は、スタンドアローン版、Apache Tomcatと連携したサーバー形式
そしてRaspbianがインストールされた状態まで済んだらインストールしていきます。
必要なソフトウェアをインストール
JAVAでできているため初めにJDKをインストールしないとなりません。
※注 ARMでのOpenJDKには既知のパフォーマンス問題があります。
いつものアップデート&アップグレード
sudo apt update && sudo apt upgrade
JAVAをインストール
sudo apt install openjdk-8-jre
Apache tomcatをインストール
sudo apt install tomcat8
JAVA_HOMEにパスを設定するため/etc/default/tomcat8
を編集します。
最初の4行目にある#(コメント)を外します。
sudo nano nano /etc/default/tomcat8
# The home directory of the Java development kit (JDK). You need at least
# JDK version 8. If JAVA_HOME is not set, some common directories for
# OpenJDK and the Oracle JDK are tried.
JAVA_HOME=/usr/lib/jvm/java-8-openjdk
今回はopenjdk-8にしました。公式ではoracle-java8-jdkを薦めています。2019年からライセンスは個人利用に限るようになりました。ここではopenjdkのままご紹介します。sudo apt install oracle-java8-jdk
また、tomcat8で動作しました。公式には8.5以上とありましたが、tomcat9では上手く動作しませんでした。
Airsonicの最新版をダウンロード
記事執筆時点でv10.6.2でした。(https://github.com/airsonic/airsonic/releases)
wget https://github.com/airsonic/airsonic/releases/download/v10.6.2/airsonic.war
airsonicのフォルダを作り、その権限をtomcat8に変更します。
sudo mkdir /var/airsonic/
sudo chown -R tomcat8:tomcat8 /var/airsonic/
airsonic本体ファイルをtomcat8のwebappフォルダへ移動し、その権限もtomcat8に変更します。
sudo mv airsonic.war /var/lib/tomcat8/webapps/airsonic.war
sudo chown tomcat8:tomcat8 /var/lib/tomcat8/webapps/airsonic.war
トランスコード用にffmpegをインストール
sudo apt install ffmpeg
フォルダを作成し、権限をtomcat8に変更する
sudo mkdir /var/airsonic/transcode
cd /var/airsonic/transcode/
シンボリックリンクを貼る(≒ショートカットURLみたいなもの)
sudo ln -s /usr/bin/ffmpeg
sudo chown -R tomcat8:tomcat8 /var/airsonic
確認はls -l
ls -l
このようになっていればOK
lrwxrwxrwx 1 tomcat8 tomcat8 15 5月 18 01:21 ffmpeg -> /usr/bin/ffmpeg
これでインストールは完了です。
ログインして設定
webブラウザからairsonicの設定をしていきます。

別のマシンのウェブブラウザから、IPアドレス:ポート番号/airsonic
でアクセスできます。
http://192.168.X.XX:8080/airsonic
Airsonicのデフォルトのユーザー名とパスワードはadmin
です。先ずはこのパスワードを変更しましょう。

メニューSettingの中にUsersがあります。そこのユーザーadminをプルダウンから選択して、下部にあるchange passwordにチェックを入れることで変更できます。最後に保存(save)をお忘れなく。
日本語にも対応している
全てではありませんが日本語にも対応しています。言語選択を変更しましょう。

同じSetting内の一般(General)中央部にデフォルトの言語を選べます。
Musicファイルの場所を指定
ストリーミングしたい音楽ファイルが入っている場所を指定してあげます。

今回、同じくRaspberry Pi 4で構築したNASに保存してる音楽を指定しました。
https://raspida.com/make-nas-rpi
もちろん、Raspberry Pi 4に繋いだHDDでも良いですし、microSDカード内へ保存してもOKです。USBメモリースティックも良いですね。
いずれにしても外付けのデバイスを指定する場合、マウントという作業が必要です。
exfat形式のHDDやNASをマウントする際、cifs-utilsが必要です。
現行のRaspbianにはcifs-utilsが最初からインストールされています。(sudo apt install cifs-utils
)
マウントのコマンドは以下のようにします。
sudo mount -t cifs //xxx.xxx.xxx/sample/music /mnt/nas -o user=xxxxx,password=xxxxxxx,iocharset=utf8
dfコマンドで確認します。
df -h

/mnt/nasにマウントされました。このマウント位置をairsonicの設定画面で指定してあげれば読み込まれるわけです。

名前は任意で、フォルダの場所にマウント先のパスやmicroSDカード内のパスを入れ、保存します。
その後で「今すぐ音楽フォルダをスキャンする」をクリックすると容量によって時間はかかりますが、読み込まれ、ホームへ戻れば楽曲が表示されているでしょう。
なお、ネットワークドライブの場合は高速アクセスモードにチェックしておくと良いでしょう。

終わりに
airsonicを操作できるアプリはいくつかあります。ただ、iOSとmacOSでは選べませんね。Androidアプリ、Windowsデスクトップ用のアプリなどはたくさんあります。
Openmediavaultを既に運用しているなら、Dockerをインストールして、そこにairsonicコンテナを追加すればRaspberry Pi 4は1台で済みます。
NASが無くても、Raspberry Pi 4に音楽を詰め込んで家庭内のどこでも誰でも複数人でそれぞれ好きな音楽を受信できるのは便利ですよ。
手段は色々ありますので、先ずは今回のようなプロジェクトを試してみてください。
コメント