Fix for audio mutes at low volume in Linux

Recently, I had the issue with my Mint Linux machine’s audio that when the volume of what is played dropped below a threshold, that channel was muted completely. I experienced this especially unpleasant when I had my headphones on since in passages with low volume, the sides switched from “low volume” to “completely off” independently multiple times each minute. It sounded as if there was a broken cable causing a loose contact.

After some searching, I found the solution here:
This can be solved by editing the pulseaudio configfiles as user root. First open the following file in your prefered texteditor as root:

$ sudo vim /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

In that file, locate the section “[Element PCM]”. On my Linux Mint 18.3 system, this looked like this:

[Element PCM]
switch = mute
volume = merge
override-map.1 = all 
override-map.2 = all-left,all-right

Change this to the following:

 

[Element PCM]
switch = mute
volume = ignore
volume-limit = 0.01
override-map.1 = all 
override-map.2 = all-left,all-right

 

The original article suggests to experiment with the volume-limit  value but for me, this worked already perfectly. So I did not invest too much time validating this.
I’d love to provide additional details on what these parameters are doing in detail actually, but the truth is that I could not find that info anywhere! I checked the comments in the source code, but these describe a completely different meaning for this:

 ; volume = ignore | merge | off | zero   # What to do with this volume: ignore it, merge it into the device
 ;                                        # volume slider, always set it to the lowest value possible, or always
 ;                                        # set it to 0 dB (for whatever that means)
+; volume-limit = <volume step>           # Limit the maximum volume by disabling the volume steps above <volume step>.

Feel free to add this info to the comments and I will update this article.

The author of the original forums article which inspired the original article‘s author to his article mentioned additional measures:

Also, adding “ignore_dB=1“:

load-module module-udev-detect ignore_dB=1

in ‘/etc/pulse/default.pa‘ (line 53~) and setting:

flat-volumes = no

in ‘/etc/pulse/daemon.conf‘ did make the volume control more usable for me.

I can only tell that I did not need any of these to make the issue go away, but maybe this is a valuable info in case this doesn’t work for you like it did for me.

After the changes are in place, you need to restart the PulseAudio daemon as your default user. You do not need to be root for this:

$ pulseaudio -k

When I did that, my music stopped immediately and I could not make it work again without a restart of the system; pulseaudio –start  did not work either. But since that restart of the system, I do not have any drops even at the lowest volumes anymore.