table of contents
        
      
      
    | SNDIOCTL(1) | General Commands Manual | SNDIOCTL(1) | 
NAME¶
sndioctl —
    manipulate audio device controls
SYNOPSIS¶
sndioctl | 
    [-dimnqv]
      [-f device]
      [command ...] | 
  
DESCRIPTION¶
The sndioctl utility can display or
    manipulate controls of sndio(7) audio devices, like the
    output level. The options are as follows:
-d- Dump the raw list of available controls and exit. Useful as a debugging tool.
 -fdevice- Use this sndio(7) audio device.
 -i- Display characteristics of requested controls instead of their values.
 -m- Monitor and display audio controls changes.
 -n- Suppress printing of the variable name.
 -q- Suppress all printing when setting a variable.
 -v- Enable verbose mode, a.k.a. multi-channel mode. By default controls affecting different channels of the same stream are disguised as a single mono control to hide details that are not essential.
 
If no commands are specified, all valid controls are
    displayed on
    stdout. Unless
    -d, -m,
    -n, or -i are used,
    displayed lines are valid commands. The set of available controls depends on
    the audio device.
Commands use the following two formats to display and change controls respectively:
[group/]stream[channel].function[group/]stream[channel].function=valueOn the left-hand side are specified the control group (if any), the affected stream name, and the optional channel number. Examples of left-hand side terms:
output.leveloutput[0].levelIf the channel number (including the brackets) is omitted, the command is applied to all channels.
Values are numbers between 0 and 1. Two-state controls (switches) take either 0 or 1 as value, typically corresponding to the off and on states respectively.
If a decimal is prefixed by the plus (minus) sign then the given value is added to (subtracted from) the current value of the control. If "!" is used instead of a number, then the switch is toggled.
EXAMPLES¶
Increase the level control affecting all
    output channels by 10% of the maximum:
$ sndioctl
  output.level=+0.1Mute all output channels:
$ sndioctl output.mute=1Toggle the above mute control:
$ sndioctl output.mute=!Allow audio recording and set all input
    channels to 50%:
# sysctl kern.audio.record=1 $ sndioctl input.mute=0 input.level=0.5
SEE ALSO¶
| October 30, 2025 | Linux 6.17.3-1-default |