Pros/cons of running PulseAudio at 24 Bits to match hardware?

Long-time lurker, first post - please be gentle.

I am trying to get my USB audio interface to reproduce bit-perfect audio. It is a Native Instruments Audio Kontrol 1, which is plug-and-play on my Ubuntu 14.04LTS system.

The sound card runs at 24-bit/192KHz natively, and while I can edit asound.conf to make it run at other sampling rates, only 24-bit depth is supported (not 16).

I understand that by default both ALSA and PulseAudio will downsample audio material to 16-bits/48KHz. I can edit the config files of each so that they run at 24-bit/48KHz instead. I understand that this will increase CPU overhead. Sounds good right?

I have two questions/reservations:

a.) It says here that ALSA automatically resamples all audio playback to 16-bit/48KHz . Does this override my card's settings in asound.conf ?

b.) If so, is running PulseAudio at 24 bits just a waste of overhead (Since PulseAudio uses ALSA as an intermediary layer to the soundcard)?

Thanks for any help you can provide!


Solution 1:

a) In short: no. By default pulseaudio and alsa are configured for 44.1kHz 16-bit audio. However, if you configure pulseaudio to e.g. 48kHz and 24-bit audio, see below for details, that's the minimum your device will get assuming it's supported. E.g. I configured pulseaudio, and made no changes to alsa whatsoever, to feed my external USB DAC with a 96KHz and 24-bit audio stream. LED's on the DAC confirm it's getting the 96kHz (@24-bit) after the change.

b) Given the above, NA :).

On how to configure (pulseaudio): edit with sudo and your favorite editor /etc/pulse/daemon.conf and look for the following lines:

; default-sample-format = s16le
; default-sample-rate = 44100

uncomment by removing the ';' and change settings to your liking. E.g.:

default-sample-format = s24le
default-sample-rate = 192000

Then restart pulseaudio (with your user account, no sudo):

pulseaudio -k
pulseaudio --restart

You can confirm settings changed with:

pacmd list-sinks 

and look for 'sample spec' for the 'sink' that corresponds to your Native Instruments device.