×

幾つものプロジェクトを放ったらかしにしつつ、同時並行させるのが私の行動+Blogの特徴です。が、今この瞬間は、Rock (Roon Core) の構築にほぼ掛かりっきり。なぜかというと、ここを整備させないと、ほぼマトモな音楽鑑賞ができないためです。少し焦っている。

  • Synology NAS 上の Roon Coreが死亡、起動不能
  • 暫定で始めたMac再生はスキップや破損(実際にはファイル破損はしていない)が多発

安定して動作するRoon Rockの構築が急務です。

前回はNUC内蔵のNVMe SSDへ、どうやらOSインストールが出来た、という所までで終了。
今回はそのOSのセットアップ、サーバー起動、疎通までを行なっていきます。

世の中は「あっさりあっけなく動作開始した」というリポートが多いなか、今回の私も七転八倒。チャッピーとの膨大なトラシューの嵐のなか、なんとか開通できたという所です。

ROCK管理画面(ダッシュボード)の起動

10mのLANケーブル (CAT7) が到着しました。これを遠隔のルーターとRock間で繋ぎ、有線LAN接続します。

その状態でRock(NUC)の電源を入れると、正常に立ち上がり、DHCPで割り振られたIPアドレスが表示されます。
このアドレスをメモし、まずはここでRock側は放置。
舞台はPC (Mac) 上での作業へ移ります。

ウェブブラウザを立ち上げて、さきほどメモしたIPを直打ちします。

http://192.168.3.x

すると、以下のようなROCK管理画面が立ち上がります。

Operating Sysetm=OK
Roon Database & Settings=OK

となっています。M.2は管理DB用に441GBも余っており、余裕十分。
(現段階でDBはカラです)

Roon Server Software=Missing Codecs
Internal Music Storage=Not Ready

となっていますが、現段階ではここは放置で大丈夫。OSが正常起動して、デバイスも稼働可能なことが分かりましたので、先に別の作業をします。

Mac上のRoon Core上でも多数のトラシュー

Synology Coreが死亡後、暫定的にMac をコアにして運用してみたのです。最初は安定していたものの、徐々に動作不安定に陥ってゆきました。

  • 曲が途中で「スキップ」されることが増えた。
  • へたをすると、アルバム全曲スキップされる場合もある
  • スキップされた曲ファイルは「破損」とラベリングされることも増えた。
  • 実際にはファイル破損ではなく、スライダを人力で動かせば、飛ばされた部分も再生はできる
  • サーバーとの初期接続レスポンスが悪くなる

これらはSynology末期症状とも符合する部分があります。大変なMPU性能を誇るM4 Macbookですから、処理速度要因で破綻することがまず「無い」との試算でしたが、破綻の原因はCPU能力だけではないのですよね。
「NAS」や「汎用PC」はRoon Coreの求める処理を最優先とはしてくれず、非常に重苦しい並列処理が他に走っています。チャッピー曰く、そういう汎用ハードでは動作破綻必然とのこと。だからこそ、贅肉を削ぎ落として「ひたすら専業だけ」に徹する Roon Coreのような存在に価値があるのだと。

で、このMacトラシューでの数々の検討の結論として、、

旧ライブラリ/旧データベース の移植はあきらめた

のです。Rockが新規で立ち上がった今こそ、ライブラリを刷新して「綺麗」にする絶好の機会でもあると…。ちゃっぴーも同意見です。最初は、過去の資産をきれいにそっくりSATA SSDへ移すつもりでした。しかし、パスの整合で膨大なトラシューをしそうでもある。また、「破損」とラベリングした情報もそっくり移植されてしまうかもしれない。負の遺産になりかねないとの判断です。

10ヶ月で構築したプレイリストやアルバム認識が「全部飛ぶ」のは痛いですが、本物の長期安定運用へむけてゼロスタートすることにしました。あ、でももちろん曲データ実体はそのままコピーですよ。
 

MacでのCore運用を外し、新しいCoreの構築を始める

現状、Mac PC上にコアを置いてしまっているので、まずはこれを切断し、新しいCoreをアカウントと紐付けます。

私のアカウントは「永久契約」ですが、一度に置けるコアの数は「ひとつだけ」なので、

  • Coreの指定をMacからROCKへ移動させ、
  • そのことをRoonアカウントへ教えなければいけません。

まず、MacのRoonアプリ(Roonクライアント)を起動します。

[歯車](設定)→ [一般] と進むと、以下のような画面になります。 

ここで[ログアウト]を押したくなるものですが、そうではなく、[✖️切断]を押します。

新しい接続先として、[Roon Optimized Core Kit]を選択、[接続]します。

旧Coreの認証が残ったままで、Rockを選択すると、まれに新しい課金契約画面へ飛ばされてしまう場合があります(私がそうでした)。その場合は、旧コアの設定へ飛び、以前のコア認証情報を確実に無効化してからRock選択へ進む必要があります。

さて、新しいコアを選択すると、これをアカウントの有効コア情報と紐づけるために、Roonから[ログイン]を促されます。
 

いったんウェブサイドの認証ページへ飛ばされますから、[ログイン]して戻ってきてください。

自分が契約している有効アカウントを選択します。(2つ以上契約している人も居るのかもね)
 

ログインと認証が成功すると、ROONアプリへ戻ってきます。ROCKが唯一のコアとして開通しています。しかしこのコアについては音楽ライブラリの指定が未だだから、「音楽を収納してあるフォルダを指定せよ」と出ます。
しかし、まだストレージの準備はしていませんので、ここでは[継続する]を選択。

「音楽専用」のストレージを準備する

ROCK管理画面へ戻ります。ストレージの準備ができていませんので、
Internal Music Storage [Format]を押します。

ROCKの内蔵音楽ストレージは初期化しないと使えません。そこで、完全に消去するが良いのか?との警告が出ます。
ここは迷わず [Yes] を。

フォーマットに成功。[OK]を。

さて、フォーマットが済んで内蔵SATA 4TBが使えるようになった。これを「MacのFinderからも」見えるよう、読めるように設定していきましょう。

ROCKのストレージは、「内蔵ドライブに限り」ネットワーク上で見えるようになるのです。背面にぶら下げたストレージだとダメ。

MacのFinderから、[移動] → [サーバーへ接続…] と押し、上記アドレスを入力します。

まだアクセス権限がないので認証画面になります。ココ、結構ハマりポイント。

  • [登録ユーザー]
  • 名前 = [guest]
  • パスワード = 空欄

として、[接続]を押す。

これで、Finderには「Data」とラベリングされたフォルダがマウントされ、Macからも見えるようになります。この「Data」の下に見える「Storage」フォルダが先ほどフォーマットした4TBに該当します。逆に言うと、それ以外に見えているもののほとんどはNVMeのSSD:システムドライブ側です。

音楽の実体ファイルを保存するフォルダを作ります。

Data
 ┗ Storage
   ┗ InternalStorage
     ┗ Music

私は安直に「Music」としてしまいましたが、ここは識別しやすいように MyMusic, RoonMusic, MusicData… なんでも良いと思います。Musicとラベリングされたフォルダが大量にあり、紛らわしいですから。
 

Roonに音楽ストレージの場所を教える

次に、またRoonクライアントアプリに移ってストレージ場所の設定をします。

どうしても [+フォルダを追加] を押してしまいたくなりますよね。でも違うのです。

[Roon Optimized Core Kit Internal Storage = 無効] となっているところのハンバーガー[ ]を選び、[有効にする] します。
 

すぐに使えるのかと思いきや、空っぽの状態で表示される。
ここで [+ネットワーク共有を追加]。
 

先ほど作ったストレージ場所のパスがあらかじめ分かっているので、それを記入。(あくまで私の場合ですが)

  • ネットワーク共有場所 = smb://rock/Data/Storage/InternalStorage/Music
  • ユーザー名 = guest
  • パスワード = 空欄
  • [ネットワーク共有を追加] 押下

これ、誰でも判ることかなぁ。結構ハードル高いよな。

そうすると、Finder風のパス指定がようやく見えますので。正しいパスを指定してから [このフォルダを選択してください]を押す。(実はこれを実行する前に、いくつかの音楽ファイルを実験的コピーしているので、すでにフォルダが見えています)
 

これで音楽フォルダの監視場所の指定が完了。Roonは以後、このフォルダの更新や変動を監視し続けるようになります。自動スキャンやiTunes関連など、設定はご自身で判断してください。追加した音楽が即時に見えて欲しいのなら、自動再スキャン間隔を「1時間」などにすると良いかもしれませんが、ハードにとっては高頻度高負荷となります。

私に限ってはもはや「iTunes系」は無用の長物なので、当然ながらOFFしています。プレイリストインポートは後日に考える。

フォルダの指定が成功すると、いよいよRoon上でライブラリが出現するようになります。まだ「10cc」しかコピーしていない状態ですが。(笑)

この時点で音楽の再生が正常にできることを確認しています。

環境が整ったようなので、音楽ファイル実体のコピー:NAS → ROCK をしていきます。今回は、永続的な保守性を考慮して、rsyncを利用したスクリプトで設計しました。
 

音楽データのフルコピー(Sync)を実行する

ストレージ環境も再生環境も整ったようなので、いよいよ、NAS —-> ROCK (内蔵SATA)への音楽実体データコピーを開始します。

余談ですが、今回の私の考えたRoon運用は以下のようなものです。

  • 音楽ファイルの永続的「マスター」はRaidつきNAS上で運用(これまで通り)
  • Roonから直接再生ドライブとして使われるのは内蔵SSDだが、これはキャッシュ的存在
  • キャッシュなので瞬停して破壊されても問題ない:NASバックアップがあるから
  • RAID-HDDはSSDと違いゆっくり壊れるのでリスク低:逆に壊れてもSSDがバックアップ
  • Raid NAS —> SSD は「差分のみアップロード」のスクリプトにより、半自動メンテ

これは非常に合理的かつ長期堅牢なスキームだと、ChatGPTの評価。

大量の音楽データをコピーするにあたって、以前はMac Finderを利用していました。NASとの接続がAFPであったこととも相まって、コピーが安定しないのです。何十分割もしないとコピーが成功しない有様でした。今回はちゃっぴーとの相談で、rsyncを用いたスクリプトで運用することに決定。

実際に動かしてみると、見るからに盤石でコケる気配すらしないのです。仮に停電などで途中終了しても、コピー途中からリカバリーできるような構造。最初からこういう仕組みを使うべきだったと、後悔しきりです。(無知は犯罪。)

実際に使ったスクリプトをご紹介します。

# save filename= sync_music.command

#!/bin/bash

rsync -avh --progress \
--exclude=".DS_Store" \
--exclude="._*" \
"/Volumes/music/Music/" \
"/Volumes/Data/Storage/InternalStorage/Music/"

コピーの際に障害となるようなファイルは除外 (-exclude) しています。
これをFinderダブルタップで起動するようにもできる。

スクリプト実行中の画面です。

これの実行結果ですが、

  • 開始〜完了まで約19時間
  • エラー、取りこぼし、ほぼゼロ

と終始安定していました。Finderではこうはいかないと思います。加えて人力だから精神的ストレスもすごい。
今回作ったcommandは何度でも使えるのです。曲やアルバムを追加するたびにこれを走らせれば良い。シークに時間がかかるだけで、差分コピーが走るだけですから一瞬で終わります。私にとってはまさに「理想の運用が完成した」と言えます。

  • 音楽が増えたらマスターデータをNASへ設定
  • 前記commandを実行:Roonへ反映

双方がかなり盤石な相互バックアップを構成しているので、吹っ飛ぶことを気にせず安心・安定して運用できます。
 

しかしセットアップ終盤へきて致命的な問題が。
拙宅のRoon再生のメイン導線である、

WiiM Ultraが再生デバイスとして使えない

のです。Roon Readyで認証も通してあり、ほんの数日前までWiiMで再生していたのに「認証をまだ完了してません。」はあり得ません。最初、ちゃっぴーはWiiMのファームウェアの古さを疑ってきましたが私は反論しました。そこで疑わしくなってくるのが、Roon OSのレイヤの古さです。最新の認証であるWiiM Ultraの情報を持っていない可能性があります。

そこで試してみたのが、

Operating Systemのオンラインアップデート
でした。これがビンゴ。
OSは最新版のリンクを落としてきたつもり。しかし、

RoonServer / RAAT Certification bundle が古かった。
そこを更新したことでWiiMも使えるようになりました!
再生導線が完全に確立したので、一安心です。

ffmpegコーデックの拡張追加

ところで、私のライブラリの中には「古臭い」AACやMP3といったコーデック・フォーマットがまだ僅かに残っています。放置しているとそれらが再生できません。本来ならALAC/FLACへ変換すべきかも知れませんが見つけるだけでも大変。そこで、コーデックの拡張(プラグイン)を入れます。

AACやMP3といった知財保護されてしまったコーデックは、保証対象外として処理の外へ押しやるのが現代のトレンドです。そこで必要となってくるのが、コーデック変換の外部ライブラリ。
詳しいことはここに書いてあるので読んでください。

上記ページから圧縮ZIPを落としてきて、そのなかの「ffmpeg」だけを下記パスへ設置します。

Data/Codes/ffmpeg

これで負の遺産であるAAC等が再生可能になります。
 

ROCKを固定IP化する

ROCKはDHCPから自動的に割り振られたIP、3.3が割当たっていました。ネットワーク越しの安定動作のためここを固定化します。

IPの固定はROCK管理画面でやるのではなく。ルーターの設定で、IPの割当てを固定化します。
具体的に言うと、

  • ROCK (NUC11) のMACアドレスを調べる
  • それをルーターの固定IPリストへ転記する

これだけです。ROCKのリブート等で、システムやクライアントがストレージを見失う/ROCKを見失うなどの障害を回避できます。

また、今回のようにIPを変えた場合はシステムやキャッシュが一瞬ROCKを見失うため、以下の「再起動」が必要であったことを付け加えておきます。具体的にいえば「片っ端から」。

  • ルーター
  • ROCK (NUC11)
  • Roonクライアント
  • ROCK管理画面から、「Roon Server Software」を再起動(Restart)
    特に最後は決定的。

これらにより、ROCKの認知とクライアント起動時の安定性がUPしました。


2nd.ルーターのAP化

お恥ずかしい話ですが、ウチは2つのルーターがカスケードで動作しており、しかも両方ともルーターモードで動作している。つまり、セカンドルーターがAPモードではなくルーターモードで動いている。
このことにより、以下のようなUXの低下と、使い勝手上の障害が起きていました。

  • 同じLAN内にも関わらず、デバイスが見えないことが多い
  • 繋いでいるAPと同一AP(Wi-Fi)に繋がないと、そのデバイスと繋げない
  • たとえば、WiiM Ultra、プリンター、TVなどは異ルーターでは見えなくなってしまう
  • RoonクライアントからTVが見えない
  • RoonクライアントからAirPlayが見えたり/見えなかったり
  • iPadからChromecastが見当たらない
  • 2Gと5Gのどちらへ繋がっているかで見え方が違う

今回、ROCKの動作不良を契機にこのことをChatGPTに指摘されたのです。

具体的に言うと、

  • 初期設定時に、接続コアとして、居るはずの「ROCK」が見えないことがある
  • 仮に接続できたとしても、次回起動時にコアを見失う=毎回コア指定

これらは全て、ルーターがブリッジモードではないことによる。

そこで、2nd.ルーター(TP-Link)をAPモードへ全面スイッチして再起動しました。

結果・・・なんと爽やかなことか。霧が晴れたかのようにすべて見えるように:

  • Roon起動時の障害や切断は一切解決
  • これまで、別LANのように見えていたネットワークデバイス群が一斉に並列で見えるように

なんとバカなことをしていたのかと。

Roon Rock構築が契機で「家庭内LANの致命的障害」まで解決できてしまったのは極めて大きかったと思います。ちゃっぴー、ありがとう。
 

音楽を再生してみる

まだ最終的ではない暫定的な設置で音楽が鳴り始めました。感無量です。

膨大なファイルコピー : そのすべての解析 : 再インデックス化
…で、現在このROCKは「歴史上最凶」の過負荷状況のはず。なのに、手で触れても人肌レベルでほんのり暖かいのみ。高速よりもこの”温度余裕度”が大事だったのです。これならファンがブン回ることは有り得ない。
 

さて、ようやく全ての設置が完了。得た成果、設置した本当の意義、その音質、…もろもろの所感は次回以降へ譲ります。

ROCK、コストは掛かったが本当に作ってよかった・・・! 私には様々な視点から値千金のプロジェクトになりました。もう少しでシリーズ完結です。

フィリップス 電動歯ブラシ ソニッケアー 3100シリーズ (軽量) HX3673/33 ホワイト 【Amazon.co.jp限定・2024年モデル】

歯の健康を考えるのならPhilipsの電動歯ブラシがお勧めです。歯科医の推奨も多いみたいです。高価なモデルも良いですが、最安価なモデルでも十分に良さを体感できる。

2件のコメント

  1. こんにちは~
    あちらでコメントして頂いた件についてこちらにコメントさせて頂きます。
    実はもう完成しています。
    過去の作業を、順番に記事にしているのです

    29日の記事にアップした動画がこちらです(爆)
    https://youtu.be/UjI6ZuD-AQ0
    この動画では判りませんが、過去一の音のアンプになりました。
    「SIC-MOS」と「SIC-SBD」の威力は凄まじいです。

    1. >うにさん
      あらら・・・そうでしたか。失礼しました。
      そうですね、うにさんの記事は全部後追いなのでした。

      SIC-MOS、、、そうですか、そんなに良いですか。良好な結果になって、よかったです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

投稿者

KeroYon

関連投稿

Roon Rock (4)OSインストール

Roon Rock のハードウェアが整備できたので、おさらいと共に、プロセスを丁寧に記述しておきたい...

Roon Rock (3)ストレージやRAMを実装して…

Roon Rock構築用のデバイスが次々と着弾しています。 なので、いよいよ組み立てとインストールを...

Roon Rock (2)ハードウェア購入選定

Roon Rock (Server) を制作すべく、中古のNUC11を購入しました。 到着しています...

ルーム補正 (3)REWによる音場補正 – miniDSP PEQ

前回までが、ルームイコライザー〜音場補正の「座学編」の部分だったかと思います。 そして今回は、半分「...

Roon Rock (1)

intel NUCを購入しました。 新たにRoon Rock サーバーを構築するため。 型番は In...