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.