ALSAにはドライバという概念がありますか?ただアンプ/アッテネーター用?システムの音量を調整しながら、アンプの音量もコントロールしたいです。現在のサウンドカードドライバをコピーしてアンプを処理するコードを追加できますが、ドライバ全体を維持することは避けたいと思います。
私のハードウェア設定は次のとおりです。
Soundcard [analogue]-> Amplifier [analogue]-> Speaker
Alsaはすでにサウンドカードを完全に処理しています。アンプのゲインを直接制御するコードがあります。サウンドカードドライバが提供するソフトウェアアッテネータの代わりにそれを使用したいと思います。理想的には、サウンドカードドライバ全体をフォークすることなく可能です。
これは忠実度の高いアプリケーションではなく、pulseaudioに正しい概念がある場合は別のアプローチで開かれています。私はすでにユーザースペースでこれを完全に実行できます(volume(unsigned char val)
ボリュームを正しく設定するfnがあります)。
制御コードにインターフェースを作成できるように、アンプ/アッテネーターを概念的にインライン化する方法はありますか?
ベストアンサー1
概念は存在します。ただし、非常に限られたハードウェアデバイスセットにのみサービスを提供できます。
以下はTAS575xMベースのオーディオアンプのコードです。
SSM4567ベースのオーディオアンプのコードと実装の内容。
時間を投資するエコシステムを探しているなら、上のリンクを読んでみるとわかるように、I2C必ず候補になります。
注:このリストは完全ではありません。私の知識によってのみ制限されます)
しかし、デバイスにAlsaドライバがない場合、pulseaudioは自動的にドライバを作成または偽造しません。