Gentoo Linux:ALSA用のmbeqイコライザーを有効にするとアプリケーションオーディオがクラッシュしますが、スピーカーテストでテストすると正常に動作します。

Gentoo Linux:ALSA用のmbeqイコライザーを有効にするとアプリケーションオーディオがクラッシュしますが、スピーカーテストでテストすると正常に動作します。

私はLinux-4.3.3-hardened-r4カーネルを使ってGentoo Linuxを実行していますが、サウンドシステムはALSA専用です。つまり、OSSやPulseaudioはありません。システム全体のイコライザーを有効にしようとしていますが、alsaequal私のコンピューターでは機能せずに変更するには、ソースコードの変更が必要なため、mbeqプラグインを使用しています。説明した手順に従いました。この非公式Gentoo Wikiから、イコライザーを使用してオーディオを再生できますspeaker-test -D plug:eq -c 2(ホワイトノイズ出力が私が聞くのに使用するトーンとは非常に異なるため、機能することを知っていますspeaker-test -D plug:dmix -c 2)。

ただし、ユーザーアプリケーション(FirefoxのHTML5 YouTubeビデオやAudaciusの曲など)を使用してオーディオを再生しようとすると、音は聞こえません。

私が貼り付けた内容は次のとおりです/etc/asound.conf

pcm.eq {
    type ladspa
    slave.pcm "plug:dmix"

    plugins [
    {   
        label mbeq
        id 1197
        input {
            # The following setting is just an example, edit to your own taste:
            # bands: 50hz, 100hz, 156hz, 220hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750hz, 25000hz,
            # 50000hz, 10000hz, 20000hz
            controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ]
            }
        }
    ]
}

pcm.!default {
    type plug
    slave.pcm "eq"
}

# Redirect the OSS emulation through the EQ too (when programs are running through "aoss")
pcm.dsp0 {
    type plug
    slave.pcm "eq"
}

答え1

問題は、Webブラウザなどのアプリケーションからサウンドを送信するときにalsamixerに直接設定されますが、vlcなどの他のオーディオプレーヤーはシステムに設定された出力に自動的に設定されることです。

アプリでは音を再生できませんでした。アプリ側でサウンドカートを切り替え、alsamixerで再生しないでください。

サウンドLinuxは、サウンドカードにサウンドを送信する際に常に複雑な考え方を持っています。決して簡単なことではなく、Windowsで簡単に設定して誰も正しく設定し、他のプレイヤーのサウンドを再生するのに問題がないようにするので簡単に作るべきだと思います。 Linuxには常に問題があり、すべてのディストリビューションでユーザーフレンドリーではありませんでした。

関連情報