[How to] Play High Resolution Audio on Linux

This is a tip for audiophiles who want to benefit from a maximum capability of sound system in their machine.

In its default setting, Linux offers sampling rate at 16 bits/44 kHz.

But modern sound cards can do much better than that. In the following tutorial, I will show you how to change this default setting to 32 bit/192 kHz.

All you need to do is edit: /etc/pulse/daemon.conf

  1. Open this file as a root with your favourite editor.

$ sudo mousepad /etc/pulse/daemon.conf

  1. Append the following lines at the end of this file.

default-sample-format = float32le
default-sample-rate = 192000
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 2
default-fragment-size-msec = 125
resample-method = soxr-vhq
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
rlimit-rtprio = 9
daemonize = no

  1. Confirm the current sampling rate in terminal.

$ pacmd list-sinks | grep -e 'name:|Hz'

it should return something similar to this:
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo>
sample spec: s32le 2ch 96000Hz
name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
sample spec: s32le 2ch 192000Hz
name: <alsa_output.usb-Topping_D30-00.analog-stereo>
sample spec: s32le 2ch 192000Hz


That was it!
Now you got a high resolution audio system on your machine :slight_smile:
For playing high resolution audio clips, I recommend Deadbeef. Binary installer can be downloaded at SourceForge.

For further reading, please refer to the following page, which this tutorial is based upon.
https://medium.com/@gamunu/enable-high-quality-audio-on-linux-6f16f3fe7e1f

2 Likes

I use Audacious, but I also use Deadbeef as it is a standalone app that requires no installation.

Great Tutorial and write-up.

1 Like