
高音質再生アプリのAudirvānaで、これまた高音質配信サービスのQobuzを聴けるようにしました。引き続き、ローカルファイルの再生設定と車載のための電源断対策を行います。
この回は、「
その1再」でOS(Raspberry Pi OS)とAudirvānaのインストールまで完了している前提で始めます。
音質優先でスマホをファイルサーバーにした「
その2」のシステムはさすがにハードモード過ぎたので今回はイージーモード、素直にUSBストレージを使うことにしました。
Audirvānaはメモリー再生するため、オーディオ出力用のUSBバスをファイル読み込みに使ってもそこまで酷いことにはならんかもと。
ローカル再生の設定
AudirvānaにおけるファイルアクセスはベースとなるOSに依存し、NASやUSBなど使うストレージに合わせてOS側で設定を行います。
システム構成

前回よりはずいぶんシンプルなシステムになりました。これくらいなら自分もやってみようと思ってもらえるのではw
2.4GHz帯のWi-Fiではハイレゾを含むストリームの安定再生は難しかったため有線接続にしました。自宅の5GHz Wi-Fiなら問題ありませんでしたが、5/6GHz帯の屋外利用については
厳しい制限があり、
| 周波数帯 | 屋外での利用条件 |
| 5.2GHz帯 | ディスプレイオーディオなどの車載専用機(40mW以下)以外実質的に禁止
スマホは上記との接続のみ(テザリングは不可) |
| 5.3GHz帯 | 全面禁止 |
| 5.6GHz帯 | 利用可能
ただしDFSによる通信切断あり |
| 6GHz帯 | VLP(25mW以下)で利用可能
対応機種はまだ少ない(ラズパイも未対応) |
という状況で、6GHzが有望なものの今は「待ち」です。家庭用のWi-Fi機器はこれらの条件には対応しておらず安易に持ち出すと電波法違反となる可能性もあります。

クレードル付きのモバイルルーターを使い、ラズパイとEthernetで接続します。
ラズパイ側の設定
楽曲データを入れるUSBメモリーはPCでの扱いが容易なexFAT形式とします。
ドライバ類をインストール
$ sudo apt update
$ sudo apt install exfat-fuse exfatprogs
USBメモリーをラズパイに接続、ID(PARTUUID)を確認します。
$ blkid

microSDカードのパーティションも表示されていますが、注意深く読めばどれがUSBメモリーか見当がつくと思います。
マウントポイントを作成
$ sudo mkdir /mnt/music
fstabファイルをエディタで開き、調べたIDでマウント条件を記述、保存して終了
$ sudo nano /etc/fstab
PARTUUID=xxxxxxxx /mnt/misic exfat defaults,ro,nofail 0 0
再起動、再度ログインしマウントされたことを確認
$ sudo reboot now
$ df -h
$ ls /mnt/music

リモートアプリで「フォルダを追加」すると楽曲のスキャンが始まります。前回のNAS接続より早く自分のライブラリ(400GB弱)の取り込みは30分以下で終わりました。表示されている通りメタデータのみコピーして独自のデータベースを作成するため、ライブラリ本体には手を付けずに済みます(書き換えも可能)。
(2025/11追記)
OSにSMB関連のパッケージ(samba, cifs-utils)がインストールされていると、この画面に「ネットワークフォルダを追加」というボタンが現れます。楽曲データをNASに置く場合はこちらから登録可能です。
MusicBrainzというデータベースサービスが統合されており、これによるメタデータ補完を設定するとスキャン後にバックグラウンドで解析が行われます。こちらはかなり時間がかかり、自分の場合は一晩ファイルアクセスが続きました。
車載では起動時の自動スキャンはOFFにした方が良いでしょう。リプレイゲイン計算も可能ですが未使用。
ファイルシステムのROM化
突然電源が落ちてもファイルシステムが破損しないよう対策します。
overlayroot、オーバレイされた(重ねた)ルートファイルシステムという意味で、RO(Read Only)としてマウントしたmicroSDと、RW(Read/Write)属性のRAMディスクを「重ねた」ファイルシステムです。読み出しは普通にSDカードから行い、カード上のファイルに書き込みが発生した時はRAMディスクに書き込みます。書き込み中に電源が切れてもRAM上のデータが消えるだけなのでSDカードは元通り、つまりoverlayrootの動作中に更新したファイルは電源OFFで全て無かったことになります。
ただしAudirvānaは楽曲のデータベースや設定ファイルをコアプレーヤー内部に作成するため、これらのファイルまでROM化すると起動のたびにライブラリを再スキャンしたり設定が元に戻ってしまうことになります。書き換えが必要なファイルはROM化の対象から外す設定を行います。
データベースの書き込み中に電源が落ちた時はファイル破損の可能性があり、新曲を追加した後のスキャン中など注意が必要です。バックアップ推奨。
Audirvāna用データの移動
今回のインストール手順の場合、Audirvānaのデータベースや設定ファイルは /home/audirvana 配下に作成されます。overlayrootはルートパーティションを丸ごとROM化するため、このフォルダを別のパーティションに移動します。
ラズパイをシャットダウン、起動用microSDカードを別のLinuxマシンにセットし、パーティション管理ツールのGParted(Gnome PARTition EDitor)で編集します。
Linuxマシンがない場合は、Windows上の仮想マシンにLinux環境を構築したり(
過去の事例)、LiveCD形式といってCDやUSBメモリーからOSごと起動させるGPartedもあります。

右上のプルダウンでmicroSDカードを選択すると、二つのパーティションが見えるはずです。「boot」とついている小さな領域が起動用のブートローダー、残りがLinux本体です。

Linux本体のパーティションを少し縮小して

空いたエリアに「audirvana」パーティションを作成します。容量は1GBもあれば十分でしょう。

編集が終わったら最後に適用(チェックのボタン)すれば完了です。間違ってPCのSSDを操作して起動不能にしないよう超注意。
カードをラズパイに戻し起動、ログイン、Audirvānaを停止。
追加したパーティションのID(PARTUUID)を確認します。
$ sudo /opt/audirvana/studio/setAsService.sh stop
$ blkid
新パーティションを手動でマウントし、/home/audirvanaフォルダーを移動。隠しファイルを含めて移動するコマンド書式です。
$ sudo mkdir /mnt/audirvana
$ sudo mount /dev/mmcblk0p3 /mnt/audirvana
$ sudo cp -a /home/audirvana/. /mnt/audirvana/
$ sudo rm -rf /home/audirvana
fstabファイルをエディタで開き、調べたIDでマウント条件を記述、保存して終了
$ sudo nano /etc/fstab
PARTUUID=xxxxxxxx /home/audirvana ext4 defaults 0 2
再起動し、マウントされたことを確認
$ sudo reboot now
$ df -h
overlayrootのインストール
overlayrootはRaspberry Pi OSでは標準の設定画面で導入できるようになったので簡単です。raspi-configを開き
$ sudo raspi-config

「Performance Options」-「Overlay File System」で設定します。
この後のプロンプトでrootパーティション、次にbootパーティションに対して適用するか聞かれます。今回の目的ではルートパーティションのみで良いでしょう。(起動パーティションの方は一度設定したらこのメニューでは解除できなかった)
終わったらリブートはせずいったんメニューを終了。
cmdline.txtファイルを開き
$ sudo nano /boot/firmware/cmdline.txt
overlayrootの項目ができているのでrecurse(再帰)禁止フラグを追加、保存して終了。これをしないと追加したパーティションまでROM化されてしまいます。
overlayroot=tmpfs:recurse=0
リブートして有効化。
$ sudo reboot now
mountコマンドでoverlay関連の表示があれば動作しています。
$ mount
設定変更などファイルを更新する時は、再度raspi-configで設定を戻せばOKです。
車載!
ファイルシステムをROM化しても、起動中それが有効になる前に電源が落ちたらやっぱりファイル破損の原因になります。
車載ではエンジン始動時が問題で、ACCONして起動が始まったちょうどいい(まずい)タイミングでイグニッション=電源OFFとなるので対策します。
以前PCの車載用に製作した、
タイマーリレーによる遅延起動回路を使用し、イグニッション終了後に電源ONとなるようにします。

シガーソケットからの12Vをタイマーリレーに接続、DC/DCコンバータで約6Vに落とし
リニア電源に入力。クリーンな5Vをラズパイに供給しています。
ノイズの多いラズパイをオーディオに使うのは正直引っかかるところはありますが、電源の5VをほぼそのままUSBのVbusとして出力するラズパイにはリニア電源が有効です。
感想など。
以上で導入完了です。
メリットとしては全ての音源をネイティブ再生できます。自分のプロセッサーは96kHz処理なので192kHzやDSDの音源は96kHzとか88.2kHzに変換しますが、それも高精度なアルゴリズムで処理されます。
対して回線速度の制約を受けるRoon ARCではネイティブ再生できるのは24bit/96kHzあたりが実用限界となります。変換配信で設定できるのはCD品質以下で上限を24/96とかにする機能はないため、高レートの音源はダウンロードを利用しMUSEと称するスマホのDSP演算で変換することになります。MUSEのアルゴリズムも64bit演算の凝ったものですが、自宅に集約したライブラリをロスレス配信というRoon ARCの先進的な仕組みもハイレゾ相手では美しくない対応が必要なことがわかります。
オンラインの時代だぜ?そんなのじきに回線速度も上がって…
と思っていたのにここ数年のモバイル通信は停滞、どころか悪化すら見られる状況なのでオンプレ回帰も準備しておこうかなと。いうのが今回の動機です。何なの5G。
音質について。ハイレゾ音源でなくともAudirvānaの音の良さは感じることができ、心配したUSBをファイルアクセスとオーディオ出力で共用することの弊害も問題なさそうです。Roon ARCともQobuzアプリとも異なり、スマホとラズパイという出力デバイスの違いなのか、自宅のRoonのサブセットとしてのRoon ARCと、機能限定とはいえフルセットのAudirvānaの違いなのか。さすがに音質特化で生き残ってきたアプリだけのことはあります。
一方、ローカル音源とサブスクの統合という点ではRoon / Roon ARCには一歩、いや数歩譲る感じ。

こんな感じで、アーティスト表示やプレイリストで自分のライブラリとQobuzを横断的に使うことは可能なものの、一曲再生すればオートプレイでQobuzとローカル取り混ぜて同じアーティストや近しい?曲を引っ張ってくる、といったキュレーション機能はなく(カーオーディオではこれが便利)別のソースとして扱われています。
立ち位置はオーディオファイル向けプレーヤー、あくまで自分で選択した曲を高音質で聴くことに主眼を置いた製品と感じました。
とりあえず月額課金で始めたのを少しお得な年間契約に移行するかどうか、しばらく使って確かめてゆきたいと思います。RoonはLifetimeユーザーになって償却が終わっており、またサブスク料金を支払うだけのメリットがあるのか、モバイル回線の状況はどう変わってゆくのか、さて?
(2025/11追記)
Audirvānaのサンプリングレート変換機能はかなり柔軟で、入力レートごとに出力周波数を設定できるのはもちろん、アルゴリズムもSoXとr8brainという2種類から選択できます。

SoXの場合

r8brainの場合
こんな感じで、正直最適化が難しいほど豊富なパラメータがあります。
デフォルトの設定ではr8brainが柔らか、SoXは明確な音質とどちらも魅力的で、Audirvānaの真価はアップサンプル・ダウンサンプルなど処理を行った際に発揮されるように思います。
再生機能に関しては
「再生できればいいでしょ?他に何か必要なの?」
といった割り切りを感じます。キュレーションはQobuzに任せてローカル再生はアルバムに集中しなさい、って思想なのかも。