先日の日記で、しばらく弄っていなかったデジタル系のシステムを組み直したことを記しました。
Windows Server 2019コアモード(GUI無): RoonServer兼Diretta Host
↓ CAT6A(UTP):IPv6
RasPi4B +IanCanada FiFoPi + IanCanada-HDMIpiTransmitter : Diretta Target
↓ HDMI:I2S
Holo Audio May DAC Kitsune Tuned Edition
これで、長年目論んでいた音声信号の経路のハブ無し、USB無し、GUI無し、を実現出来てひとまず満足していました。
ところが、最近加入したFacebookの「極•ネットワークオーディオ」というグループでのHQPlayerを駆使したアップサンプルやDSD変換に関する活発な議論を目にして、もう少し弄りたくなってしまいました。HQPlayerはバージョン3の頃から何度かトライしましたが、CPUパワーを凄く消費することもあり、音の勢いや鮮度が落ちてしまいなかなか良い結果を出せず使用をやめてしまっていました。
私のPCはFormula版のMFPCを模して音楽再生としては異例の強力なGPU(と言っても私のは3060ベースですが)を積んでいました。上述のGUI無しの構成に組み直した際、GPUボードは取り外したのですが、HQPlayerの計算負荷をGPUに振り分ければ良い結果が期待できるのでは?と考え再び取り付けることにしました。
今回の変更点を纏めると:
- RoonServer兼Diretta Host のPCにGentooPlayerのブートを追加する。
- Windows環境にはHQPlayer4 DesktopをGentooPlayer環境にはHQPlayer Embeddedを載せる。結果的にブート時の選択で
- RoonServer兼Diretta Host兼HQPlayerをWindowsベースとGentooPlayerベースで選択可能にする。
- RTX3060のグラボを載せてHQPlayerの計算負荷をCUDA OffloadでGPUに割り振る
- Streacom F12Cケースに換装。
これで、音声信号の経路をハブ無し、USB無し、GUI無しのまま、CPU負荷をあまり上げずにHQPlayerを搭載できました。GPUのドライバーはNVIDIA純正のCUDA Tool Kit for Windows Server 2019を使用しました。HQPlayer4 DesktopがWS2019コアモードにも載せられるは嬉しい誤算でした。
背の高いグラボを搭載できるHTPCのケースは現在では皆無です。Streacom F12Cは、ずっと探していて、eBayで状態の良い中古を見つけて購入しました。
この環境ではPCM768/32、DSD256までが安定再生で、DSD512だと5秒に一度くらい途切れます。CPUが時代遅れの7700Tなので、これを最新世代のものに代えれば解決すると思われます。ちなみに話題の?1600万タップのフィルターも大丈夫です。
これはWindowsベースでもGentooPlayerベースでも同様ですが、Windowsベースの方がCUDA Offloadが効果的です。DSD⇔PCM変換、アップサンプルでも変換負荷が上がるとGPUの稼働率が上がり、CPUの稼働率は安定しています。
以下、Windows環境で説明します。
写真はDSD128の音源をPCM384、768、1536に変換したGPUの使用率を示したものです(写真が汚くて申し訳ございません)。
サンプリング周波数が上がるとGPU(CUDA)稼働率は上昇しますが、CPUの方は26-28%で安定しています。
こちらはDSD64→DSD256変換時のCPUの稼働率です。Direttaが2番コアを占有しています。
実用上はPCM192/24、DSD256までで十二分で、それ以上のフォーマットの音源を再生することは稀ですが、余裕は良い音を生み出すことも事実なので、ある程度のスペック追及は良しとします。
音は今まで聴いたHQPlayerの中では最高です。フィルターによる音の差は相当なもので、負荷の大きいフィルターでも問題なく再生出来るので、しばらくフィルターで遊んでみます。
コメント ※編集/削除は管理者のみ
のびーさん、こんばんは。
HQPlayerにお帰りなさい。
Facebookの「極•ネットワークオーディオ」で、HQPlayerの話題あるのですね。てっきりdiretta の話題ばかりだと思っていたのですが、参加してみます。
アップサンプリングには、GPUにオフロードすれば良いのは、分かっているのですが、OSが、ubuntu serverなのでドライバーのインストールが面倒で、グラボの導入には、躊躇してます。
まあ、しばらくCPUオンリーで頑張ってみます。
のびーさん、流石に7世代は、古いでしょう。13世代は、良いですよ(笑
また、情報交換、よろしくお願いします!
いたちょうさん
おはようございます(そちらは、さすがに寝てますよね)。
時間が流れるは速いですね。JPLAYに一番真剣に取り組んでいた時に3つも購入したのがASUSのPRIME H270M-PLUSというボードと7700Tでした。あれから6年ですか。。。
さすがに買い替えないといけないのは分かっていて、Full-ATXのMBとスイッチング電源でいくことは決めていますが、現行のi9か次世代のXEONかで決めあぐねています。
GentooPlayerは使いやすいので、マルチブートでインストールしました。苦労してNVIDIAのドライバーを入れてHQPlayerのCUDA Offloadも使ってみましたが、Windows環境の方が上手にGPUにoffloadしてくれます。まあ、これは私のLINUXの知識が不足していて十分に使いこなせていないだけかもしれません。