Comment 10 for bug 107232

Revision history for this message
Moises Marangoni (moises-marangon) wrote :

Workaround
Works well for me

Unlike my previous machines, my Thinkpad T61 doesn't have a hardware volume
control. Since most media isn't normalised, the built-in speakers often
struggle to be heard over environmental noise. Eventually I got fed up with
this and found out how to get around it with some magic in /etc/asound.conf
(system-wide) or ~/.asoundrc (per-user):

    pcm.!default {
        type plug
        slave.pcm "softvol"
    }

    pcm.softvol {
        type softvol
        slave {
            pcm "dmix"
        }
        control {
            name "Pre-Amp"
            card 0
        }
        min_dB -5.0
        max_dB 20.0
        resolution 6
    }

I now have a "Pre-Amp" control that goes from line level to +20 dB in
increments of 5 dB. Unfortunately min_dB must be set below zero, but oddly
enough setting the control to the lowest position seems to force it to mute.
The final result is:
┌─────┐
│ 100 │ +20 dB
│ 80 │ +15 dB
│ 60 │ +10 dB
│ 40 │ +5 dB
│ 20 │ Line Level (No Amp.)
│ 00 │ Mute
└─────┘

Now when I play something soft I can temporarily pump up the volume much
higher than the software mixer would otherwise allow, then lower it afterwards
to not distort loud or normalised audio.

Hope someone else finds this useful!
Thanks Matthew Rosewarne