ラズパイをサーバーPCに:ffmpeg on Buster
音楽を聴き流しながら、ネットを何気なく徘徊、眺めていたら、「Raspbian Busterではffmpegがaptにてインストール可能となった」という情報が目に飛び込んできた。先に
minim server on Raspi 3B+
ということをやっていたこともあって、これは当方にとっては何とも刺激的かつ魅力的なこと。minim serverからffmpegを呼び出せば、さらにその先のSoXを使えるようになるのだが、ラズパイでffmpegを使うためにはソースからビルドするしかないものと思い込んでいた(当方の低スキルではソースからのコンパイルやビルトはハードルが高い)。
だが、apt(というLinuxのパッケージ管理機能)からインストールできるとなれば、話は変わる。そもそもインストール自体に悩むことは全く不要になる、、、
当方の現在のサーバーPC環境は、かなり古いAMD Quad Core CPUのプラットフォーム上でWindows Server 2012R2を稼働させており、そこでminim serverを動かしている。そろそろ、サーバーもWindows Server 2019に変えたり、CPUを含めたパーツのブラッシュアップも必要かも、とつらつら考えていたこともあって、これは渡りに船以上の情報なのだ。
早速実験(Rapsbian Buster Lite環境)してみた。インストール後、minim watchを起動(Windows PC上で)してminim streamerのインストールとrelaunch指示をしてから、minim serverのpropertyを覗く。おや、既にstream.converterにffmpegがちゃんとセットされているではないか。これは何とも親切。さて、当方にとっての問題はちゃんとSoXを呼び出して、DSDtoPCMを行ってくれるのか、そこが何よりも大事なポイント。
minim serverのproperty(systemタブ)にSoXを最高品質で呼び出すのに必要なstream optionパラメター(Windows Server2012 R2上のminim serverで設定してているものと全く同じ)をセットする。applyをかけてもパラメータエラーにはならず(多分うまく行くかな?という期待)、さらにstream.transcodeをセットする。これは、FLACをWAVに、DSFを176.4KHz/24bitのWAVに変換するという、こちらもいつもの設定。これも問題なし。
minim serverのproperty画面(Systemタブ):
stream.optionsにてSoXを呼びだす指定は以下の通り:
convOut=-af aresample=resampler=soxr:precision=28,preBuffer=2.7
stream.transcodeの当方の指定は以下の通り:(SoXでFLACからWAVに、DSFは176,4K/24bitのWAVに)
falc:wav;,dsf:wav24;176
CDリッピング音源を早速再生させてみると、mConnect上でFLAC音源がWAVと表示されており再生もすんなり。テスト用のDSF音源と192KのFLAC音源を送り込んでみても、全くOK。これは使えそう、、、、3B+のCPUパワー(LANの送り出しは100Mbps Half Duplex設定)でも、ハイレゾ音源、DSF音源とも何も問題ない(音切れ、プツノイズなども皆無。)
なるほど、これならば、敢えてWindows Serverベースで新たにサーバーPCを構築する必要などはないだろう。ここまでの段階はラズパイ3B+でテストしたが、ラズパイの場合は音源はUSB接続とならざるを得ないので、USB 3.0が利用可能なラズパイ4にマイクロSDカードを差し替えてテストしてみた。
ラズパイ4のCPU速度、USB 3.0、1Gpbs LAN速度(当方の場合は敢えて100Mbpsへ落としているが)というスペックはメディアサーバーとして仕立てることについて全く不足ないように感じられた。USB接続という点は音質的な課題になるかも? との推測もしていたが全くと言っていいほど問題にならないようだ。
(注記)ラズパイ4でもUSBバスパワーのみだと、当方のUSB SSD(3.0)は安定して稼働してくれない。どうも電源供給能力の課題はありそう。しかし、元々電源が必要なUSB HDDでは問題無いので、パスパワータイプのUSB SSDでも給電ハブを使えば大丈夫かもしれない(未テスト)。
(2020年4月19日追記)
USB 3.0 SSDのバスパワー駆動について電源供給とは無関係な課題があった。解決策は
こちら
に。(追記終わり)
現状我が家には2台のラズパイ4があるのだが、その内の1台を完全にサーバーPCとして使う方向でもここまでのものならばいける、と実感した次第。また、UPnPレンダラー化したSymphonic-MPDとの連携も全く順調である。既にlightMPD、Symphonic-MPDでも内部的にSoXを呼び出してのDSDtoPCM
は可能となっているのだが、メディアレンダラー側の負荷軽減という観点からは、ファイル変換などをminim server側で行ってしまうということも故あることと考える。いずれにしてもラズパイの何と重宝なことか、、、
(注記)
Symphonic-MPD環境下では、minim server自体の稼働確認を終了しているが、ffmpegがパッケージ管理ベースでインストール可能とはなっていないことから、現状ではこのffmpeg環境作成にはハードルがある。また、sambaが未インストール(cifs-utilsのみ)のため、音源の送り込みをファイル共有によって行うことができないという運用上の課題もある。
(2020年5月5日追記)
Symphonic-MPD環境でもStatic Buildsというあらかじめビルトされたライブラリーをダウンロード、展開すればffmpegのインストールが簡単に可能であった。詳細については、
こちら
に記載した。(追記終わり)
4way構成の設定備忘録(2020年4月4日更新)設定値
項目 |
帯域 |
備考 |
Low |
Mid |
Mid-High |
High |
使用スピーカー ユニット |
- |
Sony SUP-L11 |
Sony SUP-T11 |
Accuton C51-286 |
Scan Speak D2908 |
- |
スピーカーの 能率(相対差) |
dB |
97 (+4) |
110 (+17) |
93 (+0) |
93 (+0) |
|
DF-65の 出力設定 |
dB |
+1.2 |
-10.0* |
+1.7 |
+4.5 |
|
マスターボリューム アッテネーション |
dB |
-3.0 |
-3.0 |
-6.0 |
-3.0 |
|
パワーアンプでの GAIN調整 |
dB |
-6.0 |
-12.0 |
-6.0 |
-12.0 |
|
スピーカーの 想定出力レベル |
dB |
89.2 |
85.0 |
82.7 |
82.5 |
|
クロスオーバー 周波数 |
Hz |
pass ~ 710 |
710 ~ 1600 |
1600 ~ 2500 |
4000 ~ pass |
Low Pass ~ High Pass |
スロープ特性 設定 |
dB/oct |
flat-48 |
48-48 |
24-24 |
24-flat |
Low Pass High Pass |
DF-55 DELAY 設定 |
cm |
-7.0 |
-36.0 |
+28.5 |
+32.0 |
相対位置と 測定ベース |
極性 |
- |
Norm |
Norm |
Norm |
Norm |
|
DF-55 DELAY COMP (Delay自動補正) |
- |
ON |
自動補正する |
DF-55デジタル出力 (Full Level保護) |
- |
OFF |
保護しない |
|