Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've bought some new speakers, and they play much louder than my old ones. It's so much that I most of the time keep them at 1% to 3% in alsamixer, which is -103dB to -84dB.

This obviously leaves little room for details in configuration. 3 options in total. What I would like is to be able to set them at 1.6% or 2.3%. Or even better: to tweak the function mapping percentages to dB, so I could make the load "area" take up less "room" in the percentage scale.

Do you by any chance know if alsa supports this level of configuration?

share|improve this question
up vote 2 down vote accepted

You can use amixer to better control the volume. But it really depends on the channel/card. For example, my card only has 255 levels, so even if I issue amixer set PCM '0.1dB-', the volume is reduced by a full 0.2 dB.

Btw, it's a command line program, not graphical control. See man amixer or amixer -h.

share|improve this answer
Thank you. I couldn't get absolute or relative dB setting to work, but I can use amixer sset Master 0.1%+ and amixer sset Master 0.1%- to finely adjust volume. – Thomas Ahle Jan 26 '12 at 20:08
It also seems like alsa internally uses a playback limit in the range 0 - 65536. 2% thus corresponds to 0.02*65536, and so it is not possible to "remap" percentages to different dB levels. – Thomas Ahle Jan 26 '12 at 20:12

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.