§  Raspberry Pi 3 Model Bがネットワークストレッジ(NAS)に変身!

 BGM用に仕立てたPi2 + I2S DACオーディオプレーヤーの音質が予想以上に良いので、普段CDやレコードの再生に使っているオーディオ装置につないでみました。艶や伸びはもう一つかもしれませんが、繊細で透明感のある素直な音がすっかり気に入ってそのまま常設することに決めました。
 BGM用の後継機は別に手当てしなければなりませんが、今後を考えると音楽リソースを共有したくなります。そこで一念発起(?)、数百枚あるCDをハードディスクに取り込んで、使用中のRaspberry Pi 3 Model BにNASになってもらうことにしました。

〔NASについて〕

 NASはNetwork Attached Storageの略で、ネットワーク接続補助記憶装置とでもいえるでしょうか。LANに接続した大容量のハードディスクやSSD(Solid State Drive)を、さまざまなデータの保管庫として使用するものです。
 いわゆるファイルサーバーと呼ばれる機能をもっていて、大量の文書や画像・音楽などを管理し、複数の端末でこれらのデータファイルを共有することができます。あちこちの端末からアクセスするには、たいへん便利な装置です。



Ⅰ.ハードウェアの準備

1.ストレッジの選定

 今どきの買いごろ商品で外観も納得できるものをと考えて、まずはUSB外付けハードディスクに絞り込みました。故障対策としてドライブを複数組み合わせてRAID構成にするのが望ましいのですが、今回は別にバックアップをとることを前提にして単一ドライブとします。
 最低限欠かせないのがUSB3.0以上に対応していること(Pi 3 model BはUSB2.0までですが将来を見越して)。次に記憶容量ですが、手持ちのCDすべてと10年間の写真を収納したいので、少し余裕をもたせて3TB程度は欲しいところです。
 あれこれ検討した結果、BUFFALO製「HD-AD3U3」容量3.0TBに決めました。これはAmazon限定モデルで価格は9,980円。決め手のひとつはデザインがよかったことにもあります。


2.Raspberry Piをケースに収納

 姿形のよいHDDを選んだので、スケルトン状態のRaspberry Pi 3もそのままにしてはおけない、などと考えてケースを探しました。これもいろんな種類がありますが、まずは音が静かなことが絶対条件なのでファン内蔵のものは除外。できれば放熱器が装着できて無理なく収まるもの、そしてデザインがHDDとつり合いそうなもの。
 そんなことでネットを探し回ると、「Corkea Raspberry Pi 3モデルBケース アルミ合金製保護」が見つかりました。Amazonの取り扱いで価格1,566円でした。着荷後に開封してみると実に精密にできていて高級感がある。今までのRaspberry Piからアクリル板などを取り外し、ケース底面にビス止めしてヒートシンクを取り付けたのが右の写真です。


 ケース部品にはまったくムダな遊びがなく、ガッシリと組み立てられます。ネジ類もドンピシャでフィットします。かくして出来上がったのが下の写真、ウ~ム、格好良くなったなぁ。


 HDDはNTFSで初期化されているので、付属のUSBケーブルでRaspberry Piに接続するだけです。


3.Volumio用Raspberry Pi 2の調整

 Raspberry Pi 2もプリメインアンプにつなぐので、少し手を加えてみました。ほんとうはケースに収納したいのですが、高さがちょうどいいものが見つからないので、当分はスケルトンで頑張ることにします。
 下のアクリル板とPiの間隔をギリギリまで縮め、上のアクリル板を40mmビスで止めることができるまで調整します。20mmと10mmのスペーサーを継ぎ足して、上下のアクリル板の内側間隔をちょうど30mmにすると落ち着きました。さらにDACの取り付けを安定させるために、GPIO端子の反対側の部分でDACカードをビスで固定しました。それに、写真右のようにプラスティック製の足をつけてみました。



Ⅱ.リソースの準備

 今回のいちばんの大仕事は、NASに収納する音楽や写真などリソースの準備です(自分だけの限定環境下ですが)。音楽については、何百枚ものCDをディスクに落とし込まなければならないので、数日にわたる力仕事が必要になります。バックアップをかねて、いちど手元のディスクに書き込んでカテゴリー別に整理して、後でまとめてNASにコピーすることにしました。記録形式は、CD並の音質と互換性を考えてWAV形式にしました。
 ところが、CDの取り込みはなかなかはかどらない。使い慣れたiTunesでWAV形式を指定すると、ファイルとしては問題なく変換されるのですが、作曲家や演奏家、トラックごとの楽章や曲名などのタグ情報がまったく取り込まれません。これはWindows Media Playerを使うと解決できるのですが、今度は日本語と、英語以外の一部の語が文字化けしてしまう。
 そこで、とりあえずWindows Media PlayerですべてのCDを取り込んでNAS用HDDにコピー。Volumioからアクセスできる環境を整えてから(後述)、NASをアクセスしてトラックごとの曲名や演奏家名などを個々にチェックして文字化けCDを確認しました。そしてあれこれ調べた結果、フリーの音楽管理ソフト「MusicBee」を使えば問題なく取り込めることがわかりました。最初からこれを使用していたらはかどったのですがで、とにかく、文字化けCDだけを取り込み直し、再度NAS側へコピーするという二度手間を経てようやく完了した次第です。

 なお、手元のディスクに全曲を取り込み終えた時点で、以下のようにフォルダーの階層分けをしました。
    MusicLibrary
      Classic
        作曲家別アルバム名
          ジャケット名
            トラック別楽曲ファイル
      (または)
        作曲家別アルバム名
          トラック別楽曲ファイル

      Jazz
        演奏家別アルバム名
          ジャケット名
            トラック別楽曲ファイル
      (または)
        演奏家別アルバム名
          トラック別楽曲ファイル

      LP-Record   ← (LPレコードからデジタル変換したもの)
        Classic
          作曲家別アルバム名
            トラック別楽曲ファイル
        Jazz
          アルバム名
            トラック別楽曲ファイル

      Others   ← (Classic、Jazz以外のもの)
        アルバム名
          ジャケット名
            トラック別楽曲ファイル
        アルバム名
          トラック別楽曲ファイル

    Archieve  ← (文書ファイルを体系的に整理したもの)

    Photo  ← (年別シーズン別の写真ファイル)

 NAS用のHDDをいったん取り外してパソコンにUSB接続し、上記のデータを一気にコピーします。



Ⅲ.システムの調整

 NAS用に使用するRaspberry Piは、このコーナーの『Raspberry Pi 3 Model Bに「Raspbian Stretch」をインストールしてみた(2018/02/26)』で掲載したものです。NAS構築でもっとも一般的に使用されるのは、Sambaと呼ばれるファイル共有サーバー・ソフトですが、このPiはサーバーとして必要な機能をフルインストールしているので、実はすでにNASとしての基本機能が組み込まれています。
 パソコンのエクスプローラで[ネットワーク]を展開すると、Raspberry Piのコンピュータ名(変更していなければ「RASP31」)が見えているはずです。それを展開すると「share」フォルダーが現れます。このフォルダーは「Ⅵ.FTP/SAMBAサーバーの構築」の「2.Sambaサーバーの構築」で設定した共用フォルダーで、ここには共有データを保管することがでます。NAS用の共有フォルダーも、このshareフォルダーと同じように設定すればいいわけです。
 まだインストールしていない方は、上記の内容にしたがってRaspbian Stretchをインストールしてください。なおその際、NAS構築だけが目的であれば、「Ⅴ.LAMPのインストール」と「Ⅶ.終わりに」は省略することができます。

1.Samba設定ファイルの編集

 すでにSambaは導入済みなので、ここではSamba設定ファイルsmb.confを開いて、ファイル終端(以前設定した [Share]の続き)に音楽フォルダーなどの位置とアクセス権を設定するだけです。共有フォルダーは、共有名を[]内に書いて複数設定することができます。それぞれ、共有するディレクトリのパスとアクセス権限などを指定します。HDDをUSB接続すると「/media/pi/」配下に、ドライブ名(ここでは「HD-ADU3」)と共にマウントされるので、パスは「path = /media/pi/HD-ADU3/ディレクトリ名」のように指定します。
 Ⅱで例示したフォルダー構成の場合は次のようになります。

$ sudo nano /etc/samba/smb.conf
[MusicLibrary] path = /media/pi/HD-ADU3/MusicLibrary writable = yes force create mode = 0777 force directory mode = 0777 guest ok = yes guest only = yes share modes = yes [Photo] path = /media/pi/HD-ADU3/Photo writable = yes force create mode = 0777 force directory mode = 0777 guest ok = yes guest only = yes share modes = yes [Archieve] path = /media/pi/HD-ADU3/Archieve writable = yes force create mode = 0777 force directory mode = 0777 guest ok = yes guest only = yes share modes = yes

 ここではすべてのフォルダーに誰でもアクセスでき、書き換えを許可していることに注意してください。


 編集が終わったら、設定を反映させるためにSambaをリスタートします。

$ sudo /etc/init.d/samba restart


2.クロスプラットフォームの導入

 今後はRaspberry上でファイルシステムNTFSを扱うため、次の手順でクロスプラットフォームを導入します。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install ntfs-3g


 以上の結果を確認するため、パソコンでエクスプローラを開いて[ネットワーク]の「RASP31」を展開してください。先ほどSamba設定ファイルに追加した共有フォルダーが表示されます。


3.装置を定位置に設置

 残すはVolumioの設定だけです。オーディオプレーヤーとNASをそれぞれ定位置に設置しました。NASは部屋の片隅に。設置面積はHDDの171×114mmだけ。電源以外はRaspberryとHDDをつなぐUSBケーブルのみです。


 そしてオーディオプレーヤーはCDプレーヤーの上に。壁面から見ると電源とプリメインアンプへのオーディオケーブルだけのシンプルな配線。プリメインアンプ側はDVD/AUX端子へ接続しています。



Ⅳ.Volumioの設定

1.NASドライブの追加設定

 すでにインストール済みのVolumioからNASをアクセスできるように、一連の追加設定を行います。

①新規ドライブの追加指定

 ブラウザのアドレスバーに「volumio.local/」を入力してvolumioを立ち上げます。
 右上の歯車をクリックするとサイドメニューが現れるので[マイミュージック]を選びます。

 「ネットワークドライブ」の[+新規のドライブを追加]ボタンをクリックします。

②ネットワークドライブの設定

 ネットワーク定義画面が表示されるので以下のように設定します。
   ・エイリアス: 例えば「Music Library」など分かりやすい名前
   ・NAS IP アドレス: 192.168.~.~形式でNAS用Raspberry PiのIPアドレスを入力
   ・パス: Samba設定ファイルで設定した音楽ライブラリーのフォルダー名「MusicLibrary」
 続いて[拡張オプションの表示]をクリックします。

 以下を設定します。
   ・ファイル共有の種類: [nfs]を選択
   ・ユーザー名: pi
   ・パスワード: volumio  <---- ユーザーpiのログインパスワード(2018/12/15訂正)
 設定が終われば[保存]をクリックします。

 「一覧表示」タブの位置に円形矢印が表示されてくるくる回転します。
 NASのディレクトリー構造や曲名情報を解析してVolumio用の音楽データベースが作成されます。
 登録曲数によって異なりますが、多いとかなり長時間にわたって回転が続きます(1時間半ちかくかかった)。
 完了すると「ネットワークドライブ」にマウント済みの内容が表示されます。

2.NASドライブへのアクセス

①音楽ライブラリとNASの選択

 円形矢印の回転が止まって「一覧表示」タブに切り替わると、いよいよNASにアクセスできます。
 まず「音楽ライブラリ」アイコンをクリックします。

 「NAS]が表示されました。これをクリックします。

②ライブラリの選択から再生まで   

 「Music Library」が現れるのでクリックします。

 カテゴリー分類のフォルダーが表示されました。ここでは「Classic」を選んでみます。

 作曲家別のアルバム一覧が現れました。ここでは「Bach Cello Suites (Brunello)」を選んでみます。

 さらにジャケット名一覧が表示されるので「Bach Cello Suite #2」を選択してみましょう。
 右側の[]をクリックして[再生]を選択します。

 美しいメロディーが響いてきたので、「プレイバック」タブに切り替えます。
 作曲家・曲名と楽章、それに演奏家とジャケットが表示されています。このジャケットは、CDを取り込んだ際にインターネットから検索されたものなので、手元のものと一致するとは限りませんし、見つからなければ表示されません。
 このように、共有ライブラリーMusic Libraryから聴きたい曲を簡単に選択して再生することができます。さらに、アルバム一覧右上の検索ボックスを利用して検索することも可能です。


 以前にRaspbian Stretchでサーバーのフル機能をインストールしていたこともあって、ほとんど手を加えることなくNAS環境を整備することができました。これで音楽だけでなく、写真や文書ファイルの管理も複数の端末からできるようになりました。またこのRaspberry Piはデータベースサーバーとしても使っているので、今さらながらその性能には感心します。
 さて、オーディオシステムに新たなオーディオプレーヤーが加わり、これでますます音楽鑑賞が楽しくなりそうです。次は今回取り外したBGM用オーディオプレーヤーの後継機の手配ですが、Raspberry Pi Zero Wを使った情報がチラホラ。これには食指が動かされます。ふ~む、たのしみです。


〔ついでながら〕   

 Volumioで最初にNASに接続したとき、全ファイルをスキャンしてデータベースを作成するのでかなり待たされます。アルバム数720、曲数4,690、ファイルサイズ合計約524GBのケースで1時間半近くかかりました。新たに音楽ファイルを追加したらデータベースを更新する必要がありますが、このときマイミュージックを選択して表示される「マイミュージック」の画面では、[データベースをアップデート]ボタンをクリックしてください。上記のデータ量でCD10枚程度を新たに追加するなら、最長でも7~8分で更新が完了します。隣の[再スキャン]ボタンをクリックするとデータベースを作り直すので、また1時間半近く待たされるのでご注意を!