使用 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 中播放电影。杜比/DTS 音轨均在完整 5.1 中工作,并且被我的接收器检测到。
  2. 启动 xbmc 时使用 pasuspender 禁用 pulseaudio,并将自定义直通设备设置为 hw:1,1。这样可以正确传递杜比/DTS 流,接收器可以正确检测并播放这些流,不会出现问题。

假设的问题/解决方案:

  1. 声卡显示有 2 个输出,一个是数字的,另一个是模拟的。它只有物理数字输出。我假设模拟输出不会接触信号,而数字输出会接触信号,Pulse Audio/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 这样的管道,这是另一个需要跨越的配置障碍,但目前我被困在第一个块上。

提前感谢您的回复/建议!

相关内容