---
name: "mixer"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/mixer/8"
---

# mixer(8)

manipulate soundcard mixer controls

## NAME

**mixer** – manipulate soundcard mixer controls

## SYNOPSIS

**mixer** \[**-f** *device*\] \[**-d** *pcmX* \| *X*\] \[**-os**\] \[*dev*\[**.***control*\[**=***value*\]\]\] *...*

**mixer** \[**-os**\] **-a**

**mixer** **-h**

## DESCRIPTION

The **mixer** utility is used to set and display soundcard mixer device controls.

The options are as follows:

- **-a**

  Print the values for all mixer devices available in the system (see FILES).

- **-d** *pcmX* \| *X*

  Change the default audio card to *pcmX*, where X is the device's unit number (e.g for pcm0, the unit number is 0). See EXAMPLES on how to list all available audio devices in the system.

- **-f** *device*

  Open *device* as the mixer device (see FILES).

- **-h**

  Print a help message.

- **-o**

  Print mixer values in a format suitable for use inside scripts. The mixer's header (name, audio card name, ...) will not be printed.

- **-s**

  Print only the recording source(s) of the mixer device.

The list of mixer devices that may be modified are:

**vol**, **bass**, **treble**, **synth**, **pcm**, **speaker**, **line**, **mic**, **cd**, **mix**, **pcm2**, **rec**, **igain**, **ogain**, **line1**, **line2**, **line3**, **dig1**, **dig2**, **dig3**, **phin**, **phout**, **video**, **radio**, and **monitor**.

Not all mixer devices are available.

Without any arguments, **mixer** displays all information for each one of the mixer's supported devices to *stdout*. If the *dev* argument is specified, **mixer** displays only the values for *dev*. More than one device may be specified.

Commands use the following format:

| | |
| --- | --- |
| **Name** | **Action** |
| *dev* | Display all controls |
| *dev***.***control* | Display only the specified control |
| *dev***.***control***=***value* | Set control value |

The available controls are as follows (replace *dev* with one of the available devices):

| | |
| --- | --- |
| **Name** | **Value** |
| *dev***.volume** |  |
| *dev***.mute** | **off**\|**on**\|**toggle** |
| *dev***.recsrc** | **toggle**\|**add**\|**remove**\|**set** |

The *dev***.volume** control modifies a device's volume. The optional *lvol* and/or *rvol* values have to be specified. The values should typically be decimal numbers between 0 and 1 with at most 2 digits after the decimal point. A trailing percent sign indicates that the value should be treated as a percentage of 1.0, rather than an absolute value. Thus, 70% means the same as 0.7. If the left or right volume values are prefixed with **+** or **-**, the value following will be used as a relative adjustment, modifying the current settings by the amount specified. Note that relative percentages are still relative to 1.0, not to the current value. If the volume is currently 0.40 and an adjustment of +20% is specified, then the final volume will be set to 0.60.

Volume can also be set using the shorthand *dev***=value**. This syntax does not apply to other controls.

The *dev***.mute** control (un)mutes a device. The following values are available:

- **off**

  unmutes *dev*

- **on**

  mutes *dev*

- **toggle**

  toggles the mute of *dev*

The *dev***.recsrc** control modifies the recording sources of a mixer. **mixer** marks devices which can be used as a recording source with **rec**. Recording sources are marked with **src**. To modify the recording source you can use one of the following modifiers on a **rec** device:

- **toggle**

  toggles *dev* of possible recording devices

- **add**

  adds *dev* to possible recording devices

- **remove**

  removes *dev* from possible recording devices

- **set**

  makes *dev* the only recording device.

## FILES

- */dev/mixerX*

  The mixer device, where X is the unit number of that device, */dev/dsp\** devices and */dev/mixer\** devices have a 1:1 relationship, which means that, for instance, */dev/mixer0* is the mixer device for */dev/dsp0*.

- /dev/mixer

  Alias to the default device's mixer device. **mixer** opens this when the **-f** *device* option is not specified.

## EXAMPLES

List all available audio devices in the system:

```
$ mixer -a | grep ^pcm
```

Increase the **vol** device's volume by 5%:

```
$ mixer vol=+5%
```

Change the volume for the **vol** device of the */dev/mixer0* mixer device to 0.65:

```
$ mixer -f /dev/mixer0 vol.volume=0.65
```

Increase the **mic** device's left volume by 0.10 and decrease the right volume by 0.05:

```
$ mixer mic.volume=+0.10:-0.05
```

Toggle the mute for **vol**:

```
$ mixer vol.mute=toggle
```

Add **mic** and remove **line** from the recording devices:

```
$ mixer mic.recsrc=add line.recsrc=remove
```

Dump */dev/mixer0* information to a file and retrieve back later:

```
$ mixer -f /dev/mixer0 -o > info
...
$ mixer -f /dev/mixer0 `cat info`
```

## SEE ALSO

[mixer(3)](/mixer/3.md), [sound(4)](/sound/4.md), [sysctl(8)](/sysctl/8.md)

## HISTORY

The **mixer** utility first appeared in FreeBSD 2.0.5 and was rewritten completely in FreeBSD 14.0.

## AUTHORS

Christos Margiolis ⟨*christos@FreeBSD.org*⟩
