SW:スピーカー - asfdrwe/asahi-linux-translations GitHub Wiki

2023/12/22時点のSW:Speakersの翻訳

訳注1: 英語版Wikipediaへのリンクは対応する日本語Wikipediaへのリンクに変更

訳注2: このページに関しては進捗報告2022年11月のスピーカー対応も参照しておくとよいです(2023/11/12追加)


Asahi Linuxでのスピーカー対応

Asahi Fedora Remix でスピーカーの対応を順次有効にしています。

現在対応しているモデル

  • M1 MacBook Air 13" (J313)
  • MacBook Air (13インチ, M1, 2020)
  • MacBook Air (13インチ, M2, 2022)
  • MacBook Air (15インチ, M2, 2023)
  • MacBook Pro (13インチ, M1/M2, 2020/2022)
  • MacBook Pro (14インチ, M1/M2 Pro/Max, 2021/2023)
  • MacBook Pro (16インチ, M1/M2 Pro/Max, 2021/2023)
  • Mac mini (M1/M2/M2 Pro, 2020/2023)
  • Mac Studio (M1/M2 Max/Ultra, 2022/2023)

Linux オーディオ・スタックのすべての部分にわたって、多くの人々が関与する複数年にわたる開発努力によって適切なスピーカー対応が行われました。 Linuxラップトップ・プラットフォームの中で最高のスピーカー対応を提供したいと考えており、それはLinuxデスクトップ・オーディオを 数十年前倒しするを意味し、最新のラップトップ・オーディオ・サブシステムに期待されることを実行します!

現状

ユーザーへの予備的なスピーカー対応を公開する準備が整いました。Asahi Linuxは、高度なスピーカーDSPを統合した初のデスクトップLinuxプラットフォームで あるため、バグが発生する可能性が高いです。また、DSPプロファイルは時間の経過とともに改善・調整され、絶対的に最良の結果を示すものではありません。

スピーカーDSPは現在、Fedora Asahi Remixのみ対応していますが(急ピッチで進んでいます)、他のディストリビューションでも、事態が落ち着けば、 比較的苦もなくこの作業を統合できるはずです(下のセクションを参照)。

既知のバグ

  • KDE Plasmaにおいて、マスターボリュームを100%以外に設定した状態でキーボードホットキーを使ってミュートを切り替えると、ミュート解除時に スピーカーの音量が過度に小さくなる。ボリュームコントロールに触れる(またはボリュームのホットキーを押す)と、意図した音量に戻る
  • DSPチェーンは過剰な遅延を発生させ、後続のオーディオは『バッファリング』される(何かを再生するのを止めて別の何かを再生しはじめると、 2つ目のオーディオが始まるときに1つ目のオーディオの終わりが少し聞こえる)
  • 現在のDSPチェーンには最終的なリミッター/コンプレッサーがないため(入力コンプレッサーはあり)、EQカーブのハイゲイン領域にコンテンツが ある入力は歪みやクリッピング(およびスピーカーの安全なリミッター)を引き起こす可能性あり。現在これは200Hzの領域で最も顕著。ダメージを 与えることはないが、音が明らかに歪んでいると感じたら、音量を下げるべき
  • 13インチMacBook AirのEQカーブは高音域が少しきついかも。確認/修正のために個別に校正されたマイクロホンで再校正
  • Bankstown(『偽ベース(fake bass)』プラグイン)は現在比較的ナイーブなアルゴリズムを使用しており、すべての音楽に対してうまく機能するわけではない

プロジェクトの目標

私たちのDSPプロファイルは、高品質のラップトップ/小型スピーカーオーディオに期待される機能を備えた、バランスの取れたサウンドを提供することを目指しています。 特に次のようなことを目指しています:

  • 適度な音量でバランスの取れた(ニュートラルな)音色で、一般的なリスニングポジションからほぼフラットな周波数特性
  • 許容できる音質劣化(コンプレッション、リミッターなど)を伴う十分高いピーク音量
  • スピーカーでは物理的に再生できない周波数を聴こえるようにし、システムの知覚周波数特性を拡張する『偽の低音』処理
  • 等ラウドネス音量補正、これによりシステムのマスターボリュームを下げても、音が明らかに小さくならないようにする

これらはすべて、タブレットや携帯電話のコンシューマー向けマイクロスピーカーシステムで広く使われているテクニックですが、残念なことに、 ほとんどのアップル以外のブランドのラップトップでは一般的ではありません。これらの処理トリックはすべてmacOSでも使われています。

私たちの目標は、macOSのオーディオ体験の完全な/正確なクローンを作ることではありません。macOSのスピーカーDSP処理はあまりに頑固で、うまく機能するものも あれば、そうでないもの(あるいは明らかにバグだらけ!)もあり、また変なものもあると考えています。オーディオは最終的には主観的なものであり、 『macOSサウンド』を好む人もいるかもしれませんが、私たちはベースラインとしてmacOSよりも客観的にニュートラルでバランスの取れたサウンドを目指します。 ユーザーは、自分の体験をカスタマイズしたり、特定のサウンドプロファイルを実現したい場合は、(EasyEffectsなどで)独自のエフェクトを追加してみることをお勧めします。 特定のエフェクト(macOSの空間オーディオ処理など)をハードコーディングし、それをオフにするオプションがないよりも、ユーザーが望めば自分の好みに合わせてサウンドを 形成できる、バランスの取れたベースラインの方が良い選択肢だと考えています。ユーザーフレンドリーな(GUIによる)DSPチェーンの変更や微調整の方法はないので、 追加エフェクトは、ユーザーが簡単にカスタマイズできるEasyEffectsのような既存のユーティリティに任せるのが最善です。

とはいえ、私たちが適用する予定の処理の種類について、macOSが適切に動作する場所で適切に動作しないこと(例えば、特に特定の種類の入力に対して客観的に 悪い音質、例えばmacOSが同じ出力音量でより良く聞こえる大音量での悪い音の圧縮や歪みなど)は、バグと見なされます。macOSの方が明らかに優れている テストケースを見つけたら、遠慮なく問題を提出してください。ここでは特に、プログラムに依存する問題について話しているのであって、『一般的にmacOSの EQ/空間/その他のものの方が好きだ』ということではありません。

『スマート・アンプ』 / 安全対応

DSP処理に加えて、世界初(私たちが知る限り)のオープンソース『スマート・アンプ(smart amp)』の実装も行っています。これにより、スピーカーを最悪の 安全音量レベルよりもはるかに高いピークレベルまで駆動することができ、ダイナミックレンジを大幅に拡張することができます。私たちの実装である speakersafetydは、アンプからのフィードバック信号を監視し、2段階の熱モデルを使用して スピーカーのボイスコイル温度を推定し、スピーカーが暖かくなりすぎたときにハードウェアのスピーカー音量を下げます。また、speakersafetydが 実行されていない場合や応答がない場合に、スピーカーの音量を無効にしたり制限したりするカーネル側のインターロックも備えています。

現在、潜在的なバグや誤動作をキャッチするために、-7dBFSというハードな音量低減制限を設けて出荷しています。スピーカーが約1秒間カットオフされ、その後音量レベルが下がった状態で戻ってきた場合は、この安全なリミットが作動した可能性があります。(念のため)スピーカーが冷えるまで再生を停止し、リミットを再適用させてから、 /var/lib/speakersafetyd/blackboxにblackboxダンプがないか確認し、speakersafetydのログ(journalctl -S '10m ago' -u speakersafetydを試す)と ともににバグ報告 してください。フルスケールのテストトーンや 『極端な』音楽を最大音量で再生すると、この限界に達し、ブラックボックスダンプ/パニックを 引き起こすことが予想されます。これは、通常の音楽を再生しているときに、何か悪いことがあったときにそれを把握しやすくするためのもので、ソフトウェア スタックに確信が持てたら、この保守的な制限を解除する予定です(speakersafetydには他の安全制限が組み込まれており、時間の経過とともにさらに増えていく予定です)。

sudo journalctl -fu speakersafetydを使えば、speakersafetydの動作を見ることができます。経験則として、スピーカーの音量を最大にした場合、 大音量でノーマライズされた音楽(YouTubeなど)を再生しても、speakersafetydは作動しないと思ってください。ノーマライズせずに大音量で音楽を 再生する場合(例えば、YouTubeを使用中にPlasmaアプレットでブラウザアプリの音量を100%にするとノーマライズ制限をバイパスできる、もしくは ノーマライズなしのメディアプレーヤーを使用)、speakersafetydによるゲイン低減がトリガーされる可能性がありますが、 とんでもないものでない限り、-7 dBのパニック制限にヒットすることはありません。

**警告: ** スピーカーの安全性モデルは、まだすべてのモデルで完全に検証されていません。準備が整い安全に使用できると確信できるモデルでのみオーディオを 有効にしています。それ以外の機種で、文書化されていないオーバーライドを使用してスピーカーを強制的に有効にした場合、完全に自己責任となり、 スピーカーが爆発する可能性があります。

ディストリビューション統合メモ

必要なものはasahi-audioREADME.mdに従ってください。

正しいデプロイ順は asahi-audio/speakersafetyd → (メタパッケージなどユーザーがこれらのインストールに使用するもの) → kernel です。 asahi-audioの前にカーネルを先に入れると、機能しないスピーカー機器(speakersafetydがない場合)や機能するが音が悪いDSPのない生の スピーカー機器(speakersafetydがインストールされている場合)をユーザーが手にすることになります。