sndioctl - manipulate audio device controls


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.

−f device

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=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 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.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

sioctl_open(3) GNU $Mdocdate$ SNDIOCTL(1)


Updated 2024-01-29 - jenkler.se | uex.se