暇人じゃない

Roon Optimized Core Kit (ROCK) で内蔵ストレージを使う運用に変えた
AudioRoon

我が家の音楽再生は Roon を使っている。

Roon には Roon Core と呼ばれるサーバーが必要で Roon Optimized Core Kit (以下、ROCK) を使用している。

構成

  • Roon Core: Roon Optimized Core Kit

    • Intel の NUC「NUC8i7BEH」をベースに組んでいる
  • NAS: Synology DiskStation DS1618+ (以下、NAS)

    • ファイルシステムには Btrfs を使用している

この構成で ROCK から NAS の音源を再生していたが 2 つの問題が起きたため、内蔵ストレージの音源を再生する運用に変えた。

問題 1:ファイル名に濁点や半濁点が入っていると再生できない

曲名に「オリジナル」や「クレイジークレイジー」といった濁点や半濁点が含まれていると「Playback was interrupted because a track failed to load.」というエラーが発生し、音源を再生できない。

macOS で日本語ファイル名を扱う際の濁点・半濁点問題だと思われる。

上: 通常 / 下: 濁点・半濁点問題が起きている状態

上: 通常 / 下: 濁点・半濁点問題が起きている状態

MacBook Air で Roon Core を運用していた時はこの問題は起こらなかったので、ROCK と NAS の相性なのかなと思う。

曲名に濁点や半濁点がついた曲は大量にあるので、ファイルが再生できないのは死活問題。

試しに ROCK の USB ポートに SSD をマウントしたケースを接続し、問題の曲をコピーしたところ再生することができた。

問題 2: いつの間にかアルバムの曲が分割されることがある

自分の環境では 1 つのアルバムにつき FLAC と AAC の 2 種類を用意している。((iTunes に取り込むために AAC に変換している)) Roon は優秀で、通常は以下のように「Versions」として同じアルバムにまとめてくれる。

20200920165628

なぜなのかさっぱりだが、ランダムなアルバムの曲が分割されてしまい、別のアルバムとして認識されることがある。 たまにしか発生しないのでたちが悪い。

音源を内蔵ストレージに移行することにした

これらの問題については情報があまり見つからなかった。環境依存だとは思うが ROCK から NAS を参照するのは何となく不安定な印象を受けた。

ファイル名の問題については先ほど書いたとおり SSD に曲をコピーすると解決できることがわかった。アルバムの曲が分割される現象も解決するかもしれない。 というわけで、内蔵ストレージでの運用に移行することにした。

曲を同期する方法だが、MacBook Pro で rsync を実行し、NAS から ROCK の内蔵ストレージにファイルを同期することにした。 これならスクリプトを実行するだけでコピーが必要なファイルのみ転送できる。

内蔵ストレージの準備

SSD は「Samsung 860 QVO」 (1TB) を使用した。

ざっくり書くと以下の手順で NAS から内蔵ストレージに移行した。

  1. Roon の設定で NAS のフォルダを無効にする
  2. ROCK に SSD を取り付ける
  3. ROCK の管理画面にアクセスして内蔵ストレージをフォーマットする
  4. 内蔵ストレージにファイルをコピーする

rsync を実行するスクリプト

曲を同期するために以下のスクリプトを実行する。 NAS にファイルを追加する度にスクリプトを実行する必要があるが、音源データを購入したり CD をリッピングするのは週に 1, 2 回なので、手間には感じていない。

NAS や内蔵ストレージは macOS にマウントされていることが前提。

#!/bin/bash
set -ex

FROM=/Volumes/Storage/Musics
DEST=/Volumes/Data/Storage/InternalStorage
rsync -av --delete $FROM/FLAC $DEST
rsync -av --delete $FROM/iTunes/iTunes\ Media/Music $DEST

簡単に説明すると以下の処理を行っている。

  • FROM には音源データを保存している NAS のパスを指定
  • DEST には ROCK にマウントされた内蔵ストレージのパスを指定
  • 同期したいディレクトリごとに rsync を実行

スクリプトを以下のように実行する。

/path/to/rsync_nas_to_rock.sh

音源データ全体のサイズは 360GB ほど。初回の同期は 3, 4 時間で完了した。それ以降のコピーは 2 - 3 分くらいで終わる。((1Gbps の有線 LAN))

2 ヶ月ほど運用してみて

不具合に挙げた問題はいずれも発生していない。

再生が開始するまでの速度については、元々速かったこともあり体感的には変化は感じられなかった。 また、NAS と内蔵ストレージで音質が変わるという情報も見かけたが、自分の環境では分からなかった。

About

chocoby (GitHub / Twitter)

フリーのソフトウェア開発者です。 Ruby を使った Web 開発を得意としています。