mmm spot

好きで語ろうインターネッツ

ネットワークオーディオOS、pi musicboxの環境構築などした

こんばんは、amumaです。

最近は趣味以外のところですごく忙しく、あまり精神的にも余裕のない生活になってしまっています。そんなとき人間の心を埋めてくれるのはアート、とりわけ自分にとって音楽はとても大きな位置を占めています。

「便利に高質な音で音楽を楽しみたい!」これは全人類にとって共通の悩みではないでしょうか?今回のテーマである「pi musicbox」はその実現を一歩近づけてくれる手助けとなるかもしれません。

私の環境と概要

自分は音楽を聴くにも、自分でリッピングした音源(flac)だったり、SoundCloudだったり、アナログレコードだったり...と色々な音源で楽しんでいます。これに加えて最近は無料期間でApple Musicにも入り、サブスクリプションサービスの恩恵にまんまとハマってしまいました。そんな中私は色々勘案してSpotifyの有料会員に加入しました。ついにサブスクリプションユーザーの仲間入りです。

しかしそうなってくると不便なのが音楽の切り替えとコントロールです。

現在の自分のオーディオ環境を簡単に説明すると、自室にあるアンプのAUXにRCAピンケーブルでセレクターを接続。
セレクターにはミニピン-RCAのケーブルと任天堂RCAケーブル(Newファミコン~GCで使われていたもの)を接続して、ゲーム機の音か、ミニピンからの音をセレクターで切り替えてスピーカーから音を出力できるような環境を構築しています。

なのでゲームをしないとき、アナログレコード以外で音楽を聴きたいときはアンプAUXのセレクターをミニピンにして、手持ちのノートPCやスマートフォンDAPなどをミニピンに接続することで音楽を再生しています。

しかしながらオーディオ環境を置いているのがデスクトップのパソコンを置いている椅子からは立ち上がらないと届かない場所にあるので、例えばノートPCで音楽を再生している時に音楽を切り替えたければ一度立ち上がる必要があるわけです。これは面倒臭い。しかも先ほど書いたように様々なサービスプラットフォーム上で音楽を聴くので、例えばMusicBeeのようなプレイヤーソフトウェアの遠隔機能だけでは事足りないことがままあるのです。パソコンオタクとしてはここをなんとか遠隔でコントロールできないかと模索しておりました。

そこで見つけたのがPi MusicBoxです。

Pi MusicBoxはネットワークオーディオプレイヤーの機能を有するRaspbianベースのOSです。使用料金は無料。
ラズパイにOSをインストールし有線/無線でネットワークに接続すると、同一LAN上のPCやスマートフォンタブレットなどのブラウザ上でラズパイから出力する音源をコントロールすることができるのです。しかもローカルに手持ちの音源だけでなく、SpotifyGoogle Play MusicSoundCloudYoutubeなどまで対応しており、自立してインターネット上から情報を取得し再生させることができます。(コントローラ以外にGUIを持たないのでYoutubeは音声のみ)

インストール方法

簡単です。
まず公式サイトからOSのイメージデータをダウンロードしてきます。とりあえず最新版でいいと思います。
www.pimusicbox.com

DLしたzipを展開し、中にisoファイル(OSのイメージデータ)があることを確認します。

あとは余ってるmicroSDに焼きこむだけ。自分はWin32 Disk imagerを使いましたがrufusとかでも行けると思います。
必要容量は1GB程度なので、最近では逆に貴重な2GBのmicroSDとかで十分だと思います。SDカードに音楽保存もしないだろうし。

あとはラズパイ(自分は3Bで問題なく動きました)に接続してブート。

設定など

面倒な人は飛ばしてもいいと思いますが、念のため初めはCUIの画面を出力してブートできているかを確認するといいと思います。
usernameは"root"、passwordは"musicbox"でログインできます(今後のバージョンで変わることがあるのでうまくいかなかったら随時公式サイト等を確認してください。)。ログインを確認できたら適当にpingコマンドとかで正常に動いてるっぽければOKです(適当)。
そのまま別のPCやスマートフォンで"http://musicbox.local/"にアクセスしてみて、正常にコントローラ画面に接続できていればひとまずは正常に動作が確認していると言えるでしょう。
※勘違いして欲しくないのが、普段使う中ではOSをブートした後にわざわざrootログインなどする必要はありません。

次に必要な人は無線LANの設定をしていくと良いでしょう。楽なのはiniファイルを直接書き換えるやり方です。
お使いのPCにOSをインストールしたmicroSDを接続し、"config"フォルダ内の"settings.ini"をテキストエディタで開きます。
20行前後にある"wifi_network"にSSID、"wifi_password"にパスワードを手打ちで入力してもらえれば設定は完了です。
元に戻して起動、うまく設定が反映できていれば有線で接続しなくとも既にインターネットに接続ができていると思います。

ここからの設定はコントローラGUIからやっていきましょう。

いつもの通りブラウザから接続。
Configurationのタブを開きます。


まずはスピーカーの設定。
"Configuration"の"Audio"タブ内で設定できます。デフォルトはAutoになっていると思います。これだとUSBに接続しているものやHDMIなどから音声を出そうとしてしまうので、任意のものに固定しましょう。
今回の私の場合はミニピンから出力したいので、"Analog"を選択します。


次にSpotifyの設定。注意して欲しいですが、自分はプレミアム会員のアカウントでライセンス認証をしています。無料会員の挙動については確認していませんので悪しからず。
Serviceカテゴリ内の"Spotify"タブから設定を変更。
ON/OFFの切り替えスイッチでON。

ライセンス認証はユーザーIDとパスワードの入力をした上で、こちらから認証処理を行い"Client ID"と"Client Secret"というものを取得しておく必要があります。

f:id:amuma5:20190705233458j:plain
Spotify認証画面

画像にある緑のボタンからログインを行うと下にあるClient ID、Client secretの=以下にそれぞれのパラメータが生成されます。あとはpi musicboxの設定に戻ってそれぞれをコピペで入力してあげましょう。

これでSpotifyの設定は終わりです。正しく設定できていればこれでSpotifyの音楽も検索することができます。

使用感

とても良いです。使い始めて1週間ほど経ちますが毎日使ってます。
場所や今手に触っているものを気兼ねせずに、どこからでも、どの端末からでも操作が可能というのが本当に気楽ですね。「音楽を操作したい」という思考に対して「音楽が変わる」という結果までのプロセスが短い。

SoundCloudSpotifyと良質なオンラインサービスとも連携できるのは本当に大きいです。すごい。

また仕組みはよくわからないんですが、普通にPCのジャックから出力するよりも音がいい気がします。自分はラズパイのイヤホンジャックから音を出力していますが、下手なDAPとかをアンプに繋いでいるよりも音がいいです。なんだろ。

問題としてはたまにアクセスが遅く感じるときがある(おそらく処理が追いついていない)、YouTubeの検索が正常にできない、外付HDDに音楽データ以外を入れていた時に読み込みがおかしくなる、音量調整をもっと細かくしたいといったところでしょうか。
最後の音量調整は今も困っているというほどではないんでいいんですけどね。

Youtubeの問題に関しては既知のバグらしいので早く修正されて欲しいところです。
また外付けHDDの問題に関しては、自分はラズパイをサンバでNAS運用していたHDDを流用していたので音楽データ以外にもいろんなファイルが入れっぱなしだったのですが、これを挿したまま起動するとHDD内の音楽以外のデータを何かしらのメディアデータとして読もうとしてしまい、ジャムが生じていました。HDDでローカルの音楽も読みたいときは中のデータを調整する必要がありそうです。(まだやってない)


こんなところでPi MusicBoxの導入に関しては終わりにしたいと思います。自分のメモ代わりな記事なので読みづらくなってしまいました。ゴミン。