メディアコンバーターの導入
ルーターとラズパイ間を絶縁するのにメディアコンバーターを導入してみました。一昔前だと中古の100Base-Tのモデルが1万円を超えていた気がしますが、中華メーカーの参入で1000Base-Tのモデル2台に光ファイバー・ケーブルを買っても1万円以下!
モデルは下記のLCコネクターでデュアル・モードのものにしました。
なぜLCコネクター、デュアル・モードにしたかというと将来的にSONORE opticalModuleへの置き換えを可能にしておきたかったから。
opticalModule Deluxewww.smallgreencomputer.com
メディアコンバーターは下流のラズパイ側のものはモバイル・バッテリー駆動としました。ラズパイはポータブル電源のACアウトレットからダイソーのUSBチャージャーで動かしているので、ラズパイとメディアコンバーターは電源的に浮いています。
音の方ですが、これまでラズパイ経由でオーディオ機器に繋がっていたが故、オーディオ用のタップから電源を採らざるをえなかったルーター、NAS、Macの電源を、ガジェット類をまとめているノイズフィルター付きのタップに移せたので、まずこの効果でレコード再生含め全体的な音質が向上しました。
ラズパイは音の彫りが深くなり、ノイズが減った故か低音の力感が大幅に向上しました。アンダー1万円の投資の効果として非常に満足です。
Raspberry PiのRoon Bridgeで設定したことまとめ
FirewallにUFWを使っている際のポート解放設定
/etc/ufw/applications.d/roonbridge
[Roon Bridge] title="Roon Bridge" description="Roon Bridge" ports=1025:65535/tcp|1025:65535/udp
して
$ sudo ufw allow from [Your localnet]/24 to any app "Roon Bridge"
※ポート解放範囲は多分広過ぎると思いますが、Roonが正式に使用するポートを指定していないこと、Roon Bridgeのアップデートでも使用するポートが変わる可能性があることからlocalnetからのアクセスにがばっとポートを開けてしまっています。
CPU負荷の分散
/boot/cmdline.txtに
isolcpus=1-3
を追記
/etc/systemd/system/roonbridge.serviceの[Service]欄に
CPUAffinity=1
を追記
/home/pi/postroon.shを
#!/bin/sh sudo taskset -pc 2 `pgrep -f RoonBridgeHelper` sudo chrt -f -p 95 `pgrep -f RoonBridgeHelper` sudo taskset -pc 3 `pgrep -f RAATServer` sudo chrt -f -p 95 `pgrep -f RAATServer`
として作成
/etc/systemd/system/postroon.serviceを
[Unit] Description=Post RoonBridge script #After=roonbridge.service Requires=roonbridge.service [Service] Type=oneshot ExecStart=/home/pi/postroon.sh [Install] WantedBy=multi-user.target Also=roonbridge.service
という内容で作成
$ sudo chmod +x /home/pi/postroon.sh $ sudo systemctl enable postroon
で有効化
OverlayFS適用時Roon Bridgeを起動するのに必要な設定
/etc/fstabに
tmpfs /var/roon tmpfs defaults,size=4M,noatime
を追記
Overlay Filesystem (OverlayFS)の導入
ざっくりルート・ディレクトリのファイル類をRAM上に展開するものとのこと。
試した結果分かったこと:
- 現状適用できるのはkernelのメインラインの5.15まで
- 自分でビルドしたkernelを/bootにコピーする時にsudo make installではなくsudo cp arch/arm64/boot/Image /boot/kernel8-`make kernelrelease`.imgなどでImageをcpすること
- RAM使用量は2GBを少し超えるくらい
音への影響としては歪み感が減ってなめらかになるように感じました。/etc/fstabやfolder2ramを使ってcacheやlog、tmpディレクトリをRAMへ移すだけでもかなり音が変わった経験があるので、ストレージへのアクセスはなにかと影響が大きいように感じます。
八王子SHeLTeR溝口さんのオーディオ・クリニック
東京のナイトライフに親しむ人間なら知らぬ者はない良音barである八王子SHeLTeR。のエンジニアである溝口さんからオーディオの音質向上についていろいろと教わる機会があり、わずかなコストでびっくりするような成果が得られたので興味がお有りの方向けに記事にしておきます。
1. 必要なもの
時間
費用はほとんどかかりませんが、手間がかかる作業もあります。
機材の開腹に必要な工具類
対処、施工内容次第では機材を開けることがあるので、特殊なねじを使っている機材はヘックスローブ・ドライバーなどが必要になることがあると思います。
Amazon、ホームセンターで買える雑貨類 (?)
内容によりますが、総額で5〜6,000円程度かと思います。
費用は工具代と、処置に必要な雑貨類のわずかな実費のみです。
特に書いておく事項としては、機材を開腹すると保証が無効になったりするかもしれません。MasterSoundsのRaidus 4Vを開けたのですが、底面のTested OKと書かれたステッカーの下にねじがあり、おそらくステッカーを剥がしたので保証が無効になったと思われます。個人的にはミキサーに対する処置の効果の大きさに満足したので開けて良かったと思っていますが、その辺りは自己責任で。
2. 得られるもの
音質の向上
定位感が増し、音のフォーカスがピシッと合う、低域の質感が増す、などなど
知識
音質改善で抑えるべきポイントについての知識
今後の展望 (?)
手持ちの機材の性能が引き出されることによって、今後どういった方向にシステムを進めていくかの展望
まず何より音が良くなります。手持ちの機材の本来の性能が引き出されることにより、これまで聴き慣れた音楽の新たな魅力を感じられる時間は音楽、オーディオが好きな人間にはたまらないでしょう。
溝口さんはシステムのボトルネックの把握、その対処という手順を理論的に教えてくれますので、音質改善に必要な体系だった知識が得られると感じました。
また、手持ちの機材の本来の姿が分かることで、その先進むべきであるとか進みたい方向が明確になります。現状のシステムに疑問や不満があったり、機材の買い替えを考えている方は買い替える前に溝口さんに相談してみるのをお勧めします。
3. まとめ
時間と手間を惜しまない熱意をお持ちでオーディオがお好きな方には本当にお勧めです。
八王子SHeLTeRやその他のクラブ、barでの溝口さんの仕事を知っていて、自宅のオーディオ環境を良くしたいと思っている方はプロ、アマチュア、お客を問わずぜひ溝口さんにコンタクトを取ってみてください。
今お使いのオーディオ機材に疑問がある、新規の機材の購入を考えているとう方も、システムの変更の前にまず相談されてみると良いと思います。
音響設備がメインのお店を開業予定の方は施工の早い段階での相談が特に効果が高いみたいです。
あのSHeLTeRの溝口さんにオーディオについて教えていただくのはハードルが高い…!と思っていましたが、親切、丁寧に教えていただき安価で高い効果が得られ、また何よりその時間が楽しかったですので、気になっている方は迷わず飛び込んでみてください。
Linuxのオーディオ / 割込関連プロセスの優先度を上げる
現状core 0にOS関連、core 1にMPD、core 2にPipeWire、core 3にupmpdcliを割り当てているのですが、OS関連プロセスの中からaudio関連のプロセスの優先度を上げる方法がALSAのサイトに載っていました。
/etc/security/limits.conf に下記を追加
@audio - rtprio 95
@audio - memlock 512000
@audio - nice -19
usermodコマンドでユーザー pi を audio グループに追加
$ usermod -aG audio pi
/etc/rc.local で割り込みとtimerの優先度を上げる。
sudo chrt -f -p 95 `pgrep irq_work/0`
sudo chrt -f -p 95 `pgrep irq_work/1`
sudo chrt -f -p 95 `pgrep irq_work/2`
sudo chrt -f -p 95 `pgrep irq_work/3`
sudo chrt -f -p 95 `pgrep irq/17-fe804000.i2c`
sudo chrt -f -p 95 `pgrep irq/20-DMA`
sudo chrt -f -p 95 `pgrep irq/22-DMA`
sudo chrt -f -p 95 `pgrep irq/35-eth0`
sudo chrt -f -p 95 `pgrep irq/36-eth0`
sudo chrt -f -p 95 `pgrep ksoftirqd/0`
sudo chrt -f -p 95 `pgrep ksoftirqd/1`
sudo chrt -f -p 95 `pgrep ksoftirqd/2`
sudo chrt -f -p 95 `pgrep ksoftirqd/3`
sudo chrt -f -p 95 `pgrep ktimers/0`
sudo chrt -f -p 95 `pgrep ktimers/1`
sudo chrt -f -p 95 `pgrep ktimers/2`
sudo chrt -f -p 95 `pgrep ktimers/3`
としました。スケジューリング・ポリシーと優先度の設定はこれから詰めます。
2022年4月22日のメモ
CPU idle time (CPUIdle) Governorの設定方法
$ echo "governor名" | sudo tee /sys/devices/system/cpu/cpuidle/current_governor
Raspberry Piの電源いろいろ
Anker Nano II 30W
低ノイズのGaN電源。通常のGaN電源のような、付帯音の影響と思われるギラッとした感じが控えめ。それでもGaN独特のシャッキリとした音がします。
ダイソー AC充電器(自動判別機能付、USBポート2口、合計最大3.4
なめらかで落ち着いたピラミッド・バランスで聴きやすい。音の傾向からして定位感が緩くなりそうなものですが、その点でも良好。
AC充電器(自動判別機能付、USBポート2口、合計最大3.4
ZENDURE SuperMini
USB-Cポートからバッテリーを充電しつつUSB-Aから給電出来るパススルー充電に対応したモバイル・バッテリー。音の切れ、ふわりと広がる定位感、安定感のある低域と個人的にはこれがいちばん好みでした。
いずれの電源も悪くないので好み次第で使い道がありそう。