LinuxCommandLibrary

amixer

Control audio mixer settings from command line

TLDR

Turn up the master volume by 10%

$ amixer -D pulse sset Master [10%+]
copy

Turn down the master volume by 10%
$ amixer -D pulse sset Master [10%-]
copy

SYNOPSIS

amixer [global-options] [control-options] [command]

PARAMETERS

-c, --card=NUMBER
    Select soundcard number (default: 0)

-d, --device=NAME
    Select device name (default: hw:X)

-D, --config-default=NAME
    Use config defined in alsa.conf

-h, --help
    Show summary of options

-i, --inactive
    Show also inactive controls

-n, --nocheck
    Do not perform range checking

-q, --quiet
    Be quiet

-s, --stdout
    Use stdout

-t, --terminal
    How to use terminal (ansi|vt100|color|emacs|lightbg|darkbg)

-v, --version
    Print version information

contents
    Show contents of mixer control

controls
    List all mixer controls

scontents NAME
    Show contents of simple mixer control

scontrols
    List simple mixer controls

set|sset NAME VALUE
    Set control value (full/simple mode)

get|sget NAME
    Get control value (full/simple mode)

DESCRIPTION

Amixer is a powerful command-line tool from the ALSA (Advanced Linux Sound Architecture) suite for viewing and controlling mixer settings on Linux sound cards. It interacts directly with ALSA kernel drivers to adjust parameters like volume levels, mute/unmute states, capture sources, and playback switches.

Users can query current mixer states, list available controls, or set values for specific channels (e.g., Master, PCM, Headphone). It supports multiple sound cards and devices, making it ideal for scripts, remote management, or headless systems where GUI tools like alsamixer aren't feasible.

Amixer offers both simple (sget/sset/scontrols) and full (get/set/controls) interfaces. Simple mode provides concise output for scripting, while full mode shows detailed info including interfaces and values. Common tasks include boosting volume (amixer set Master 80%), toggling mute (amixer set Master unmute), or enumerating controls. It's lightweight, fast, and essential for audio automation in servers or embedded systems.

CAVEATS

Requires ALSA kernel modules; some controls need root privileges. Not all sound cards support every control. Use --nocheck cautiously to avoid invalid settings.

COMMON EXAMPLES

amixer sset Master 80% - Set master volume to 80%.
amixer set PCM unmute - Unmute PCM channel.
amixer scontrols - List simple controls.

SCRIPTING TIP

Combine with grep and awk for automation, e.g., amixer sget Master | grep 'values:'.

HISTORY

Developed as part of the ALSA project (started 1998), amixer first appeared in alsa-utils ~0.9 (early 2000s). Evolved with ALSA 1.x for modern kernels; actively maintained for PipeWire/PulseAudio compatibility.

SEE ALSO

alsamixer(1), alsactl(1), aplay(1), arecord(1)

Copied to clipboard