
前回との違いは機種だけですので、比較し易いよう同じ構成で書きます。結果はタイトルで察してください・・・
我が車にネットワークオーディオを導入して1年が過ぎました。ラズパイのサーバーとAPUのレンダラー、USB-DACのシステムで安定稼働しています。
今回は遅ればせながら、高音質と評判のPC版lightMPD(lightMPD x86_64版)を試してみました。
lightMPDについては2019年6月のブログ「
ネットワークオーディオ自作(2)」をご覧ください。
【共通】音質のために高速CPUを使う意味
ネットワークオーディオも専用ハードやラズベリーパイのような低消費電力の機器で実現できるようになり、PCでなければ出来ないことは減ってきました。個人的にはいわゆる「PCオーディオ」はもはや主流ではないと思っていました。
ノイズ発生源のようなPCを今さらなぜオーディオに持ち込むのか。使い勝手だけでなく、実は音質面でも理由があります。ここは説明しておく必要があるでしょう。
lightMPDは当初ARM版からスタートしており、現在もラズパイなどシングルボードコンピュータ(SBC)で動作可能です。
音源ファイルのフォーマットをそのままビットパーフェクトにDACへ送出する場合、SBCの比較的控えめなCPUパワーでも十分です。
PC並みの演算能力が必要となるのは、サンプリングレート変換やDSD to PCM変換を行う場合で、FIRフィルターのパラメータ設定によってはSBCでは能力不足となり処理落ち=音切れが発生します。
公式サイトで作者さんがDSDを題材に解説していらっしゃいますが、SBCとしては比較的パワフルなAPUでも間に合わないようなフィルター処理を行うためにx86_64版を開発したとのこと。
DACの中で実行していた処理をソフトウェアで肩代わりする、しかも小さなシリコンでは不可能な複雑な処理に置き換えるというのは、大げさなCPUをオーディオに使う理由として納得できるものです。興味のある方はぜひ読んでみてください。
ビットパーフェクトがベストとは限らない、かもしれませんよ。
ハイパー大事なことなので2回言いました
【共通】システムプラン
以下はこれまでAPU2で構成していたシステムでの信号の流れです。
ハイレゾ音源はUSB-DAC/DDCのAT-HRD500まではネイティブ伝送とし、同軸デジタルはHRD500の内蔵サンプリングレートコンバーター(SRC)で48kHzに変換、アナログはハイレゾのままプロセッサーに入力していました。
今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
退化してないかって?さぁどうでしょw
最終段のプロセッサーで44.1/48kHz処理になる自分のシステムでは、ハイレゾを持ち込むためCDフォーマットの処理に余計なプロセスが入っていました。44.1kHz専用にしてしまえばすっきりするのですが、今どきハイレゾ音源を聴けないのもちと辛い。システム内にサンプリングレート変換があるなら、そこにはフィルタリング処理があるはずで、ソフトウェア化による音質向上の余地があるのでは?と考えました。
設定ファイルの記述だけで上限を96kHzや192kHzにすることもでき、HELIXやBRAXなどハイレゾ対応プロセッサーに更新しても対応可能です。いや買い替えませんけど。
購入
lightMPDのx86_64版で動作確認がとれているハードウェアはLIVA ZおよびLattePandaです。購入前に調べてみたところ、LIVA Zの電源はDC19V、LattePandaの最新モデルは強制空冷で、どちらもカーオーディオには少し使いにくいと思ったので別の機種を探してみました。
lightMPDの公式サイトには、
「Liva、Lattepanda 以外の機種でもイーサネットコントローラに Realtek 8169PCIやIntel 82575/82576を使った機種なら動作する可能性はあります。(保証はできません)」
とあり、他にCPUが4コアであることが条件となります。
選定したのはこれ
GD41 (KODLIX、写真左)
LIVA Zと同じ、手のひらサイズの「ミニPC」に分類される製品です。このところ多数発売されています。
IntelのNUCより少しだけ大きく、右のAPUやCDケースと比べるとサイズ感がわかると思います。Amazonで2万円台中ほどで購入しました。

カワイイ。こんなちっちゃいPCなら何台でも欲しくなります。
上面のスリットから放熱します。完全ファンレスで無音動作です。
後面のインターフェースは左からDC12V、miniDisplayPort、HDMI、LANx2、USB Type-C。LANが2系統あるので、APUと組み合わせてlightMPDの「最終形態」ともいえる
イーサネット分離システムに発展させられそうです。

前面にはUSB3.0x3と電源スイッチ。また側面にTF(microSD)カードのスロットとオーディオジャックがあります。USBとLANの端子が対面にありケーブルの取り回しは面倒かも。

小さいのに内部は拡張性の高い設計になっています。メモリーやストレージを増設してファイルサーバーとか仮想化基盤、またDaphile専用機にしても良さそう。
初手でトラブルがあったので対応方法を記しておきます。
セットアップおよびWindows Updateを実行後にブルースクリーンが発生、初期化を選択した(これがまずかった)ところ起動不能となりました。グラフィックドライバを更新すると発生する不具合のようで、サポートに問い合わせてOSを再インストール、でWUするとやっぱり再発するので今度はセーフモードで起動してドライバを削除、通常モードに戻しオリジナルのドライバをインストールして解決しました。その後「自動更新適用除外ツール」でIntel_Displayの更新を除外設定して完了。以上の作業を初回のWUが走る前に行う必要があるので、LANケーブルは抜いておいた方が良いでしょう。
再インストール用イメージ・オリジナルのドライバともサポートフォーラムに置いてあって返品することなく対応できたものの、母艦となるPCがないと回復不能な事案でした。
「おま環」かもしれませんがWindowsで使う方は一応ご注意を・・・といっても、Win10のアップデートは自動かつ強制なので注意しようがないよね。
HWiNFOでCPU情報を取得してみました。
CPUはCeleron N4100。セレロンブランドを名乗っているものの、開発コード「Gemini Lake」はAtomアーキテクチャ(第6世代)に属します。
4コア4スレッド、ベースクロック1.1GHz、ブースト時2.4GHz。メモリーは8GBシングルチャネル、SSDはNVMeの128GB。
(2020/8/4追記)
現在販売されている製品は、型名は変わらずCPUがCeleron N4120(Gemini Lake Refresh)にリニューアルされたようです。

N4100の性能はAPU2のGX-412TCより高く、でも最新のデスクトップPC向けCPUと比べるようなものでもありません。
GX-412TCがデータベースになかったので、GX-412HCで代用しています。
ちょっと前のネットブックやスティックPCの進化形といったところでしょうか。YouTubeの動画再生程度なら普通にこなせますが、初回のWindows Updateは重かったです。

圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。
なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。

こちらはシステム情報。イーサネットのコントローラはRealtek製で、lightMPDの動作条件はクリアしていそうです。
ここまで使ってみて前回のHeroBoxより発熱が多めかなと思っていたのですが、小型であること、SSDがNVMeであることに加え、セッティングもややパフォーマンス志向になっていることが影響しているかもしれません。
【共通】インストール
lightMPDのバージョンは 1.2.0b2 を使いました。
ブートローダーのイメージは
公式サイト掲示板のスレッド
「LIVA Z,LattePanda用のlightMPDを公開しました」、
パッケージはスレッド
「x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました」
にあるのでそれぞれダウンロードします。
ブートローダーのイメージをUSBメモリーに書き込み、パッケージのzipを上書き展開。設定ファイルをテキストエディタで修正して完了です。
手順はAPU2とほとんど変わりませんので、その時の
ブログもご覧ください。
BIOSの「Secure Boot」オプションは本機では無効になっていたので、このままで大丈夫です。起動の優先順位を変更しておくことを忘れずに。
【共通】設定
/lightMPD/conf/upnpmode(UPnPのレンダラーとして使用するモード)のファイルを/lightMPDにコピー。
テキストエディタ(
TeraPadなど、文字コードUTF-8・改行コードLFに設定できるもの)で修正します。
/lightMPD/lightmpd.confの設定
ネットワーク関連の設定を自分の環境に合わせて修正します。
[network]
interface=eth0
address=192.168.1.93
gateway=192.168.1.1
netmask=255.255.255.0
nameserver=192.168.1.1
[ntp]
server=ntp.jst.mfeed.ad.jp
ntpd=no
timezone=Asia/Tokyo
/lightMPD/mpd.confの設定
オーディオ処理関連の設定をこちらで行います。
レート変換やDSD/PCM変換をせずビットパーフェクトで再生したい場合は以下の設定は不要です。DSDをDoP形式で出力する方法は
APUの時の設定をご覧ください。
拡張オーディオフォーマットの設定
非DSD音源のサンプリングレート変換規則を指定します。
Xに続く数字がアップコンバートの倍率、Lに続く数字がサンプリングレートの上限(44.1/48kHzに対する倍率)です。
倍率を1倍(アップコンバートしない)に、最高レートを44.1/48kHzに制限することにより、44.1/48kHzは無変換、88.2kHz以上は全てダウンコンバートさせます。
96kHzまで対応可能なシステムであれば"X1L2"(アップコンバートなし)または"X2L2"(アップコンバートあり)、192kHzまでであれば"X1L4"または"X4L4"のように設定します。
# extended audio format
audio_output_format "X1L1:24:2"
DSD to PCM変換を指定。
decoder {
plugin "dsf"
output "pcm"
}
decoder {
plugin "dsdiff"
output "pcm"
}
DSD to PCM変換のパラメータ設定
この設定では、2.8MHz、5.6MHz、11.2MHzのDSD音源に対してdsd2pcmで176.4kHzのPCMに変換、その後SoXリサンプラーで44.1kHzに変換させています。
0.27って何?サンプリングレートの変換比率からは想像できない数値が出てきました。これがフィルターのパラメータです。
ここをチューニングするには
フィルター特性や、
libsoxrに関する理解が必要です。適切か、また最適かどうかはまだわかりません。
dsd2pcm {
###### output : 44100 ######
# dsd2pcm + resampler
# dsd2pcm: 2822400 -> 176400(1/16) -> resampler -> 44100
dsd64 "44100:32:16:SOXR_COEF( 24, 0.27, 0.4, 50, 0, yes)"
# dsd2pcm: 5644800 -> 176400(1/32) -> resampler -> 44100
dsd128 "44100:32:32:SOXR_COEF( 24, 0.27, 0.5, 50, 0, yes)"
# dsd2pcm: 11289600 -> 176400(1/64) -> resampler -> 44100
dsd256 "44100:32:64:SOXR_COEF( 24, 0.27, 0.9, 50, 0, yes)"

システムの全景です。ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。
設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。
消費電力測定
ここまでの実験で、前回のHeroBoxとCPUは同じでもPC全体の消費電力は高そうです。
車載にあたって、APUで導入したオーディオ用リニア電源の
UltraCap LPS-1.2 (UpTone Audio)
を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
GD41のDCプラグは外径5.5mm/内径2.5mmのセンタープラスでAPUと同じでした。電源ラインにワットチェッカーをはさんで計測します。
プリインストールされているWindows10では、起動時のピークで12W程度
起動完了後は5W程度に落ち着きました。
ベンチマークアプリ(PCMark 10)を動作させると、平均7~10W程度で推移しますが、ピークでは15Wを超えることもありました。
lightMPDでflac音源を再生させると8W前後、DSD/PCM変換再生させた時は12W程度となりました。
んー、Windowsはアウト、lightMPDで使うにしてもギリギリですなぁ。もう一声減らしたいところです。
Windowsをあきらめて、lightMPDでは使用しない内蔵SSDを取り外しました。
先に紹介したように、SSDの撤去は簡単です。

DSD再生時のピークで10W程度になりました。HeroBoxより2Wほど高めで、リニア電源にとっては余裕がない感じ。車載でいけるかどうかは実際に確認した方がよさそうです。
以上、ホーム用途(ACアダプター使用)であればHeroBoxもGD41も問題なくlightMPDを動作させられることがわかりました。
で、リベンジの内容に続きます。
ぬかりなく。
100V電源の普通のPCと同じで、通常は12Vを供給しても電源スイッチを押すまで起動してくれません。
車載では使いづらいですし、手の届くところにPCを置けるとも限りません。前回のHeroBoxではここをクリアできなかったためリベンジ編となったわけです。
今回はちゃんと調べましたよ。
メーカーに問い合わせたところ、GD41は「オートパワーオン」に対応しています。ただし使うためにはEC(組み込みコントローラ)のファームウェア更新が必要とのこと。
提供されたファームウェアをUSBメモリーを使って書き込みました。
設定はBIOSから行います。

G3ステートとは「電源断」のことで、この状態から電源が供給された時の動作を指定します。S0ステートは「起動状態」で、即起動するモードとなります。サイネージモード、あるいはキオスクモードとも呼ばれています。
ACアダプターを接続するとすぐに起動することを確認できました。やれやれ。
とはいえ、今回の機種はちょっと消費電力が高いのが気になるのと、スペックが充実しているのでホーム用に使いたい気持ちもあり、もう1機種試す予定です。うまくいったら次回に続きます。
【共通】車載PCの条件とは
車載専用に設計されたPCでは、上に挙げたような自動起動(イグニッション時の瞬断対応を含む)、ACC OFFでのシャットダウンなどができるようになっています。またメーカー製品であれば車内の高温・低温に耐えることは当然です。
今回達成したのはこのうち自動起動のみで、シャットダウンについてはlightMPDの場合は電源ブチ切り可能なので不要です。
シャットダウンが必要なOSを使う場合は、車載PCの他、NUC用に以下のような電源ユニットが販売されています。ただし常時電源ラインを接続するのでバッテリー上がりや車両火災には十分な対策が必要です。
DCDC-NUC (Mini-Box.com)
ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう