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

なかるうのブログ一覧

2026年07月04日 イイね!

ラズパイDSP化計画(実用化編)

ラズパイDSP化計画(実用化編)前回見つけたHQPlayer。難解な設定画面、情報は海外のフォーラムのみ、価格それなり…と敷居の高いアプリですが面白い使い方ができるので紹介します。
やりたかったのは「ラズパイで簡単にDSP!」だったのに、結果的にはかなり複雑なシステムになってしまいました…パフォーマンスは納得できるものです。










HQPlayerとは

HQPlayerは信号処理特化型のPC用再生アプリで、CPUもGPUもブン回してリッチなアルゴリズムの演算をゴリゴリ実行するマニア向け兵器?です。

その本質はアップサンプリングのフィルター処理にあり、
全てのソースを超高レートのDSDに変換することによりDAC内部のフィルター処理を回避、高精度なソフトウェア演算で置換して高音質を目指す
どうですか、「カクカクな波形を細かくする」みたいな子供騙しの説明よりご利益があるように聞こえません?マニアは勝手に曲解して納得してくれるので却って御しやすい、とはかの長岡鉄男先生のお言葉。曲解かどうかはご自身で判断をw

多くの高音質再生アプリがビットパーフェクトにこだわり、ノイズを減らすために処理を省く方向で工夫しているのとは対照的なコンセプトのアプリです。これのためにGeForceを買う人がいるという…知らない世界があった。

GUI付きのDesktop版と、ヘッドレスで使うEmbedded版があります。Windows・MacOS・Linuxに対応。単体利用の他、AudirvānaやRoonの再生エンジンにしたり、UPnP対応アプリ(mconnect Player・BubbleUPnPなど)から音源を流し込むことも可能です。

ラズパイでも(一応)動作可能なEmbedded版はDesktop版よりCPUの負荷が軽く、安定性や音質で期待できます。
ライセンス制で、未購入の場合はお試しモードとして連続30分だけ使用できます。

でもDSPのあるカーオーディオではDSDを受けられずDACの動作周波数もAKだろうがESSだろうが192kHzあたりで頭打ち。HQPlayerの魅力は半分も活かされないような気もします…


今回のテーマ

HQPlayerの公式サイトを眺めていると、こんな説明が。

alt

そう、HQPlayerはローカルファイルやストリーミングの再生だけではないんです。
最初の2つはオーディオインターフェースの機種名で、これにアナログやS/PDIF信号を入力、接続したPC上のHQPlayerで信号処理を施すというもの。
注目は3つ目で、USBのデバイス(ここではDAC)をエミュレートすることによりUSBオーディオ信号を「入力」できることを意味しています。つまり、USB in/USB outのDSPとしてアップコンバートや音響補正をかけることができると。
これは楽しい、超楽しい。

「デバイスモードのUSBポート」があるハードウェアはラズパイでは4以上およびZEROシリーズで、HQPlayerが動くスペックとなると4か5に限られます。インテルCPUではAAEONのUPシリーズに対応機がありますがディスコン。使いでのある機能なのでもう少し流行っても良いのでは。

いずれのCPUでも非同期のUSBオーディオを入出力2本同時処理するのは難しいようで、入力と出力のハードウェアを分ける分散構成が推奨されています。

alt
公式サイトにある説明図。これは出力部を分離した構成です。
演算能力の要求されるHQPlayerにPC、USB出力を行うNAA(ネットワークオーディオアダプター)には低消費電力のSBCを使いローノイズ動作させるという、オーディオ的にそそられるシステムです。NAAのアプリはHQPlayerの公式サイトで無償配布されています。

このNAAを入力アダプターとして使うのが今回の構成。2台のラズパイを入力専用(NAA)と演算・出力用(HQPlayer)に割り当てます。究極は入力/演算/出力の3台構成か。
alt
モニターやキーボードは初期設定が終われば取り外せます。
HQPlayerの真骨頂である高レートDSDへの変換を行うならラズパイでは力不足で、浮動小数点演算の性能が高いインテル系CPUとかCUDA対応GPUを使いたいところ。自分の車載DSPにはPCM96kHzで十分なのでラズパイで組んでみます。


使用ハードウェア

alt
Raspberry Pi 5 4GB
Raspberry Pi 4 Model B 4GB

HQPlayerにはラズパイ5、NAAにはラズパイ4を使いました。デバイスモードの動作は5より4の方が安定しているらしい。
ラズパイ5は「5V/5A」という最大消費電流が気になりますが実際に使ってみるとそこまで大食いでもなく、ケースを選べばファンレス運用も可能です。
HQPlayer OSのRAMは4GB以上推奨で、OSを自分で設定して他の再生アプリと同居させたりするなら更に必要です。一方NAAは2GBで良いそうです。

電源分岐アダプター

ラズパイでデバイスモードになるUSBポートは普段ACアダプターを接続するUSB-Cです。ここにスマホやPCをつなぐと電流が足りず起動できないため対策が必要です。電流容量の大きなUSBハブを挟んだり、自分が入手したのは
alt
Type-C Power And Signal Splitter(Waveshare)
NAAとして使うラズパイ4のUSB-Cポートにこれを挟みます。他にもケーブルタイプなどありお好みで。
(電流を吸わないはずの「PC」ポートにカメラアダプター経由でiPhoneを接続するとなぜか電力不足のエラーが出てしまい、さらにUSBハブを挟む必要がありました。)

モバイルルーターまたはイーサネットコンバーター

車載ではスマホとラズパイのネットワーク接続をどうするかが課題となります。HQPlayer OSではWi-Fiは公式サポート外のため、
alt
モバイルルーター(クレードルにLAN端子のあるもの)などを使用します。ただ車載で使える2.4GHz帯でハイレゾを安定再生するのは難易度が高く、ラズパイ同士は有線LANで接続します。
alt
LAN-GIGAC302BK(サンワサプライ)
alt
WI-UG-AC866(バッファロー)

自分はCarPlayと併用させたいので、ルーターの代わりにイーサネットコンバーターを使いました。
 スマホのUSB端子はオーディオ出力用
 →ディスプレイオーディオとはワイヤレス接続
 →ワイヤレスCarPlayはDAがアクセスポイントとなりルーターが使えない
 →スマホのテザリングを使用
 →イーサネットコンバーターでラズパイと接続
という理屈。コンバーターのLAN端子からハブ経由で2台のラズパイに接続します。ただしこの場合Wi-Fi側にMACアドレスを透過させられないためスマホからのUPnPは通りません。

ワイヤレスCarPlay使用時にWi-Fiを利用できるかどうかは環境(DAとスマホ)依存で、自分のDA7ZとiPnoneでは2.4GHz帯でテザリングできました。5.2GHz帯のテザリングは屋外(車内も屋外扱い)では法令違反となり、合法的にこの使い方ができるDAはアルパインだけかも。
CarPlayでUSBオーディオ


NAAのインストール

NAAから作成してゆきます。OS込みのイメージと、好みのOSにインストールするためのパッケージがあります。今回は簡単に使えることを示したいのでイメージの方をインストールし、設定もSSHコンソールとかLinuxのコマンド操作は極力避けてやってみます。
alt
PCのブラウザでHQPlayerの公式サイトを開き、イメージをダウンロード。
ダウンロードした拡張子7zのファイルからimgファイルを取り出し、microSDカードに書き込んで起動用ディスクを作成します。imgファイルのサイズは3GBほどだったので、microSDカードは4GBあれば十分。といっても今どき4GBなんて産業用の高耐久性モデルでも見かけなくなりました。大き過ぎても問題がありSDHC規格の32GB以下が無難です。

alt
書き込みアプリはRaspberry Pi Imagerが簡単です。


USBデバイスモードの有効化

NAAとして使うラズパイ4のUSB-Cポートをデバイスモードに設定します。この作業はキーボードとモニターを接続した「ローカルコンソール」で行います。

書き込んだカードをラズパイにセット、ケーブル類を接続します。ラズパイ4と5の電源はUSB-C、HDMIはmicroタイプで同じです。
ここではモニターの代わりに、PCにUSB接続するHDMIキャプチャーボード(右上、2,000円くらいで購入可能)を使いました。

alt
管理者rootでログイン(初期パスワード無し)。表示されるアダプター名を覚えておきます。

テキストエディタnanoで設定ファイルconfig.txtを編集します。
# nano /boot/config.txt 

USB-Cポートがホストモードに設定されているのを
dtoverlay=dwc2,dr_mode=host
#dtoverlay=dwc2,dr_mode=peripheral


1行目の頭に#を付けてコメントアウト、2行目の#を削除して有効化するとデバイスモードになります。
#dtoverlay=dwc2,dr_mode=host
dtoverlay=dwc2,dr_mode=peripheral


alt
Ctrl-O、ENTERで上書き保存、Ctrl-Xで終了

再起動
# reboot 

以上。NAAにはHQPlayerのようなWebブラウザによる設定はなく、全てHQPlayer側からコントロールできます。優れた設計です。


HQPlayer OSのインストール

続いてHQPlayer。こちらもイメージ版とパッケージ版がありイメージの方をインストールします。OSの設定はもちろん電源ブチ切りでファイルシステムが破損しないような対策も含まれており楽ちんです。

alt
HQPlayerの公式サイトからイメージをダウンロード。展開してimgファイルを取り出します。

alt
Raspberry Pi Imagerで4GB以上のmicroSDカードに書き込みます。完了したらカードをラズパイに挿して起動。ネットワークにも接続しておきます。


初期設定

ここから先はネットワーク経由での操作になります。
最初にラズパイ(HQPlayerをインストールした5の方)に割り当てられたIPアドレスを確認します。FingやWiFimanのようなアプリが便利です。
alt
Fingはこんな風に情報量が多く探しやすいのですが有料。WiFimanは無料の代わりにIPアドレス位しか表示されないので、ラズパイ起動前後のアドレスを見比べて増えたものを探します。

alt
ネットワーク上のPCでWebブラウザを開き、ラズパイのIPアドレス:8088にアクセスすると設定画面が現れます。

alt
最初にログを確認。HQPlayerとNAAが正しくネットワーク接続されていれば、NAAを発見したことが記録されているはずです。

alt
キーボードとモニターをHQPlayerのラズパイ5につなぎ変えてローカルコンソールを開きます。表示されなかったらWebUIから再起動。

rootでログイン。設定ファイル hqplayerd.xml を編集します。
# nano /etc/hqplayer/hqplayled.xml 

確認したNAAの名前でエントリーを1行追加します。
<input address="naa-xxxxxxxx" device="USB Audio (RPi4)" name="NAA-USB-In" type="network"/>
(<>は半角に変えてください)

alt
Ctrl-O、ENTERで上書き保存、Ctrl-Xで終了

再起動
# reboot 

alt
ブラウザでの設定に戻ります。
信号処理で必須の設定は「Configuration」画面にまとめられています。出力フォーマットをPCM、サンプリング周波数の上限を96kHzとします。それでもラズパイでは全てのアルゴリズムを動作させることはできず、負荷の軽いものを選ぶ必要があります。再生画面に表示される処理レートが2倍を下回るようだと不安定になります。
アルゴリズムについてはこことかこことかここが詳しく参考にさせてもらっています。ありがとうございます!

alt
「Speakers」画面。タイムアライメントを設定可能。

前回のブログの通り、HQPlayerはFIR演算による音響補正に対応しています。インパルス応答ファイルを指定する画面は2つあり、
alt
「Convolution」画面と
alt
「Matrix」画面。
通常は「Convolution」、チャンネルマッピングを変更する場合は「Matrix」のどちらか一方を使用せよとなっていますが、Convolutionは出力ステージ、Matrixは入力ステージでの処理となり動作周波数に違いがあります。以前作成した位相補正用のIRファイルを設定しました。
DSPの位相回転をFIRフィルターで補正してみる


USB再生設定

このシステム最大の難点かも。USB入力の開始を起動時に毎回操作する必要があります。このためだけにネットワーク接続とブラウザ…


「Input」画面で、追加したエントリー名を選択


「Select」するとメイン画面に戻り再生中状態となります。この状態で上流の機器で再生開始すると音が出ます。
USBホスト側にLinuxマシンを接続しUSBオーディオデバイスとしての仕様を確認しました。
alt
32bit/384kHzまで対応しており入力側としては十分なスペックです。DoP形式によるDSD入力にも対応。


スマホ側の設定

設定らしいことは特になくUSBオーディオを出力できるアプリなら何でも、普通にDACやポタアンを使う手順で使えます。


ライセンス購入

一通り動作を確認できたら、公式サイトでライセンスを購入して30分の利用制限を解除します。
購入にはインストールしたHQPlayerのID情報が必要です。「About」画面にある「Fingerprint」の文字列をコピー、購入ページに入力して支払います。後日メールで送られてくるキーファイルを「Key」画面でアップロードすると登録完了。

ハードウェア変更を行うとフィンガープリントが変わるため、メールでのライセンス更新手続きが必要です(同一メジャーバージョンなら無料)。
都度手続きするのが面倒なら、キーファイルとフィンガープリントのセットを物理的なUSBドングルとして購入することもできます。この場合はハードウェアが変わってもドングルを挿し替えれば利用可能となります。


車載!

電源部分は以前のまま。タイマーリレーによる遅延起動回路を使用し、イグニッションが終了してから電源ONとなるようにしています。そういえば今どきの電動車やハイブリッド車ならこんな工夫は不要になったのでしょうか。

シガーソケットからの12Vをタイマーリレーに接続、DC/DCコンバータで約6Vに落としリニア電源に入力。クリーンな5Vをラズパイに供給しています。




ひとまず完成。USB入力を備えたことでラズパイがDSPらしく使えるようになりました。
HQPlayerの特徴として、処理は音源のサンプリング周波数で行われます。音質的にはメリットとなる一方、初期化に時間がかかるのか周波数が変わると直後の出だしの音が途切れます。入力レートを固定すれば防ぐことはできるもののそれはもったいない…とりあえずプレーヤー側で曲間のディレイを設定して対応。

HQPlayerの価格は現在のレートで6万円ほど。それだけあれば普通にDSP買えるやん!となりますが、スマホやプレーヤーのUSB出力にラズパイをちょこんと挟むだけ(だけ?)でハイエンドクラスのDSPに匹敵する演算性能を追加できます。しかも「可変レートDSP」は、少なくとも車載製品には存在しないと思います。

個人的には位相補償を導入したためにプレーヤーとしてAudirvānaしか使えなくなったのが面白くなかったので、アプリを選ばず音響補正をかけられるのが気に入りました。
関連情報URL : https://signalyst.com/
Posted at 2026/07/04 14:48:34 | コメント(0) | トラックバック(0) | オーディオ | クルマ

プロフィール

「ふーん、AIも役に立つことがあるのね(誉め言葉)」
何シテル?   07/03 00:14
「なかるー」改め「なかるう」、「う」は大きい「う」です。 音楽のあるドライブが好きです。いい音だったらもっと楽しいですよね。なのでいい音を追求してます。 更...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2026/7 >>

   123 4
567891011
12131415161718
19202122232425
262728293031 

リンク・クリップ

リゾルト SRC(リモコン)整備 
カテゴリ:その他(カテゴリ未設定)
2026/04/19 10:20:05
オーディオ最近やったこと(の測定編) 
カテゴリ:その他(カテゴリ未設定)
2026/02/09 10:50:32
なぜ夜間運転用の黄色いメガネは効果がないのか? 
カテゴリ:その他(カテゴリ未設定)
2026/01/24 03:02:03

愛車一覧

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

過去のブログ

2026年
01月02月03月04月05月06月
07月08月09月10月11月12月
2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
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