Pulseaudio の a52 ALSA プラグインを使用すると、AC3 および DTS 出力でブザー音やノイズが発生する

Pulseaudio の a52 ALSA プラグインを使用すると、AC3 および DTS 出力でブザー音やノイズが発生する

注: 私は Ubuntu 12.04 64 ビットを使用しているので、これが質問するのに適切なサイトであることを願っていますが、これはおそらく一般的な Linux/ALSA 構成に関する質問です。

私はガイドに従いましたhttps://help.ubuntu.com/community/DigitalAC-3Pulseaudioそして、a52 alsa プラグインをコンパイルしました。pavucontrol を使用して pulseaudio に正しく表示され、'HA INFO U2 USB TO SPDIF' サウンドカードのデジタル ac3 5.1 出力を選択できます。

しかし、これはサウンドが再生されているかミュートされているかに関係なく、異なる音を出す迷惑なノイズを生み出しました。同じ問題はDTS alsaプラグインでも発生します。http://aepatrakov.narod.ru/dcaenc/仮想デバイスは pulseaudio で正常に表示されますが、今回はサウンドがかなり不快なノイズになっています。これは、サウンドカードが信号に何らかの処理を行っており、レシーバーがそれをドルビーまたは DTS として認識していないためだと思われます。

私が試したこと:

  1. VLC を使用して Windows で映画を再生しています。Dolby/DTS トラックは両方とも完全な 5.1 で動作し、レシーバーによって検出されます。
  2. xbmc を起動するときに、pasuspender を使用して pulseaudio を無効にし、カスタム パススルー デバイスを hw:1,1 に設定します。これにより、ドルビー/DTS ストリームが正しく渡され、レシーバーはこれを正しく検出して問題なく再生します。

仮説上の問題/解決策:

  1. サウンド カードには 2 つの出力があり、1 つはデジタル、もう 1 つはアナログです。物理的な出力はデジタルのみです。アナログ出力は信号に触れず、デジタル出力は触れると思われます。デジタル出力は、pulse audio/alsa がプラグインをアタッチしてストリームを改変するものです。そのため、hw:1,1 はパススルーで正しく動作します。alsa/pulseaudio に、ac3 または dts エンコード プラグインをデバイス 1 (0 ではなく) に適用するように指示する必要があります。おそらく、これがアナログ デバイスとして検出されます。構成ファイルにデバイス 1 を追加しようとしましたが、エラーが発生します。

カードのすべての出力をデジタルとして検出するように強制するには、または a52 プラグインを特定のカード/デバイス (私の場合は hw:1,1) にのみ適用するように alsa を設定するには、どうすればよいですか?

ちょっとした背景:

  1. すべてのオーディオを 5.1 セットアップで使用できるように、すべてのオーディオを適切なミキシングでサウンドカードに ac3/dts ストリームとしてエンコードする必要があります (ステレオはアップミックスされます)。
  2. 私は、可能な限りデジタル パスを使用することを強く希望します (つまり、マルチ チャンネル アナログ出力を備えたサウンド カードを使用した場合に、チェーン内の複数の ADC/DAC を処理する必要が生じる可能性を排除し、最終増幅の前にレシーバーの DAC のみが存在するようにします)。
  3. 目的は、Brutefir または別の畳み込みエンジンを使用して各スピーカーを個別にルーム補正し、フィルターを使用して各チャンネルを個別に処理できるようにすることです。これはおそらく、alsa <- jack <- pulse のようなパイプラインを意味するでしょう。これは、乗り越えるべきもう 1 つの構成ハードルですが、今のところ最初のブロックで行き詰まっています。

ご返信/ご提案をよろしくお願いいたします。

関連情報