UpmpdcliとMPDの間にSquidを挟んでキャッシュする際の設定
refresh_pattern .(aif|aiff|wav|flac|m4a|mp3)$/i 0 0% 240 reload-into-ims ignore-reload ignore-no-cache ignore-no-store > cache_mem 2560 MB maximum_object_size_in_memory 2 GB memory_cache_mode always memory_pools on
maximum_object_size_in_memoryはとりあえずFAT32のファイルサイズの上限2GB。cache_memは2GB以上の適当な数値ということで2560 MB (=2.5 GB)。2GBのファイルが連続して送られて来た場合の動作は確認していません…。メモリが4GB以上あるモデルのラズパイ4Bを前提とした設定です。
refresh_patternは毎回新規のファイルが来るものとしてminは0、percent 0、CDクオリティ(16bit 44.1kHz)のファイルで2GBの場合ざっくり230分なので、maxは230より少し多めの240。
2022年5月21日追記:
以下はAudirvanaからのALACデコード時のUPnP出力をフリーズせずに再生するための暫定の対応。ALAC再生の際、まだ音が途切れたりするので引き続き要調査。
/etc/mime.confの必要部分抜粋
\.wav$ audio/wav silk/music.png - ascii +download +view \.wav$ audio/x-wav silk/music.png - ascii +download +view \.wav$ text/html silk/music.png - ascii +download +view
Raspberry Pi 4BのUSB 2.0バスパワーのカット方法
$ echo -n "1-1" | sudo tee /sys/bus/usb/drivers/usb/unbind
https://artfinex.co.jp/wp/wp-content/uploads/2019/03/afx_RaspberryPiRaspbianUSB_Reset_UHF.pdf
2022年5月29日追記: 上記だとデバイスが接続されているポートをunbindするだけだったので結局hub-ctrlを導入しました。
八王子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
DJ Sprinkles / Midtown 120 Blues
昔に買って当時良さがわからずに寝かせていたアルバムだけどオーディオ環境が良くなると鳴りがすごい。Terre Thaemlitz作品、今まとめて聴き直したい。
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から給電出来るパススルー充電に対応したモバイル・バッテリー。音の切れ、ふわりと広がる定位感、安定感のある低域と個人的にはこれがいちばん好みでした。
いずれの電源も悪くないので好み次第で使い道がありそう。