amixer
Control audio mixer settings from command line
TLDR
Turn up the master volume by 10%
Turn down the master volume by 10%
SYNOPSIS
amixer [options] [command]
PARAMETERS
-h, --help
Show help text and exit.
-c, --card CARD
Select the soundcard to use, specified by number or identifier.
-D, --device DEVICE
Select the mixer device to use.
-n, --nocheck
Do not perform range checking.
-v, --version
Show the version number and exit.
-d, --debug
Enable debug messages.
sget CONTROL
Get the current settings of a specified control.
sset CONTROL VALUE[%]
Set the value of a specified control. Can include a percentage for relative adjustments.
VALUE can be a number, or 'unmute', 'mute', 'toggle'.
sset CONTROL VALUE%[DIRECTION]
Set the value of a specified control using relative adjustement based on percentage.
DIRECTION can be 'up' or 'down'.
controls
List all controls.
contents
Dump all contents.
DESCRIPTION
amixer is a command-line mixer for the ALSA (Advanced Linux Sound Architecture) soundcard driver.
It allows you to control sound volume and other audio settings of your sound card directly from the terminal.
amixer is commonly used in scripts and automated processes where graphical interfaces are not available or preferred.
It provides granular control over individual mixer controls and allows you to view and adjust levels, unmute/mute channels, select input sources, and more.
amixer interacts with the ALSA sound system to manipulate the settings of sound cards, making it a versatile tool for audio configuration in Linux environments.
This is a crucial command to configure soundcards from headless systems.
CAVEATS
Changes made with amixer may not be persistent across reboots unless saved using alsactl store.
CONTROL NAMES
Control names can be complex strings containing spaces and punctuation.
Using double quotes is often necessary when specifying a control name with sget or sset.
Partial names are also supported.
UNDERSTANDING THE OUTPUT
The output of 'amixer sget' shows the current volume level, mute status, and other relevant settings for a control. It provides detailed information about each channel and its properties.
HISTORY
amixer is a part of the ALSA project, which started in the late 1990s as a replacement for the older OSS (Open Sound System) audio API. It was developed to provide a more robust, feature-rich, and flexible audio framework for Linux.
The initial development focused on improving the sound card driver architecture and providing a standardized API for audio applications. As ALSA matured, command-line tools like amixer were created to allow users to interact with and configure the audio system without relying on graphical interfaces.
The tool has seen continuous improvements and updates over the years, reflecting the evolving needs of the Linux audio community.