Many laptops are hampered by a maximum volume that seems much too quiet and it's particularly annoying when you're trying to play some media that was encoded with poor audio settings, so that there's almost nothing heard at all. In such cases, it would be nice to amplify the sound above the normal 100% full volume (well I'm talking laptop speakers, not plugin ones).
VLC can boost to about 125% and Mpv can go up to 130% by pressing the * key. Pulse audio has some settings to boost to 150%, but can it be done on a system with just Alsa installed? Yes it can, but it actually rendered my system frozen on several ocassions!
First you need to create an Alsa config file, and in there you make a new control that makes the default audio channel its slave, and then that new control sets a higher max dB limit.
There are quite a few forum posts (like here) with ideas, but when I tried following them I had endless problems with Alsa not able to recognise the slave.
I then found this config layout which is simpler and it worked for my box, in that I boosted my audio, but it left my system unstable - suspend and shutdown commands froze the desktop. So its not yet perfect.
from ..reddit.com/r/archlinux/comments/..
or `sudo touch /etc/asound.conf`
and add this content:
then do
play an audio in terminal - check if any errors
Note: some laptops may need to replace line `type plug` with `type hw`
After messing around trying to add a softvol control with the wrong config layout, my box failed to suspend or shutdown! A previous control remained in the alsa mixer board.
So how to make Alsa forget an old unneeded control? The answer was here ..archlinux.org/..
then make alsactl non-executable to prevent settings being written on shutdown
reboot and restore alsactl to be executable, and store alsactl again
Note: after that I needed another restart and when I opened alsa mixer I had to bring PCM down to a moderate level (<43 for audio file).
However, my system still failed to shutdown because of using softvol and I reverted to normal sound for now (need time to fugure it out)