• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

なかるうのブログ一覧

2020年07月23日 イイね!

ネットワークオーディオ自作(6) lightMPDをPCで(リベンジ編その2)

ネットワークオーディオ自作(6) lightMPDをPCで(リベンジ編その2)どうも、ちっちゃいPCコレクター&レビュアーのなかるうです。さすがに3台目となるとレビューもルーチンワークで早い早い・・・いや自腹なんで結構痛いんですけど。みんカラさん収益化ください。

前回との違いは機種だけですので、比較し易いよう同じ構成で書きます。




我が車にネットワークオーディオを導入して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をオーディオに使う理由として納得できるものです。興味のある方はぜひ読んでみてください。
ビットパーフェクトがベストとは限らない、かもしれませんよ。ハイパー大事なことなので3回言いました


【共通】システムプラン

以下はこれまでAPU2で構成していたシステムでの信号の流れです。
ハイレゾ音源はUSB-DAC/DDCのAT-HRD500まではネイティブ伝送とし、同軸デジタルはHRD500の内蔵サンプリングレートコンバーター(SRC)で48kHzに変換、アナログはハイレゾのままプロセッサーに入力していました。
alt

今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
alt
退化してないかって?さぁどうでしょ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コアであることが条件となります。

選定したのはこれ
alt
Neo G41V-4(MINIX、写真左)

LIVA Zと同じ、手のひらサイズの「ミニPC」に分類される製品です。このところ多数発売されています。
IntelのNUCや前回のKODLIX GD41より一回り大きく、右のAPUやCDケースと比べるとサイズ感がわかると思います。海外通販で2万円台後半で購入しました。

alt
なぜか前回のGD41のような「カワイイ!」という感覚は感じません。一回りだけ大きいからか、Mac miniを思わせる薄型でシャープなデザインだからか、はたまた手に持った感覚がずっしり重いからか。
でもこんなちっちゃいPCなら何台でも欲しく・・・いやもういいです。

上面のスリットから放熱します。完全ファンレスで無音動作です。
後面のインターフェースは左からLAN、DisplayPort、HDMI、VGA、DC12V。LANは1系統なので、lightMPDの「最終形態」ともいえるイーサネット分離システムには使えません。

alt
コネクタは前後ではなく、このように90度の面にあります。側面には電源スイッチとUSB3.0x2、USB2.0x2、オーディオジャック、microSDスロット。

alt
このクラスのPCには珍しく筐体(ベースのみ)は鉄板でできていて、コストかかってる風ではあります。カワイイ感が希薄なのはこれか?

裏蓋を外すとM.2のSSDを1枚増設可能です。システム用SSDは別にオンボード実装されていて交換不可。RAMもオンボードの4GBのみで増設不可。WindowsPCよりは、LinuxのファイルサーバーやDaphile専用機にした方がストレスなく使えるかもしれません。

alt
プリインストールされているWindows10は海外版でした。最初のセットアップで日本語を選択しても英語表記のままだったので面食らいましたが、デスクトップ画面になってから日本語の言語パックをインストールしたところ普通に日本語OSとして使えるようになりました。
ただ設定が足りないのか、このようにバイリンガルな表示になっています。アプリはメニューを含め日本語表示され特に問題ないのでそのままにしています。

alt
HWiNFOでCPU情報を取得してみました。
CPUはCeleron N4100。セレロンブランドを名乗っているものの、開発コード「Gemini Lake」はAtomアーキテクチャ(第6世代)に属します。
4コア4スレッド、ベースクロック1.1GHz、ブースト時2.4GHz。メモリーは4GBシングルチャネルでWindows10で使うには最低限です。

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

alt
圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。

なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。

alt
こちらはシステム情報。SSDはeMMCの64GBとこちらも控えめ。イーサネットのコントローラはRealtek製で、lightMPDの動作条件はクリアしていそうです。

前の2機種に比べるとRAM・SSDともミニマムで価格も高め。WindowsPCとしては一歩譲る感じ(なので第3候補にしていたの)ですが、実際に使ってみるとしっかりした筐体で発熱も少なく、今回のオーディオ用としては案外「当たり」かも。


【共通】インストール

lightMPDのバージョンは 1.2.0b2 を使いました。
ブートローダーのイメージは公式サイト掲示板のスレッド
「LIVA Z,LattePanda用のlightMPDを公開しました」、
パッケージはスレッド
「x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました」
にあるのでそれぞれダウンロードします。

ブートローダーのイメージをUSBメモリーに書き込み、パッケージのzipを上書き展開。設定ファイルをテキストエディタで修正して完了です。
手順はAPU2とほとんど変わりませんので、その時のブログもご覧ください。

BIOSに「Secure Boot」オプションは見当たらなかったので、無効ということなのでしょう。このままで大丈夫です。USBメモリーから起動できるよう、優先順位を変更しておくことを忘れずに。


【共通】設定

/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)"


alt
システムの全景です。ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。

設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。


消費電力測定

車載にあたって、APUで導入したオーディオ用リニア電源の
alt
UltraCap LPS-1.2 (UpTone Audio)

を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
本機のDCプラグは外径5.5mm/内径2.5mmのセンタープラスでAPUと同じでした。電源ラインにワットチェッカーをはさんで計測します。

プリインストールされているWindows10では、起動時のピークで12W台
alt

起動完了後は3W台に落ち着きました。
alt

ベンチマークアプリ(PCMark 10)を動作させると、ピークでは15W近くになることもありました。
alt

lightMPDでflac音源を再生させると6W前後、DSD/PCM変換再生させた時は10W程度となりました。
alt
lightMPD動作時はSSDを外したGD41と同程度で、なかなか優秀ですがHeroBoxには及ばず。本機の場合SSDはオンボードで取り外しできないので、これ以上の大幅な省電力化は難しそうです。ちょっと微妙な結果となりました。

とりあえず候補として2台確保できたので、あとはクルマに持ち込んで確認してみたいと思います。

以上、ホーム用途(ACアダプター使用)であればHeroBoxやGD41と同様、問題なくlightMPDを動作させられることがわかりました。
で、リベンジの内容に続きます・・・


ぬかりません。

100V電源のPCと同じで、通常は12Vを供給しても電源スイッチを押すまで起動してくれません。
車載では使いづらいですし、手の届くところにPCを置けるとも限りません。最初のHeroBoxではここをクリアできなかったためリベンジ編となったわけです。

ちゃんと下調べしてあります。
今回もBIOSにその設定があります。ファームウェア更新は不要で最初から対応していました。
alt
前回のGD41と表記が異なりますが意味は同じ。電源接続で即起動するモードに設定します。サイネージモード、あるいはキオスクモードとも呼ばれています。
ACアダプターを接続するとすぐに起動することを確認できました。


【共通】車載PCの条件とは

車載専用に設計されたPCでは、上に挙げたような自動起動(イグニッション時の瞬断対応を含む)、ACC OFFでのシャットダウンなどができるようになっています。またメーカー製品であれば車内の高温・低温に耐えることは当然です。
今回達成したのはこのうち自動起動のみで、シャットダウンについてはlightMPDの場合は電源ブチ切り可能なので不要です。

シャットダウンが必要なOSを使う場合は、車載PCの他、NUC用に以下のような電源ユニットが販売されています。ただし常時電源ラインを接続するのでバッテリー上がりや車両火災には十分な対策が必要です。
alt
DCDC-NUC (Mini-Box.com)




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
Posted at 2020/07/23 08:47:39 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2020年07月21日 イイね!

ネットワークオーディオ自作(5) lightMPDをPCで(リベンジ編その1)

ネットワークオーディオ自作(5) lightMPDをPCで(リベンジ編その1)前回との違いは機種だけですので、比較し易いよう同じ構成で書きます。結果はタイトルで察してください・・・








我が車にネットワークオーディオを導入して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に変換、アナログはハイレゾのままプロセッサーに入力していました。
alt

今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
alt
退化してないかって?さぁどうでしょ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コアであることが条件となります。

選定したのはこれ
alt
GD41 (KODLIX、写真左)

LIVA Zと同じ、手のひらサイズの「ミニPC」に分類される製品です。このところ多数発売されています。
IntelのNUCより少しだけ大きく、右のAPUやCDケースと比べるとサイズ感がわかると思います。Amazonで2万円台中ほどで購入しました。

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

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

alt
小さいのに内部は拡張性の高い設計になっています。メモリーやストレージを増設してファイルサーバーとか仮想化基盤、またDaphile専用機にしても良さそう。

初手でトラブルがあったので対応方法を記しておきます。
セットアップおよびWindows Updateを実行後にブルースクリーンが発生、初期化を選択した(これがまずかった)ところ起動不能となりました。グラフィックドライバを更新すると発生する不具合のようで、サポートに問い合わせてOSを再インストール、でWUするとやっぱり再発するので今度はセーフモードで起動してドライバを削除、通常モードに戻しオリジナルのドライバをインストールして解決しました。その後「自動更新適用除外ツール」でIntel_Displayの更新を除外設定して完了。以上の作業を初回のWUが走る前に行う必要があるので、LANケーブルは抜いておいた方が良いでしょう。
再インストール用イメージ・オリジナルのドライバともサポートフォーラムに置いてあって返品することなく対応できたものの、母艦となるPCがないと回復不能な事案でした。
「おま環」かもしれませんがWindowsで使う方は一応ご注意を・・・といっても、Win10のアップデートは自動かつ強制なので注意しようがないよね。


alt
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)にリニューアルされたようです。


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

alt
圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。

なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。

alt
こちらはシステム情報。イーサネットのコントローラは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)"


alt
システムの全景です。ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。

設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。


消費電力測定

ここまでの実験で、前回のHeroBoxとCPUは同じでもPC全体の消費電力は高そうです。
車載にあたって、APUで導入したオーディオ用リニア電源の
alt
UltraCap LPS-1.2 (UpTone Audio)

を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
GD41のDCプラグは外径5.5mm/内径2.5mmのセンタープラスでAPUと同じでした。電源ラインにワットチェッカーをはさんで計測します。

プリインストールされているWindows10では、起動時のピークで12W程度
alt

起動完了後は5W程度に落ち着きました。
alt

ベンチマークアプリ(PCMark 10)を動作させると、平均7~10W程度で推移しますが、ピークでは15Wを超えることもありました。
alt

lightMPDでflac音源を再生させると8W前後、DSD/PCM変換再生させた時は12W程度となりました。
alt

んー、Windowsはアウト、lightMPDで使うにしてもギリギリですなぁ。もう一声減らしたいところです。

Windowsをあきらめて、lightMPDでは使用しない内蔵SSDを取り外しました。
先に紹介したように、SSDの撤去は簡単です。

alt
DSD再生時のピークで10W程度になりました。HeroBoxより2Wほど高めで、リニア電源にとっては余裕がない感じ。車載でいけるかどうかは実際に確認した方がよさそうです。


以上、ホーム用途(ACアダプター使用)であればHeroBoxもGD41も問題なくlightMPDを動作させられることがわかりました。
で、リベンジの内容に続きます。


ぬかりなく。

100V電源の普通のPCと同じで、通常は12Vを供給しても電源スイッチを押すまで起動してくれません。
車載では使いづらいですし、手の届くところにPCを置けるとも限りません。前回のHeroBoxではここをクリアできなかったためリベンジ編となったわけです。

今回はちゃんと調べましたよ。
メーカーに問い合わせたところ、GD41は「オートパワーオン」に対応しています。ただし使うためにはEC(組み込みコントローラ)のファームウェア更新が必要とのこと。
提供されたファームウェアをUSBメモリーを使って書き込みました。

設定はBIOSから行います。
alt
G3ステートとは「電源断」のことで、この状態から電源が供給された時の動作を指定します。S0ステートは「起動状態」で、即起動するモードとなります。サイネージモード、あるいはキオスクモードとも呼ばれています。
ACアダプターを接続するとすぐに起動することを確認できました。やれやれ。

とはいえ、今回の機種はちょっと消費電力が高いのが気になるのと、スペックが充実しているのでホーム用に使いたい気持ちもあり、もう1機種試す予定です。うまくいったら次回に続きます。


【共通】車載PCの条件とは

車載専用に設計されたPCでは、上に挙げたような自動起動(イグニッション時の瞬断対応を含む)、ACC OFFでのシャットダウンなどができるようになっています。またメーカー製品であれば車内の高温・低温に耐えることは当然です。
今回達成したのはこのうち自動起動のみで、シャットダウンについてはlightMPDの場合は電源ブチ切り可能なので不要です。

シャットダウンが必要なOSを使う場合は、車載PCの他、NUC用に以下のような電源ユニットが販売されています。ただし常時電源ラインを接続するのでバッテリー上がりや車両火災には十分な対策が必要です。
alt
DCDC-NUC (Mini-Box.com)




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
Posted at 2020/07/21 00:06:06 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2020年07月09日 イイね!

ネットワークオーディオ自作(4) lightMPDをPCで

ネットワークオーディオ自作(4) lightMPDをPCで我が車にネットワークオーディオを導入して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をオーディオに使う理由として納得できるものです。興味のある方はぜひ読んでみてください。
ビットパーフェクトがベストとは限らない、かもしれませんよ。ハイパー大事なことなので1回しか言いません


【共通】システムプラン

以下はこれまでAPU2で構成していたシステムでの信号の流れです。
ハイレゾ音源はUSB-DAC/DDCのAT-HRD500まではネイティブ伝送とし、同軸デジタルはHRD500の内蔵サンプリングレートコンバーター(SRC)で48kHzに変換、アナログはハイレゾのままプロセッサーに入力していました。
alt

今回はこうなります。同じ機能でそのまま置き換えることもできますが、面白くないので考え方をちょっと変えて導入します。
lightMPDでサンプリングレート変換およびDSD/PCM変換を行います。全て44.1kHzまたは48kHzのPCMとしてUSB出力するよう設定します。
alt
退化してないかって?さぁどうでしょ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コアであることが条件となります。

選定したのはこれ
alt
HeroBox (CHUWI、写真左)

LIVA Zと同じ、手のひらサイズの「ミニPC」に分類される製品です。このところ多数発売されています。
右のAPUやCDケースと比べるとサイズ感がわかると思います。

ちょうどAmazonでタイムセールがあり2万円台前半で購入しました。海外発送の業者ならもう少し安く買えるようですが納期などとトレードオフになるのでお好みで。

alt
ゲーミングPCのミニチュアみたいなデザインでカッコカワイイ?
上面のスリットから放熱します。完全ファンレスで無音動作です。
後面のインターフェースは左からDC12V、珍しいVGA、HDMI、LAN、USB2.0x2、オーディオ出力。LANが1系統なので、lightMPDの「最終形態」ともいえるイーサネット分離システムには使えません。

alt
前面にはUSB Type-C、USB3.0x2、microSDスロット、電源スイッチがあります。


裏蓋を外すと2.5インチのSSD/HDDを増設できるようになっています。ファイルサーバーとかDaphile専用機にしてもよさそうです。RAMはオンボードで増設不可、起動用SSDはマザーボード表面にあるので全バラしないと拝めません。

alt
HWiNFOでCPU情報を取得してみました。
CPUはCeleron N4100。セレロンブランドを名乗っているものの、開発コード「Gemini Lake」はAtomアーキテクチャ(第6世代)に属します。
4コア4スレッド、ベースクロック1.1GHz、ブースト時2.4GHz。メモリーは8GBデュアルチャネル、SSDはSATA接続のIntel製180GB。
(2020/10追記)現在出荷されているモデルは、SSDの容量が256GBに変更されています。

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

alt
圧倒的な低消費電力。個人的にはTDPが100Wを超えるようなモンスターCPUより、こういう静かに頑張るのが好みなんです。
APU2の「次」として、まずまず適当なスペックかと思います。

なおTDPが6Wクラスで4コアのCPUとしては、同じAtomアーキテクチャで上位のPentium Silver N5000があり、このあたりも狙い目となります。
CeleronのJナンバーやPentium Gold、Coreブランドなら演算性能はもっと上がりますが、TDPも一段高くなり今回の条件(後述)である「PC全体で10W以下」が難しくなるため候補から外しています。

alt
こちらはシステム情報。イーサネットのコントローラはRealtek製で、lightMPDの動作条件はクリアしていそうです。


【共通】インストール

lightMPDのバージョンは 1.2.0b2 を使いました。
ブートローダーのイメージは公式サイト掲示板のスレッド
「LIVA Z,LattePanda用のlightMPDを公開しました」、
パッケージはスレッド
「x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました」
にあるのでそれぞれダウンロードします。

ブートローダーのイメージをUSBメモリーに書き込み、パッケージのzipを上書き展開。設定ファイルをテキストエディタで修正して完了です。
手順はAPU2とほとんど変わりませんので、その時のブログもご覧ください。

異なるのは、BIOSの「Secure Boot」オプションを無効にしておくこと。これを設定しないとUSBメモリーから起動できません。起動の優先順位を変更しておくことも忘れずに。


【共通】設定

/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)"

alt
システムの全景です。ラズパイのMinimServerとPCをルーターに接続。PCにUSB-DAC(DACモードにしたDAPで代用)を接続。ルーターにWi-Fi接続したスマホから、UPnPコントロールアプリ(BubbleDS)で再生します。

設定したUSBメモリーをPCに挿入して電源ON。意外にあっさり動いてくれました。一晩連続再生させてみましたが安定しているようです。


消費電力測定

HeroBoxは消費電力10W以下をうたっていますが、現代のCPUはちょっと負荷をかけた途端に電力が跳ね上がるので実際にはどんなものか。
車載にあたって、APUで導入したオーディオ用リニア電源の
alt
UltraCap LPS-1.2 (UpTone Audio)

を使用したいので、その定格(DC12V 1.1A)内の電力で動作できるか確認してみます。
HeroBoxのDCプラグは外径5.5mm/内径2.5mmのセンタープラスでAPUと同じでした。電源ラインにワットチェッカーをはさんで計測します。

プリインストールされているWindows10では、起動時のピークで11W程度


起動完了後は3W程度に落ち着きました。


ベンチマークアプリ(PCMark 10)を動作させると、平均6~8W程度で推移しますが、ピークでは12Wを超えることもありました。


lightMPDでflac音源を再生させると6W前後、DSD/PCM変換再生させた時は10W程度となりました。

んー、ギリギリですなぁ。もう一声減らしたいところです。

Windowsをあきらめて、lightMPDでは使用しない内蔵SSDを取り外しました。
分解してマザーボードを取り出し、M.2スロットのSSDを撤去します。テープ貼りしてあるWi-Fiのアンテナなどを切らないよう注意。

やったぜ。
2Wほど消費電力が下がりDSD再生時でも8W程度になりました。(Wi-FiやBluetoothも外したかったのですがオンボード接続になっていて無理でした。)


今回はここまで。
なんとかリニア電源で駆動できそうなので、車載にトライしてみたいと思います。


ぬかったなぁ・・・

電源をつなげば即ブートするSBCと違って、12Vを供給しても電源スイッチを押さないと起動してくれません。ちゃんとしたPCらしいというか。
たいていはBIOSのAdvancedメニューにその設定があって、中華系PCならメニューは全開放されているだろうと踏んでいた(実際そういうレビューもネット上にはあった)のですが、自分が購入した製品ではAdvancedメニューは表示されませんでした。
車載では手の届くところに置けるとは限らずこれは痛い。なんだか最終コーナーでミスった気分です。無念。悔しい。ムキーーーッ!
・・・冷静になってBIOS設定を眺めたら幸いWOL(Wake On LAN)機能があったので、ワンアクション増えますがそっちで起動させるつもりです。
(2020/7/14追記)・・・つもりでしたがWOLも動作せず。BIOSメニューの件とあわせて問合せてみたところ「仕様」だということで、機種を変えてリベンジ編をアップすることになりそうです。




ネットワークオーディオ関係の記事をまとめてみました。よかったらこちらもご覧くださいませ。
ネットワークオーディオを楽しもう
Posted at 2020/07/09 22:55:29 | コメント(0) | トラックバック(0) | オーディオ | クルマ

プロフィール

「自分のブログの内容にどこぞの謎情報を混ぜられたものが「AIによる回答」として提供される。生成AIに利用された絵師の気持ちが理解できたと同時に、想像以上に信用ならねーなという思い。みんカラも学習拒否の設定させて欲しいぞ。」
何シテル?   06/08 05:24
「なかるー」改め「なかるう」、「う」は大きい「う」です。 音楽のあるドライブが好きです。いい音だったらもっと楽しいですよね。なのでいい音を追求してます。 更...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2020/7 >>

   1234
5678 91011
12131415161718
1920 2122 232425
262728293031 

リンク・クリップ

備忘 Passat Variant 11年14万kmの整備振り返り 
カテゴリ:その他(カテゴリ未設定)
2024/10/18 00:02:25
Ottocast A2AIR Pro 
カテゴリ:その他(カテゴリ未設定)
2024/06/18 03:24:43
柳楽光隆さんのメローなジャズのプレイリスト 
カテゴリ:その他(カテゴリ未設定)
2024/01/07 23:24:33

愛車一覧

フォルクスワーゲン パサート セダン フォルクスワーゲン パサート セダン
フォルクスワーゲン パサート セダン (DBA-3CCAX) に乗っています。 シトロエ ...
日産 ティーダラティオ 日産 ティーダラティオ
(2015/8)乗り換えのため手放しました。 日産 ティーダラティオ15G(DBA-S ...

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2023年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation