Command to unmute and maximize volume?

60,673

Solution 1

Try the following commands in a terminal

amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute

This should ensure all outputs are controlled. It's likely with your posted commands the reason the volume is not 100% is that the amixer does not release all outputs eg headphones or any other sound outputs at the same time.

Solution 2

Even better is this one, unmute all audio devices. and set volume to 70%

for x in `amixer controls  | grep layback` ; do amixer cset "${x}" on ; done


for x in `amixer controls  | grep layback` ; do amixer cset "${x}" 70% ; done

in the example above the HDMI and optical isn't unmutted..

Solution 3

Get all sounds sources, get their names, form a command line with amixer and execute it

amixer scontrols | grep -oE "'.*'" | awk -F\' \
 '{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh

Unmutes all audio devices and sets their volume to max.

Have a great one, Mike

Solution 4

Mark Rooney's solution did not work for me, but I was able to work around this by explicitly unmuting all of the channels.

#!/bin/bash

for i in Master Headphone PCM Front Surround Center LFE Side; do
    amixer -c 0 set "$i" playback unmute
done &>/dev/null

I got the channel names but running alsamixer.

Solution 5

Ok, first you need to know your different card numbers from

alsamixer

select cards from F6 and note the card number that has Master option

If you use headphones, then we change both Master and Headphone

amixer -c 1 set Master toggle && amixer -c 1 set Headphone toggle

where -c specifies the card number, 1 in this command.

Share:
60,673
giuspen
Author by

giuspen

Software development engineer, active open source developer.

Updated on September 18, 2022

Comments

  • giuspen
    giuspen over 1 year

    I need to mute/unmute from the command line. I found out that I can do it with:

    amixer sset Master mute
    amixer sset Master unmute
    

    the problem is that the command for unmute is not working (as described also in this bug report: https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/878986)

    My question is: is there another way to obtain the same result, taken that amixer is not working?

    Furthermore, if I set manually the volume to minimum and then call

    amixer sset Master 100%
    

    the volume increases but doesn't switch to maximum, even if the stdout tells:

    Simple mixer control 'Master',0
    Capabilities: pvolume pswitch pswitch-joined penum
    Playback channels: Front Left - Front Right
    Limits: Playback 0 - 31
    Mono:
    Front Left: Playback 31 [100%] [0.00dB] [on]
    Front Right: Playback 31 [100%] [0.00dB] [on]
    

    Can anybody help me with this?

  • giuspen
    giuspen over 12 years
    with your commands the volume is lowered/raised but not to minimum/maximum as I would need
  • djb
    djb about 10 years
    Thanks. The commands in other answers, such as 'amixer -c 0 set Master playback 100% unmute' or 'amixer set Master unmute' did not work for me (even if I mute via 'amixer set Master mute').
  • irbanana
    irbanana almost 6 years
    This one works good for me, the only thing left unmentioned is that this sets PCM to a hard value of 100 out of a ceiling 255, so the volume will be a little quiet. You can further adjust this with amixer -c 0 set PCM 100%. (@Kubuntu 18.04/awesomewm)
  • Sudip Bhattarai
    Sudip Bhattarai about 3 years
    This solution won't raise the volume sufficiently. remember that the ranges for the volume control is 0 to 65536. amixer set Master 65536 will set the volume to maximum.