SNDIOCTL(1) General Commands Manual SNDIOCTL(1)

# [NAME](#NAME)

`sndioctl` — manipulate audio device controls

# [SYNOPSIS](#SYNOPSIS)

`sndioctl` \[`-dimnqv`] \[`-f` `device`] \[`command ...`]

# [DESCRIPTION](#DESCRIPTION)

The `sndioctl` utility can display or manipulate controls of [sndio(7)](/man/os/sndio/sndio.7) audio devices, like the output level. The options are as follows:

[`-d`](#d)

Dump the raw list of available controls and exit. Useful as a debugging tool.

[`-f`](#f) `device`

Use this [sndio(7)](/man/os/sndio/sndio.7) audio device.

[`-i`](#i)

Display characteristics of requested controls instead of their values.

[`-m`](#m)

Monitor and display audio controls changes.

[`-n`](#n)

Suppress printing of the variable name.

[`-q`](#q)

Suppress all printing when setting a variable.

[`-v`](#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*](#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=value`

On 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.level`

`output[0].level`

If 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*](#off) and [*on*](#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](#EXAMPLES)

Increase the `level` control affecting all `output` channels by 10% of the maximum:

`$ sndioctl output.level=+0.1`

Mute all `output` channels:

`$ sndioctl output.mute=1`

Toggle 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](#SEE_ALSO)

[sioctl\_open(3)](/man/os/sndio/sioctl_open.3)

Linux 4.19.0-gvisor

---

Document: sndioctl(1) from sndio 1.10.0-r10 (Chainguard OS)
Source: https://github.com/ratchov/sndio
