AC3 和 DTS 輸出使用 Pulseaudio 中的 a52 ALSA 插件產生蜂鳴/噪音

AC3 和 DTS 輸出使用 Pulseaudio 中的 a52 ALSA 插件產生蜂鳴/噪音

注意:我希望這是問題的正確網站,因為我使用的是 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/。虛擬設備在脈衝音訊中顯示良好,但這次聲音是一種更令人不快的噪音。我認為這是因為聲卡正在對訊號執行某些操作,因為接收器無法將其識別為杜比或 DTS。

我嘗試過的事情:

  1. 使用 VLC 在 Windows 中播放影片。兩個杜比/DTS 音軌都以完整的 5.1 格式運作,並被我的接收器偵測到。
  2. 啟動 xbmc 並將自訂直通裝置設為 hw:1,1 時,使用 pahanger 停用pulseaudio。這會正確傳遞接收器正確偵測並播放的杜比/DTS 串流,不會有任何問題。

假設的問題/解決方案:

  1. 音效卡有 2 個輸出,一個是數位輸出,另一個是類比輸出。它只有實體數位輸出。我假設類比輸出不會接觸到訊號,而數位輸出會接觸到訊號,這就是脈衝音訊/alsa 附加插件來破壞流的原因。這就是為什麼 hw:1,1 在直通時可以正確工作的原因。我需要告訴 alsa/pulseaudio 將 ac3 或 dts 編碼插件應用到設備 1(而不是 0),該設備可能被檢測為模擬設備。我嘗試在設定檔中新增裝置 1,但出現錯誤。

如何強制將我的卡的所有輸出檢測為數字,或者設置 alsa 將 a52 插件僅應用於特定的卡/設備(在我的情況下為 hw:1,1)?

一點背景:

  1. 我需要將所有音訊以 ac3/dts 串流的形式適當地混合到音效卡中進行編碼,這樣我就可以對所有音訊使用 5.1 設定(立體聲被上混)。
  2. 我強烈希望盡可能使用數位路徑(因此在最終放大之前只有我的接收器 DAC,而不是如果我使用具有多通道類比輸出的聲卡,則可能必須處理鏈中的多個 ADC/DAC。
  3. 目的是使用 brutefir 或其他卷積引擎對每個揚聲器進行單獨的房間校正,這樣我就有了一種使用濾波器單獨尋址每個通道的方法。這可能意味著像 alsa <- jack <-pulse 這樣的管道,這是另一個要跨越的配置障礙,但現在我陷入了第一個區塊。

預先感謝您的回覆/建議!

相關內容