初老のボケ防止日記

おっさんのひとりごとだから気にしないようにな。

Raspberry Pi 3とポタアンでNASの音楽を再生するネットワークオーディオプレーヤーを作った

父さんな、貴重な夏休みで工作課題にチャレンジしようと思うんだ。

今迄オーデイオを楽しむにはスマホにポタアンを付けて

f:id:osa030:20160427224020j:plain

こんな感じで重ねて聴いていたのだけれども、

自宅でしか聴かないのにそれ重くね?

そうなのだ。これを手に持ってTwitterしながら酒を飲みつつ音楽鑑賞とか割とつらいのである。ということで、オジサンは新たなソリューションを検討いたしました。

今回の購入品

f:id:osa030:20160815154046j:plain

秋葉原に行く用事があったので、「マルツ」と「あきばお~」で購入。

www.marutsu.co.jp

www.akibaoo.co.jp

Raspberry Pi 3

f:id:osa030:20160815154053j:plain

「マルツ」で購入。RSコンポーネンツ製とelement14製の両方が売られていたのだが、値段が変わらなかったので気分でRSコンポーネンツ製を購入。

f:id:osa030:20160815154114j:plain

こんな基板でクアッドコアでメモリ1GB、WiFiとBluetooth内蔵とか立派になりやがって…。

f:id:osa030:20160815154438j:plain

基板に「Made In the UK」の文字が見える(RSコンポーネンツ製はイギリスのソニー工場で生産されている)。

  • RS製

Raspberry Pi Raspberry Pi3 ModelB

Raspberry Pi Raspberry Pi3 ModelB

  • element14製

[asin:B01B4OCLZC:detail]

電源アダプタ

Raspberry Piは初代モデルからずっとmicroUSBからの電源供給スタイルなのであるが、Raspberry Pi 3では高スペック化に伴い、安定動作させるには2.5Aの電源アダプタが必要らしいという情報は知っていたが。そんなもの一般家庭に転がっていないのだ。

f:id:osa030:20160815155407j:plain

ということで、本体とあわせて「マルツ」で購入。

f:id:osa030:20160815155347j:plain

保護機能を搭載したUSB電源ケーブルも同梱。

f:id:osa030:20160815155354j:plain

電源アダプタにはちゃんと2.5Aの表記があり、動作確認もとれているようなので安心。

  • アダプタ本体はこれと同じっぽい

[asin:B01COSONFS:detail]

microSDカード

microSDカードは動作確認モデルの下調べをしていなかったのだが「あきばお~」で…。

f:id:osa030:20160815155420j:plain

なんとなく安心かなという理由でTOSHIBA。

f:id:osa030:20160815155427j:plain

用途的に8GBで問題ないのであるが、大した価格差でもないので余裕を持って16GBをチョイス。

あわせて使う品

今回Raspberry Pi 3を購入した目的は、ネットワークオーディオプレーヤーにしたかったのであるが、残念ながら今回の購入品だけでは音質的に満足できる単体動作は難しい。という訳で、自宅にあるものと組み合わせて利用する。

ポタアン

Raspberry Pi 3内蔵の音声出力は残念ながら音楽鑑賞に使えるレベルではない。ということで、何かしらの外部機器を増設してやる必要があるのだが、今回はUSB-DAC機能があるポタアンを利用することにした。

f:id:osa030:20160427223806j:plain

これまでAndroidと接続して利用していたもの。コイツのおかげでハイレゾではない圧縮音源も良い音で楽しめる。

osa030.hatenablog.com

今時のLinuxは「USB Audio Class 2」の機器であれば特別なドライバがなくても動作するらしいので、Android(5.0以降)で動作しているUSB-DACならば恐らく動作するであろう。

NAS

USBメモリに音源を入れてRaspberry Pi 3に接続して利用する事も考えたが、せっかくWiFi内蔵なのであるから、NASに入れてある音源をネットワーク経由で再生させることにした。

f:id:osa030:20160815163205j:plain

我が家のNASはQNAPであるが、今回はCIFSで参照するだけなのでWindowsから共有フォルダとして参照できるものであれば問題はない。

OSインストール

Raspberry Pi 3をネットワークオーディオプレーヤーとして利用するためにはまずはmicroSDカードにOSをインストールする必要があるのだが、最近はオーデイオ用途向けのディストリビューションが存在するらしい。

volumio.org

コチラは古いので開発中の最新バージョンをgithubからダウンロードして使う。

github.com

ダウンロードしたzipファイルを展開すると「volumio-xxxx-yyyy-mm-dd-pi.img」というファイルが現れる(ダウンロードしたバージョンによりファイル名のバージョンや日付は異なる)。
これをmicroSDカードに書き込むことでOSインストールが完了するが、作業するPCのOSで使うソフトは異なる。

Windowsの場合

Windowsで利用できるSDカードへの書き込みソフトは数種類存在するが、今回はオッサンが昔から使っているコチラを使う。

sourceforge.net

Windows10(1607)上でも動作することは確認済。なお、起動するときは必ず「管理者として実行」すること。

f:id:osa030:20160815180606j:plain

フォルダアイコンをクリックしてmicroSDカードへ書き込むOSイメージを選択する。

f:id:osa030:20160815180609j:plain

選択したイメージファイルと書き込み先のデバイスがmicroSDカードであることを確認して問題なければ「Write」をクリック。

f:id:osa030:20160815180613j:plain

確認ダイアログがでるので問題なければ「Yes」で書き込み開始。

f:id:osa030:20160815180616j:plain

OSイメージの書込にかかる時間は、書き込み対象のOSイメージのファイルサイズとmicroSDカードの書き込み速度による。今回の場合は5分程度。

f:id:osa030:20160815180619j:plain

書き込みが完了するとこのようなダイアログがでるのでツールを終了してmicroSDカードを安全に取り外そう。

起動

さて、OSインストールが完了したので、microSDカードをRaspberry Pi 3に取り付けLANケーブルを接続後に電源アダプタを接続する。通常ならば、DHCPで割り当てられたIPアドレスがわからないとアクセスできないのであるが、Volumioはavahi-daemonが起動するので「volumio」という名前でアクセスできる(らしい)。

$ ping volumio

volumio [192.168.0.xx]に ping を送信しています 32 バイトのデータ:
192.168.0.xx からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.0.xx からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.0.xx からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.0.xx からの応答: バイト数 =32 時間 =1ms TTL=64

192.168.0.xx の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 1ms、最大 = 1ms、平均 = 1ms

そして基本的な操作は全てブラウザから行えるようになっているので、「http://volumio」にアクセスすると

f:id:osa030:20160815180624j:plain

なんじゃこりぁああああ

で後はブラウザから

  • WiFi設定
  • USB-DAC設定
  • NAS設定

を行えば

f:id:osa030:20171205220252j:plain
f:id:osa030:20171205220419j:plain
こんな感じでバッテリー稼働でWiFi経由でNASの曲を再生できたのであるが、どうも我が家の環境では

イマイチ安定しない。

具体的には

  1. 暫くするとWiFiがアクセスできなくなる
  2. 数曲再生すると音が出なくなり暫くすると復活

どちらもOSがハングするわけではないのだが、WiFiでアクセスできなくなると何も操作できないのでリブートしか復活手段がない。電源アダプタではなくモバイルバッテリーで電源供給しているせいかとも考えたが、ポタアンは内部バッテリーで稼働しておりRaspberry Pi 3からの電源供給はしていないし、音楽再生自体もCPU負荷はかからないので電源供給が不安定で動作がおかしいわけでもなさそうだ(そもそもそういう時は過去の経験上ハングすると思う)。ということで、

お父さんのお小遣いが飛んだ?

諦めるのはまだ早い。Volumio2はまだ開発版ということでWiFi運用での常用は難しいだけに違いない、ここで諦めたら試合終了ではないか。ということで、今度は別のオーデイオ用途向けのディストリビューションをインストールしてみた。

www.runeaudio.com

こちらもRuneAudioも、起動後に名前「runeaudio.local」でアクセスでき、ブラウザから各種設定をできる。実際に使ってみたところ、コチラはWiFiは安定しているのだが、再生時に「プツッ」というポップノイズが目立つ(Volumioでは再生時のノイズは感じなかった)。うーむ、

お父さんのお小遣いが消えた?

イヤイヤイヤイヤ、諦めたら駄目よ。そもそもオーデイオ用途向けのディストリビューションで楽しようと思ったのが甘かったのだ。ようし、オッサンもエンジニアのはしくれ。ここはひとつ、

ゼロからネットワークオーディオプレーヤーを構築しようではないか。

ということで、次回に続く。

osa030.hatenablog.com