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.
Born in 1982, Marc Richter is an IT enthusiast since 1994. He became addicted when he first put his hands on their family’s PC and never stopped investigating and exploring new things since then.
He is married to Jennifer and a proud father of two wonderful children.
His current professional focus is DevOps and Python development.
An exhaustive bio can be found in this blog post.