以 24 位运行 PulseAudio 以匹配硬件的优缺点?

vic*_*ont 12 sound pulseaudio alsa external-soundcard

长期潜伏者,第一次发帖-请温柔。

我试图让我的 USB 音频接口重现位完美的音频。它是一个 Native Instruments Audio Kontrol 1,在我的 Ubuntu 14.04LTS 系统上即插即用。

声卡本机以 24 位/192KHz 运行,虽然我可以编辑 asound.conf 使其以其他采样率运行,但仅支持 24 位深度(不是 16)。

我知道默认情况下 ALSA 和 PulseAudio 都会将音频素材下采样到 16 位/48KHz。我可以编辑每个的配置文件,以便它们以 24 位/48KHz 运行。我知道这会增加 CPU 开销。听起来不错吧?

我有两个问题/保留意见:

a.)这里说 ALSA 会自动将所有音频播放重新采样为 16-bit/48KHz 。这会覆盖我的卡在 asound.conf 中的设置吗?

b.) 如果是这样,以 24 位运行 PulseAudio 是否只是浪费开销(因为 PulseAudio 使用 ALSA 作为声卡的中间层)?

感谢您的任何帮助,您可以提供!

小智 10

a) 简而言之:没有。默认情况下,pulseaudio 和 alsa 配置为 44.1kHz 16 位音频。但是,如果您将pulseaudio 配置为例如48kHz 和24 位音频,请参阅下面的详细信息,这是假设支持的设备的最低要求。例如,我配置了pulseaudio,并且没有对alsa 做任何更改,以便为我的外部USB DAC 提供96KHz 和24 位音频流。DAC 上的 LED 确认更改后获得 96kHz(@24 位)。

b) 鉴于上述情况,NA :)。

关于如何配置 (pulseaudio):使用 sudo 和您最喜欢的编辑器 /etc/pulse/daemon.conf 进行编辑,然后查找以下几行:

; default-sample-format = s16le
; default-sample-rate = 44100
Run Code Online (Sandbox Code Playgroud)

通过删除“;”取消注释 并根据自己的喜好更改设置。例如:

default-sample-format = s24le
default-sample-rate = 192000
Run Code Online (Sandbox Code Playgroud)

然后重新启动pulseaudio(使用您的用户帐户,没有sudo):

pulseaudio -k
pulseaudio --restart
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式确认更改的设置:

pacmd list-sinks 
Run Code Online (Sandbox Code Playgroud)

并查找与您的 Native Instruments 设备对应的“接收器”的“示例规范”。