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

なかるうのブログ一覧

2026年08月01日 イイね!

ラズパイDSP化計画(実用化編もーいっかい)

ラズパイDSP化計画(実用化編もーいっかい)前回製作したHQPlayer EmbeddedによるラズパイDSP。「USBで入出力できるFIR演算対応DSP」とは素晴らしい!と一人盛り上がったのですが、「実用化編」として作ったのに実用的でなかったのでやり直し。










前回のシステム

alt
HQPlayerは特定のハードウェアでUSBオーディオを「入力」できます。ただし入出力2本を同時処理するとサンプリング周波数の切り替え時に不具合が起きやすく、入力と出力のハードウェアを分ける分散構成が推奨されています。
入力のサンプリング周波数を固定すれば1台で安定動作しますが、それは自分の求めるものではなく。愚直に推奨通りの構成を作って車載運用したら…やはり面倒過ぎましたw
何とか1台で実行できないかと設定を詰めてみましたが納得できる完成度にはならず。USB入力はあきらめ、普通にネットワークプレーヤー(ローカル再生も可)として使うことにします。
(追記)1台のラズパイ5でUSB入力を利用する設定を末尾に記載しました。

USBデバイスモードについては対応機種が少ないためかLinuxのサポートも薄く、HQPlayer開発者のJussiさん曰く「楽観視はしていない」との見立てですが、便利なのでもっと対応ハードやアプリが増えると良いですね…


DSP用プリプロセッサーという考え方

alt

車載DSPを使っていてずっと気になっているのが、DSPの処理周波数は入力ソースによらず常に一定であること。ハイエンド機で処理周波数やビット数こそ上がってもこの仕組みは変わりません。そんなんでいいのか?

自分のDSPアンプの場合、96kHzでUSB入力時のみ内部のASRC(非同期サンプルレート変換)がバイパスされ、他の周波数・ソースでは必ず変換が入ります。ならばDSPの前段で内蔵ASRCを超える精度で96kHzに揃えてやれば音質的に有利なのでは、という発想です。
ソフトウェアによるアップサンプリングにはAudirvānaで手応えを感じたので、本格的にDSPのための「プリプロセッサー」として使えるものを目指します。

リゾルトの本国サポートに質問してみたところ
「うちのASRC優秀なんで。下手な外部変換休むに似たり」
との回答(意訳)でした。その返し、分かってるねー!と感心したのと、じゃあHQPlayerならどうだと。

なお、DSPの処理周波数と揃えて入力することがベストかどうかはケースバイケースです。ASRCをバイパスしない機種などは、88.2kHzや176.4kHzで入れた方が良い結果となる可能性もあるので試してみてください。


使用ハードウェア

alt
Raspberry Pi 5 (4GB)

HQPlayerは演算リッチなアルゴリズムを多数搭載しており、複雑なDSD変換などは最新のデスクトップPCでも処理し切れずGPUオフロードを必要とする重量級アプリです。
とはいえ、それはPCM1536kHzとかDSD1024といった高レートへの変換を行う場合のこと。192kHzあたりまでのPCM限定でアルゴリズムを選べばラズパイ5でも動作可能であることがわかりました。音響補正用のFIR演算も行いながらHQPlayerらしい高音質なフィルターもある程度選択可能、というラインを狙えます。

・入力:PCM44.1kHz〜192kHz
・出力:PCM96kHz(または88.2kHz)固定

カーオーディオなら問題ない制約でしょう。HQPlayerでこんなもったいない使い方をする人はいないかもしれませんが。

alt
インストール時の構成です。今回はコンソール操作も排除したので、キーボードやモニターは無くてもなんとかなります。


HQPlayer OSのインストール

alt
HQPlayerにはGUIありのDesktop版とヘッドレスで使うEmbedded版があり、EmbeddedはOS込みのイメージ(HQPlayer OS)としても配布されています。公式サイトからイメージ版をダウンロード。最新のHQPlayer6のハードウェアからはSSE4.2対応x64やラズパイ4が落とされ少し厳しくなりました。

alt
7z圧縮を展開して取り出したimgファイルをmicroSDカードに書き込んで起動用ディスクを作成します。imgファイルのサイズは3GBほどだったので、microSDカードは4GBあれば十分。といっても今どき4GBなんて産業用の高耐久性モデルでも見かけなくなりました。大き過ぎても問題がありSDHC規格の32GB以下が無難です。


初期設定

ここから先はネットワーク経由での操作になります。
最初にラズパイに割り当てられたIPアドレスを確認します。FingやWiFimanのようなアプリが便利です。
(コンソールにrootでログインしifconfigコマンドでも確認可能)

alt
Fingはこんな風に情報量が多く探しやすいのですが有料。WiFimanは無料の代わりにIPアドレス位しか表示されないので、起動前後のアドレスを見比べて増えたものを探します。

alt
ネットワーク上のPCでWebブラウザを開き、IPアドレス:8088にアクセスすると操作画面(WebUI)が現れます。

alt
HQPlayerの心臓部。信号処理で必須の設定は「Configuration」画面にまとめられています。出力モードをPCM、サンプリング周波数を固定します。
処理のアルゴリズムも負荷の軽いものに変更。再生画面に表示される処理レートが2倍を下回るようだと不安定になります。またフィルターによっては非整数倍の設定(44.1kHz/96kHzなど)では出力できないものがあり、不適切な設定を行うと割と簡単に無応答・起動不能になるので注意。画面右上「Auto Rate Family」をONにするとCD音源やDSDは44.1kHzの整数倍で出力します。
フィルター選択は再生画面にもあり、そちらは電源OFFで元に戻る一時的なものとなるので、動作確認に利用できます。
アルゴリズムについてはこことかこことかこことかここが詳しく参考にさせてもらっています。ありがとうございます!

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

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


アプリ選択

ご覧の通りWebUIはまぁアレなんで設定専用と考えて、普段の再生操作は別のアプリを使います。ホームオーディオではRoonやAudirvānaの出力先とする事例が多いようです。
対応するコントロールアプリの一覧が公式サイトにあり、クルマで使えそうなものをピックアップしてみました。

BubbleUPnP mconnect
Player
HQPDcontrol
v4
JPLAY
対応OS Android Android
iOS
Android
iOS
iOS
UPnPコントロール
UPnPサーバー
HQPlayerローカル再生
HQPlayerフィルター選択
ストリーミング Qobuz
TIDAL
Qobuz
TIDAL
HRA Qobuz
TIDAL
HRA
CarPlay/
Android Auto
CarPlay

前2つは汎用UPnPアプリ、後2つはUPnPにも対応するHQPlayerネイティブアプリといった感じ。機能が違うので、やりたい事で選択できると思います。

QobuzとHQPlayerローカル再生ができてCarPlayにも対応する(!)JPLAY for iOS。もちろんHQPlayer使用中ディスプレイオーディオから音声は出ませんが表示はこの通り可能でした。
HQPlayerとJPLAYなんて、PC版を知っている人から見れば気難しいアプリ頂上決戦みたいな組み合わせが意外にも安定しており操作性も優れています。

alt
「どこの音源を」「どこから出力させる」か自在にコントロールできるのはネットワークオーディオの醍醐味です。あまり見かけないIPアドレスはiOSのテザリングによるもの(後述)。


再生方法1(UPnP)

UPnPレンダラーとしての使い方。MinimServerなどから再生させたり、UPnPサーバー機能をもつアプリなら楽曲をスマホ内に置くことも可能です。Qobuzの再生もこの仕組みを利用します。
ただし車載で利用可能な2.4GHz帯のWi-Fiでは帯域上、ハイレゾロスレス音源の安定再生は難易度が高くなります。


再生方法2(ローカル再生)

HQPlayerはローカル再生にも対応します。
楽曲ファイルを保存したUSBメモリー(exFAT形式)をラズパイに接続すると自動で/run/mediaにマウントしてくれました。再生中の電源OFFは避けた方が良く、車載運用にはスマホをUPnPサーバーにする方が安全、とは思いつつDSDを含め手持ちの音源を全て安定再生できるので自分は使ってます。

alt
最初に「Library」画面でスキャンを行います。1TB弱のライブラリを登録するのに丸2日以上かかりました…まあ最初だけなので良しとしましょう。「Backup」画面で実行できるデータベースのバックアップは必須。
次回からは差分だけ登録できます。


電源OFFについて

HQPlayer OSはWebUIでの設定変更(Applyボタンを押した時)と楽曲データベース更新時以外は基本的にSDカードへの書き込みを行わず電源断にはある程度耐性があるものの、完全なシャットダウンフリーではありません。
乱暴にエンジンOFFで落としても今のところ問題は起きていませんが、不安ならWebUIにあるシャットダウンか、ラズパイ5の電源ボタンを使えば万全です。

電源断対策としてoverlayrootを組み込んだりUSBストレージをroでマウントするなら、HQPlayer OSでなくパッケージ版のHQPlayer Embeddedを使いOSを自分で設定する必要があります。
OS込みのイメージはそのような設定が出来ない代わり焼き直すのは簡単、加えてOSの音質的なチューニングもされているようなので、今回はバックアップのカードを作っておくだけにしました。


ライセンス購入

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

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


車載!

タイマーリレーによる遅延起動回路を使用し、イグニッションが終了してから電源ONとなるようにしています。そういえば今どきの電動車やハイブリッド車ならこんな工夫は不要になったのでしょうか。
alt
シガーソケットからの12Vをタイマーリレーに接続、DC/DCコンバータで約6Vに落としリニア電源に入力。クリーンな5Vをラズパイに供給しています。
この使い方のラズパイ5は思った以上に低消費電力で、2Aのリニア電源で動きました。

ネットワーク接続はスマホのテザリングとイーサネットコンバーターを使いました。今回はLAN接続が1台なのでコンバーターをMACアドレス透過モードで使うことができ、UPnPが通ります。
alt
WI-UG-AC866(バッファロー)
USB端子はデータ用ではなく電源供給専用です。

エンジン始動後、次の順序で立ち上がるよう調整しました。
→スマホとDAをワイヤレスCarPlayで接続(自動)
→スマホのテザリングON(iOSのショートカット)
→イーサネットコンバーター接続(自動)
→ラズパイ起動(12Vタイマーリレー)




以上、今回は常用可能なものになったかな。

欲を言えば、もう少し演算能力の高いインテル系CPUを使ってHQPlayerの高コストなフィルターも試してみたいのですが、調子に乗ってライセンスを何回も更新していたら年間の変更回数が上限に達したと言われてしまったので今年はここまで。
alt
UP squared Pro 7000 edge(AAEON)
Core i3-N305搭載。

alt
LattePanda Sigma(LattePanda)
Core i5-1340P搭載。




(2026/8/15追記)
以下の設定でPCM192kHzまで/DSD128まで/出力96kHzの安定再生を確認できました。96kHz/16384タップのFIR演算も併用できています。
 ・PCM (1x):poly-sinc-gauss-long ※44.1/48kHzの音源に適用
 ・PCM (Nx):poly-sinc-gauss-hires-mp/lp/ip ※88.2kHz以上の音源に適用
 ・Dither:TPDF
 ・DSD-PCM変換:poly-short-mp/lp
PCM系はまだ余力があり、DSD-PCM変換は限界が近い感じです。
これ以上の極厚フィルターで非整数倍の周波数比に対応するものは多くないので、今回の用途にはラズパイ5で必要十分かもしれません。




(追記)USB入力も使う

入力のサンプリング周波数が固定であれば、1台のラズパイ5でもUSBオーディオ入力を安定して利用可能です。HQPlayerでは再生できないSoundCloudやらじるらじるなどを聴きたいこともあるので、使えるようにしました。

電源分岐アダプター
ラズパイでデバイスモードになるUSBポートは普段ACアダプターを接続するUSB-Cです。ここにスマホやPCをつなぐと電流が足りず起動できないため、このような分岐アダプターを使います。
alt
Type-C Power And Signal Splitter(Waveshare)

「デバイス」ポートにラズパイ、「Power」ポートに電源、「PC」ポートにスマホなど再生機器を接続します。「PC」ポートは電流を吸わないはずですが、カメラアダプター経由でiPhoneを接続すると電力不足のエラーが出たのでセルフパワーのUSBハブを挟みました。

USBデバイスモードの有効化
ラズパイ5のUSB-Cポートをデバイスモードに設定します。
ローカルコンソールに管理者rootでログイン(初期パスワード無し)。設定ファイル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


Ctrl-O、ENTERで上書き保存、Ctrl-Xで終了してから再起動
# reboot 

USB再生設定
WebUIの「Input」画面で「USB Audio(RPi5)」を選択すると「Playing」状態となり、スマホなどで再生すれば音がでます。「Stop」操作でUSB入力が終了しネットワークプレーヤーに戻ります。
Posted at 2026/08/01 20:59:51 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2026年07月04日 イイね!

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

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










(2026/8追記)
やり直しました。こちらの方が簡単に使えます。

ラズパイ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ポートをデバイスモードに設定します。この作業はキーボードとモニターを接続した「ローカルコンソール」で行います。
alt
書き込んだカードをラズパイにセット、ケーブル類を接続します。ラズパイ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は入力ステージでの処理となり動作周波数(=CPUの負荷)に違いがあります。以前作成した位相補正用のIRファイルを設定しました。
DSPの位相回転をFIRフィルターで補正してみる


USB再生設定

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

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

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


スマホ側の設定

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


ライセンス購入

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

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


車載!

電源部分は以前のまま。タイマーリレーによる遅延起動回路を使用し、イグニッションが終了してから電源ONとなるようにしています。そういえば今どきの電動車やハイブリッド車ならこんな工夫は不要になったのでしょうか。
alt
シガーソケットからの12Vをタイマーリレーに接続、DC/DCコンバータで約6Vに落としリニア電源に入力。クリーンな5Vをラズパイに供給しています。




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

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

個人的には位相補償を導入して以来プレーヤーとしてAudirvānaしか使えなくなったのが面白くなかったので、アプリを選ばず音響補正をかけられるのが気に入りました。




(2026/7/12追記)
1週間ほどカーオーディオで使ってみました。音質は良好、使用開始の手順が超面倒…なのは分かっていたこととして、上記のサンプリング周波数切り替え時の挙動を含め安定性に少し難があるのを何とかしたいところ。高速走行中などエラーが起きたらどうしようもないのでね。
alt
Geminiさん(信用できそうなスレをいくつかインプット)はインテル系ハードをおススメしてくるが、さてどうしたものか。
関連情報URL : https://signalyst.com/
Posted at 2026/07/04 14:48:34 | コメント(0) | トラックバック(0) | オーディオ | クルマ
2026年05月11日 イイね!

ラズパイはハイエンドDSPの夢を見るか

ラズパイはハイエンドDSPの夢を見るか高音質再生アプリAudirvānaの最新バージョンで畳み込み演算(コンボリューション)など信号処理機能が追加されました。Audirvānaは5.1chや7.1chといったマルチチャンネルオーディオにも対応しているので、車載DSPばりのマルチウェイシステムが作れるのでは?と実験してみました。









目標仕様

カーオーディオ用FIR型DSPの演算性能を調べてみると
・RS-A9X:44.1kHz/総計80kタップ
・ETN-1:192kHz/240kタップ(全帯域)
このくらいなので、以下の目標とします。ラズパイでどこまで迫れるか。
・チャンネル数:8
・サンプリング周波数:192kHz
・タップ数:32768タップ(chあたり)


システム構成

alt

Audirvāna
サブスクのStudioと買い切りのOriginがあります。Windows・Mac・Linuxで動作し、Studioは音楽配信サービス(日本ではQobuzのみ)に対応します。信号処理エンジンは結局Originでも使えることになったようです。

マルチチャンネルオーディオデバイス
家庭用ならHDMI搭載AVアンプが一般的。車載ならDSPアンプのアナログ入力にマルチチャンネルのUSB-DACを接続するのが現実的かと。この手の構成ではアプリがバグってノイズを出す可能性を排除できず、ボリューム制御がアンプかDACにあると安心ですし最低限のツイーター保護用HPFも欲しいので。
alt
DM7(Topping)※販売終了

alt
e38(exaSound)※販売終了

オーディオ用のマルチチャンネルDACが無くなっています。映画のサラウンド再生くらいしか流行ってないから仕方無いか…

alt
Fireface UCX II(RME)

alt
UltraLight mk5(MOTU)

仕様的にはDTM用のオーディオインターフェースが使えそうです。とはいえ結構な値段なので、今回はお試し用に数千円で買えるサラウンド用のDACを入手しました。
alt

USBオーディオデバイスの仕様確認はLinuxのこのコマンドが便利です。(cardの番号は環境依存なので適宜変更してください)

7.1chの設定があり、8ch出力の動作確認用に使えます。


Audirvānaを試す

このまま5.1chや7.1chの音源を再生することは普通にできますが、チャンデバとして使うには2chステレオを各チャンネルに振り分ける必要があります。

alt
車載用DSPの設定画面。「ルーティング」と呼ばれるこの機能は、AudirvānaではConvolver Configuration Fileという畳み込み演算用の設定ファイルを記述することで行えます。

CCFの解説はこちら
入力チャンネルをルーティングし、ゲイン調整・演算を施し、出力する一連の動作を表現できます。なおチャンネル間のMixはAudirvānaではサポートされないとあります。
以下のような設定ファイル(拡張子は.cfg)を書いてみました。

192000 2 8 0 
0 0 
0 0 0 0 0 0 0 0 
192k_32768_ch1.wav 

0.0 
0.0 
192k_32768_ch2.wav 

1.0 
1.0 
192k_32768_ch3.wav 

0.0 
2.0 
192k_32768_ch4.wav 

1.0 
3.0 
192k_32768_ch5.wav 

0.0 
4.0 
192k_32768_ch6.wav 

1.0 
5.0 
192k_32768_ch7.wav 

0.0 
6.0 
192k_32768_ch8.wav 

1.0 
7.0 


説明はGeminiさんに投げますw
『このファイルは、「192kHzのステレオ信号を受け取り、Lchを偶数番(0,2,4,6)、Rchを奇数番(1,3,5,7)の出力チャンネルへ、それぞれ異なる8つのIRファイルを適用しながら分岐出力する」という動作を記述しています。 』
だそうです正解。

設定ファイルとインパルス応答ファイルをラズパイに転送、Audirvānaに登録して再生。

この通りDACは7.1chとして認識されていますが、音声はフロント2chしか出力されませんでした。cfgファイルで指定しても、音源と同じチャンネルしか処理しないようです。アップデートに期待してしばらくウォッチすることにします。

なおAudirvānaは3.0になる前からVSTプラグインに対応しており、サードパーティ製の畳み込みエンジンでは今回のような使い方が可能ですが、現時点でLinuxは非対応となっています。


HQPlayer Embeddedを試す

これで終わり…では悔しいので、ラズパイで8chの畳み込み演算ができる環境を探してみました。
HQPlayerは信号処理特化型のPC用再生アプリで、CPUもGPUもブン回して演算リッチなアルゴリズムのアップサンプリングやDSD変換をゴリゴリ実行するマニア向け兵器?です。これのためにGeForceを買う人がいるという…知らない世界があった。
ライセンス制で、未購入の場合はお試しモードとして30分だけ使用できます。(再起動で復活)

ヘッドレスのLinux環境で動作するEmbedded版が出ており、UPnPのレンダラーとなるのでAudirvānaの再生エンジンとして使えます。Roonとの組み合わせ事例も多いようです。mconnect Player、BubbleUPnPなどスマホアプリからサブスク音源を流し込むこともでき、案外ラズパイ車載のダークホースかも。

Embedded版はインテル系とARMに対応、ラズパイは5推奨ですが4でやってみます。GPUオフロードを使えないラズパイでもPCM192kHz程度の処理ならいけるんじゃないかと。
OS込みのイメージとHQPlayer単体のパッケージがあります。こちらの手順でパッケージをAudirvānaのラズパイに追加インストール。設定はWebブラウザでラズパイのIPアドレス:8088にアクセスして行います。

メイン画面。プレイヤーというより…開発ツールですか?普段の操作は他のアプリで行うことを想定しているようです。


信号処理で必須の設定は「Configuration」画面にまとめられています。SDMはシグマデルタ変調つまりDSDのこと。フィルター(PCM音源用アップサンプラー)やモジュレーター(DSD音源用ノイズシェーパー)の選択肢が山ほどあり、最適値に辿り着ける気が全くしないので放っておきますw
画面の右上、チャンネル数とDSPのパイプライン数をDACのチャンネル数に合わせます。


続いて「Matrix」画面でルーティングとインパルス応答ファイルを指定します。別に「Convolution」画面もありますが、ルーティングする場合は畳み込み演算もここで設定せよとマニュアルにありました。


設定できたら、Audirvānaの出力デバイスをUSBからHQPlayerに変更して再生。無事8chの音声出力ができました。


FIR演算の性能を確認する

クロスオーバー用のインパルス応答の作成アプリがminiDSP社のサイトで紹介されています。
今回は前回作成した位相補正用のインパルス応答を使いました。(FIR演算の負荷はタップ数とサンプリング周波数で決まり、処理の内容では変わりません)

タップ数を変えて再生可否を確認。画面はS-TUIによるCPU負荷状況です。(緑色の棒グラフ)

192kHz、タップ数8192、8ch出力:正常


192kHz、タップ数16384、8ch出力:正常


192kHz、タップ数32768、8ch出力:正常


192kHz、タップ数65536、8ch出力:正常

ラズパイ4(CM4S/8GB)でこの程度。負荷は重くても音声は途切れることなく再生されました。ラズパイ5やインテルCPU搭載SBCなら余裕をもって対応できそうです。もちろんアナログ回路あってのDSP、これだけでハイエンド製品を超えた!なんて事は言えませんが演算に限れば予想以上にいけますね。

今後のDSPアンプにはUSBマルチチャンネル入力を標準装備してくれないかしら。DSPはボリュームとツイーター保護など最低限の処理や便利機能に絞って、キモの音響処理は外部のCPUでいくらでもブースト可能!ってどうでしょう、ぼくのかんがえたさいきょうの(略)
そのうちスマホでもいけるかもしれませんし。



(2026/6追記)
Audirvānaがバージョンアップ。やりたかったことができるようになった?




(2026/8追記)
HQPlayerの車載運用を始めました。当初考えていたDSPそのものの代わりとしてではなく、既存のDSPにアドオンする形で音質アップを狙いました。
ラズパイDSP化計画(実用化編もーいっかい)
Posted at 2026/05/11 21:29:43 | コメント(1) | トラックバック(0) | オーディオ | クルマ
2026年03月28日 イイね!

DSPの位相回転をFIRフィルターで補正してみる

DSPの位相回転をFIRフィルターで補正してみる多くのDSPではクロスオーバーやイコライザーの演算アルゴリズムとしてIIR方式が用いられており、スロープ部分で位相回転が発生します。DSPの前段にFIRフィルターを設けることにより、その補正を試みました。

ラズパイのような低価格のハードウェアでも結構なTAP数のFIRフィルターが実現できることがわかったのが前回のブログで、それから2か月。みん友さんのブログなどを読み返しながらようやく通しで使えるようになりました。まだまだ見直すことはありそうですがいったんブログアップします。

REWとrePhaseによる音響補正は自由度が高く、聴感で調整すると確実に沼にハマります。人間には感知されにくいといわれる位相変化だけに間違ったことをして悦に入ってしまう可能性も否定できず、ある程度は理詰めで追い込み最後に聴感で確認する手順をオススメします。



どうしたいのか

alt
現在のシステム図(一部虚偽あり)。主要帯域をフルレンジで担っておりクロスオーバーの影響を受けにくい構成ではありますが、イコライザーはホームオーディオの感覚より積極的に使われています。以前使っていたデジコアがFIR方式(正確にはハイブリッドFIR)で、IIR方式のリゾルトにして特段ビハインドを感じているわけではない、というか十分満足しているものの位相への影響は確かめたいと思っていました。

オーディオでf特といえば「振幅の」f特性、つまり周波数毎の音圧レベル(SPL)ですが、本来は振幅と位相がセットで初めて系の挙動が明らかになります。とはいえ位相特性の方は難しそうですよね。まずは何をするのかはっきりさせます。

システムのインパルス応答をフーリエ変換すれば振幅および位相特性になり、逆に求める特性を逆フーリエ変換して得られるインパルス応答をソースに畳み込めば任意のイコライジングができます。この原理で振幅特性と位相特性を互いに影響することなく調整できるのがFIRフィルターのメリットです。
自分の場合はショップでDSPをいい感じに設定してもらってあるので、振幅特性には手を付けず位相だけを補正します。

タイムアライメントがとれたシステムであればスピーカーから発した音が耳に届くまでの時間は周波数に対して一定で、波長は周波数に反比例するので、理想的な位相のグラフは周波数に対して直線的に右下がりとなるはずです(グラフの傾きは遅延量=距離を表すので問題ではありません)。この状態「線形位相」を目標とします。




「測定しろ。話はそれからだ。」

測定アプリは定番のREW、みんな大好きFrieve-Aさんの動画が具体的でわかりやすいです。

【オーディオ】無料のソフトREW:Room EQ Wizardでお手軽音響測定!


わかりやすいとはいえ、REWは非常に多機能で全ての設定方法を解説してくれているわけでは当然なく。デフォルトのままでもとりあえず測定できるようにはなっているようですが自分は知らない設定があるのは不安で・・・測定関連の項目だけでも公式ヘルプの精読を。
REW Help Contents

昼間の車内で測定してみたところ「ノイズフロアが高い」と警告が出ました。可能ならひと気のない夜間の駐車場で道路から離れた場所などを選んで、もちろんエンジンやエアコンはOFFで行うのが良いでしょう。バッテリー上がりには注意。トナラーさんや職質に遭遇しても切れたりしないw

alt
UMM-6(Dayton Audio)

マイクは必ず測定用の(=無指向性で特性がフラットな)ものを用意します。USB接続の機種ならオーディオインターフェース不要で便利です。
DSPアンプのUSBオーディオ入力にPCを接続しテストトーンを入力。PCのみで測定系が完結しました。
(2026/4/12追記)USBオーディオは非同期インターフェースが主流で、マイクや出力にUSBを使う場合はクロックレベルでの入出力の厳密な同期がとれません。REWにはこれを補正する設定があります。

GoProのような動画カメラをヘッドレストに固定するためのマウントアダプターがあり、マイクの固定用にいい感じで使えました。
カーオーディオでは左右の音響特性に差があるため補正もチャンネルごとに行います。マイクを左耳の位置に固定し、左チャンネルのみ音を出して測定、右チャンネルも同様に測定します。測定音量は簡易的にスマホの音圧計アプリで86dB(C)に設定しました。

(2026/4/12追記)「Use Acoustic Timing Reference」という設定を使うと、測定音の前に短いマーカー音を出力します。マーカー音だけを別のスピーカーから出力させることによりタイムアライメントの測定などに使えますが今回の用途では不要です。




補正カーブ作成

測定データを家に持ち帰り、補正用のインパルス応答を作成してゆきます。
alt
生データはこのように周波数に対して激しく変動しています。(垂直の直線は表示上±180度で折り返しているためなので問題ではない)
繰り返し測定してもほとんど変わらず、再生系よりは車室内の特性=マイクの位置(反射波・定在波)による影響が大きそうです。測定ポイントを変えて複数測定し、平均化する手法が提案されていますが、位置を正確に固定するのが難しいので今回はパス、1/6オクターブ程度のスムージングをかけました。
(2026/5/7追記)スムージングは±180度の折り返し表示を解除してから行います。
alt

alt
UMA-16(miniDSP)
格子状の各点に4x4=16個のマイクが仕込まれたマイクロフォンアレイ。こんなのを使うと再現性高く測定できるかもしれません。
車室内での測定のためのマイク技術

alt
目標とする位相カーブはREWで簡単に算出できます。「Minimum Phase」がそれです。

alt
同時に作成される「Excess Phase」は測定した特性と「Minimum Phase」の差分です。これを打ち消すように補正を行えばよいことになります。「Excess Phase」をテキストファイルとしてエクスポート。REWでの作業はここまでです。



インパルス応答の作成

インパルス応答の作成にはrePhaseというアプリを使います。REWといいrePhaseといい、こんな優れたソフトウェアが無料で使えるのはありがたい。
原理的には、求める振幅と位相特性があればそれを逆フーリエ変換してインパルス応答を作れるはずですが、rePhaseではグライコのように手動で調整する操作系となっています。補正の「さじ加減」を自由にできるので、慣れればこの方が使いやすいと思います。

alt
REWでエクスポートした「Excess Phase」をrePhaseで読み込んだ状態。「Ranges」タブで表示範囲を調整して全体を表示させます。

alt
このあと使う位相補正機能の補正範囲は±180度までで、測定値がこの範囲を超えていたため最初に「Filters Linearization」のタブを使って粗調整しました。クロスオーバーによって生じる位相変化を補正するためのもので選択できるのはLinkwitz-Riley方式のみとなっています。自分のDSPはLRではありませんがFIRにはLRもバターワースもなく、あくまでLRの特性に寄せた補正を行うものなので他の方式でも使うことは可能です。周波数とスロープをカット&トライして概ね100Hz〜10kHzの位相特性を±180度の範囲に収めました。
(2026/4/3追記)最低域の位相は同じタブにある「Box」の項目で補正できます。
(2026/4/9追記)「Minimum-Phase Filters」のタブにあるAll-Passフィルターも位相補正に使えます。

alt
「Paragraphic Phase EQ」タブに移り、上の補正で生じた過不足を微調整します。細かい上下動は無視して全体がゼロ中心に均等に振れるようざっくり整えました。追い込むならその前に測定の不確かさを改善したいところで、ここは課題とします。
100Hz以下は振幅特性に影響が出たため、また10kHz以上は補正しきれず断念。この領域は自分のシステムではちょうどサブウーファーとツイーターの守備範囲なので、DSPのタイムアライメントで調整すべきかもしれません。ただ10kHzの波長は約3cm、小首を傾げただけで360度回ってしまうような位相の補正を頑張る必要はない気もします。

調整が終わったら「generate」ボタンでインパルス応答として書き出します。Audirvānaで利用可能な32bit浮動小数点のwav形式を選択、タップ数やサンプリング周波数は任意に設定可能です。

(2026/4/5追記)インパルス応答ファイルを生成すると、その生成条件での実際の振幅・位相特性が表示されます。特に低域のイコライジングにはタップ数が必要で、狙った位相カーブとずれが生じたり振幅カーブが曲がる場合はタップ数を(2倍とかに)増やすと改善できます。演算量は増えるのでFIRフィルターを実行するCPUの能力との兼ね合いになります。

LとRのインパルス応答ができたら波形編集ソフト(自分はSound Forgeを使用)で合成、ステレオのwavファイルにして完成です。



FIRフィルター適用

畳み込み演算はベータテストが終了し正式リリースとなったばかりのAudirvāna Studio 3.0を使用。ストリーミング再生とともにサブスク制のStudio専用機能となっています。(2026/5修正:買い切り制のAudirvāna Originでも使えることになったようです)
alt
作成したインパルス応答ファイルを転送・読み込みます。サンプリング周波数ごとに登録できます。
サンプリング周波数が2倍の音源で同じ低域まで補正しようとするとタップ数も2倍になり、従って1秒あたりの演算量は4倍必要となります。ラズパイ4では192kHz音源の32768タップ程度であれば問題なく処理可能でした。

Audirvāna関連ブログはこちら
AudirvānaでQobuz(自体は簡単だけど車載が大変だった話)その1再
AudirvānaでQobuz(自体は簡単だけど車載が大変だった話)その3
オーディオ専用ラズパイ
Audirvāna Studio V3のFIR演算を試す



試聴&修正

再生開始、いきなりクリッピングノイズが発生しました。位相だけの調整でもクリップは起こり得るのか・・・rePhaseの「General」タブでインパルス応答のゲインを6dB下げて作り直し。

改めて試聴。
言われている通りボーカルや楽器の音色といった分かりやすい変化はなし。
期待の定位についても、マルチトラック録音のパンやリバーブで作られたそれでは効果を感じにくく、従ってヒットチャートに出てくるような楽曲の多くは「ん?何が変わった?」となります。そりゃそうか、これで激変するようならIIR方式DSPのデジタルマルチで3way4wayなんて流行るわけないよね。(悪いと言っているんじゃないですよ念のため)

アコースティック系の空間情報の豊富な音源に切り替えて再試聴。ここでようやく違いがわかりました。「そこ」にいる木管と「あそこ」で鳴っている金管といった立体的な位置関係が明確になっています。
で、一度気が付くと、さっきは違いが分からなかった曲を聴いてもなるほど!と。独特の気持ち良さがありますねこれ。クルマから降りられなくなったので、多分良い方向にいっていると思います。




(2026/4/19追記)
「Paragraphic Phase EQ」のスライダー操作が簡単なので、これに頼って「まっ平」にしたくなりますが、マイクをわずかに動かしただけで変わるような部分を補正すると逆効果になることもあるようです。

上が測定値(Excess Phase)、下は測定値を読み込まない状態で調整を行った補正値。こんな風に測定値を見ながら「Filters Linearization」や「Minimum-Phase Filters」タブの設定を組み合わせて逆特性を作ると精度よく補正できます。最後に測定値に適用して「Paragraphic Phase EQ」で微調整、スライダーの極端な上下動は抑えた方が聴感上良いように思います。


(2026/4/28追記)
やはりというか沼にハマっておりますwこれまでにわかってきたことを記しておきます。
位相の調整は「ゼロに寄せる」と同時に「左右で揃っている」ことが重要で、特に変動の大きな高域の補正は注意が必要です。特定の音だけ位置がズレて聞こえるような時は調整を失敗しています。うまく行くと、定位が全帯域で安定し結果として実体感が向上します。
関連情報URL : https://audirvana.com/ja/
Posted at 2026/03/28 23:42:20 | コメント(2) | トラックバック(0) | オーディオ | クルマ
2026年02月01日 イイね!

Audirvāna Studio V3のFIR演算を試す

Audirvāna Studio V3のFIR演算を試すAudirvāna Studioの次期バージョンV3のベータテストが始まりました。久しぶりのメジャーバージョンアップで力の入った変更となっています。
WindowsおよびMac版は昨年末からテスト中、1月にLinux版とAndroid用リモートアプリが出たのでインストールしてみました。









(2026/3)ベータテストが終了し正式リリース。ここで紹介した機能は普通にAudirvāna Studioをインストールすれば使えるようになりました。

alt
ラズパイにインストールしたAudirvāna、システム構成をこんな風にアレンジして車載運用を始めました。ローカル音源はUSBメモリー、QobuzのストリーミングはスマホからのUSBテザリングにより再生するようにしています。インストール手順は以前のブログに。
AudirvānaでQobuz(自体は簡単だけど車載が大変だった話)その1再
AudirvānaでQobuz(自体は簡単だけど車載が大変だった話)その3

本来ホームオーディオで使うサーバーをクルマに持ち込むことの問題はあり、エンジンOFFの後に再始動すれば選曲からやり直し、レジューム再生なんてしてくれません。でも音質はさすがで、DSPアンプに32bit/88.2kHzで入れてやると心地よく鳴ってくれるので気に入っています。

alt
次期バージョンは画面デザインの刷新と信号処理機能が目玉のようです。
まずはインストールから。Linux版ではコアプレーヤーとスマホ用リモートアプリの両方をベータ版に更新する必要があります。



Audirvāna Studio(ベータ版)のインストール

ラズパイを自宅に持ち帰りネットワークに接続、PCでリモートコンソールを開いて作業を行います。
alt
overlayrootによるROM化を設定している場合は解除しておきます。

インストール前に現行バージョンをアンインストールします。
Audirvānaを停止
$ sudo /opt/audirvana/studio/setAsService.sh stop 
自動起動を停止
$ sudo /opt/audirvana/studio/setAsService.sh disable 
アンインストール
$ sudo apt purge audirvana-studio 

ベータ版のパッケージはAudirvāna公式サイトのMy Audirvānaページでダウンロードできます。
ダウンロードしたパッケージをラズパイに転送。psftpを使う方法を上のブログで解説しています。
alt

インストール
$ sudo apt install -f ./audirvana-studio_X.X.X_arm64.deb 

自動起動に設定、再起動
$ sudo /opt/audirvana/studio/setAsService.sh enable 
$ sudo reboot 


コアプレーヤー側は以上で完了。楽曲データベースはそのまま引き継がれ再スキャンは不要でした。



リモートアプリ(ベータ版)のインストール

続いてリモートアプリを更新します。現行バージョンをインストールしておき、アプリストアからベータ版テスターの申し込みを行います。
alt

しばらくすると(自分の時は翌日)アプリ更新が降ってきてアップデートされました。
alt

(2026/2追記)
iOS用のベータ版リモートアプリも出ました。インストール手順はAndroidと異なり、Apple公式のベータ版公開ツールであるTestFlightを使います。フォーラムに説明があります。
Public Beta Launch for Audirvāna iOS Remote App!

alt


畳み込み演算を試す

Audirvānaに限らず、近年のPC用再生アプリは信号処理機能を搭載・強化する動きが目立っています。オーディオは長い間データを改変することがタブー視されてきましたが、演算性能も向上しており適切な音響補正は是とする論調も増えてきたように思います。(この辺りはカーオーディオの方が進んでますよね)

Audirvāna V3の注目もやはり畳み込み(コンボリューション)演算でしょう。
普通はminiDSPのような専用ハードのDSPチップで実行するFIR演算がラズパイでどれほど使えるのか、試してみます。

・・・

とは言ってみたものの、
で、この後は何をすればいいんですか?
敷居が高いですよねFIR。みん友さんのブログを指を咥えて眺めていた自分も初心者、まずは勉強しないと。
PROSOUNDの連載記事が比較的わかりやすかったのでオススメします。

短期集中連載 超解説FIR! 第1回
短期集中連載 超解説FIR! 第2回
短期集中連載 超解説FIR! 最終回

・・・

各回3回ほど読んで、 FIRの5%くらいは理解できたのか?
インパルス応答(IR)という短い(概ね1秒以下)波形を作って入力波形と演算させれば任意の特性の補正ができる、ということはわかります。ではその波形をどう作るか。まだREWやrePhaseを駆使した音響補正ができる気はしないので、とりあえずその手前をやってみましょうw


FIRで「Lチカ」に相当する最初の一歩はデルタ関数でしょうか。
デルタ関数は時間軸で面積1のパルスを作り、そのまま面積を保って幅をゼロに近づけたもの。その波形をインパルス応答としてソースに畳み込んでも結果が変わらない関数のことです。
「デルタ関数をフーリエ変換して周波数軸に持ってくると定数1になる!」
って、そういえば遠い昔に習ったっけ。仕事で使うことは一生無さそうだけどこんなところで出てくるとは。デジタルオーディオで「幅をゼロに近づけた」最小幅は(1/サンプリング周波数)となります。

alt
AudirvānaのIRファイルは32bit浮動小数点のwav形式などが使えサンプリング周波数は任意です。任意のハイレゾフォーマットに対して畳み込み演算ができ、再生する楽曲と同じフォーマットのIRファイルが無い場合はIRファイル側をレート変換して適用するそうです。楽曲ファイルがレート変換されることはないので音質的に有利ですがCPUの能力的に大丈夫かしら。後で試します。

ファイル長(タップ数)も任意で、仮に最低補正周波数=補正分解能を10Hzとすると1/10秒、96kHzなら9600タップとなります。「補正」周波数であって、例えば1/100秒のフィルターにしても100Hz以下を再生できないわけではないのでご安心を。

波形編集ソフトのSoundForgeで96kHzステレオ/32bitフロート/長さ100msのファイルを作り、中間点50msの1サンプルだけ最大値=0dBFS、他はゼロで埋めてwav形式で書き出しました。これでいいんだろうか?いいことにしよう。
alt

作成したwavファイルをラズパイに転送
alt

audirvana(がアクセス可能な)フォルダに移動
$ sudo mv ./delta_96k_100ms.wav ../audirvana/. 

リモートアプリで設定します。設定画面を開き
alt

Audio - Processing画面へ。畳み込み以外にも実用的な処理が揃っています。Roonみたい。
alt

畳み込みファイルを指定します。サンプリング周波数別に複数指定できます。
alt
ちゃんと9600タップと認識されていますね。

任意の楽曲を再生。処理を行わない時と同じ音が出ました。
これだけ理論と手間を費やした結果が何も変わらないのが(期待通りで)素晴らしいw

96kHz音源再生時のCPU負荷(ラズパイCM4S)
alt

再生開始直後にCPU負荷がかなり上がりますが先行して演算を行うようで、しばらくするとゼロ付近に下がりメモリー再生状態に移行します。こいつちゃんと使えるぞ、すげーなラズパイ。

(2026/2/4修正)
試しに192kHzの音源でIRファイル長を200ms(38400タップ)に増やしてみても、高負荷の時間が延びるだけでその間も音飛びなどは特に感じられず再生できました。
想像ですが、プレーヤーとして音源を先読みできる(ローカルもQobuzも同じ)ことが、DSPのようなリアルタイム処理が不得意な汎用CPUで高タップの演算を可能にしているのでは。

miniDSP等と異なりチャンデバは無いので、FIR機能の無いDSPの前段に加えるのが手軽でいいんじゃないでしょうか。Diracのような自動補正も無く調整は手軽ではありませんが、そこは勉強?練習?するとして。
関連情報URL : https://audirvana.com/ja/
Posted at 2026/02/01 15:05:28 | コメント(1) | トラックバック(0) | オーディオ | クルマ

プロフィール

「パイオニアがナビアプリから撤退するのはアンタのせいじゃないの?とGoogleさん(Gemini)を2回焚きつけてみた結果が面白かった。自己防衛のアルゴリズムでも入ってるんかな。」
何シテル?   08/21 21:04
「なかるー」改め「なかるう」、「う」は大きい「う」です。 音楽のあるドライブが好きです。いい音だったらもっと楽しいですよね。なのでいい音を追求してます。 更...

ハイタッチ!drive

みんカラ新規会員登録

ユーザー内検索

<< 2026/8 >>

       1
2345678
9101112131415
16171819202122
23242526272829
3031     

リンク・クリップ

ALPINE DA7Z 
カテゴリ:その他(カテゴリ未設定)
2026/08/15 01:36:25
壊れかけのNAS内蔵NTFS HDDのデータを救済する 
カテゴリ:その他(カテゴリ未設定)
2026/08/02 11:10:52
リゾルト SRC(リモコン)整備 
カテゴリ:その他(カテゴリ未設定)
2026/04/19 10:20:05

愛車一覧

フォルクスワーゲン パサート セダン フォルクスワーゲン パサート セダン
フォルクスワーゲン パサート セダン (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