Skip to main content

CLI to control Behringer X-Air | Midas MR mixers through OSC

Project description

xair CLI

Command-line interface for controlling Behringer XAir and Midas MR digital mixers over OSC.

Features

  • Mixer Control - Adjust faders, mutes, pans, EQ, dynamics, and sends
  • Multi-Channel Operations - Control ranges (1-4), lists (1,3,5), or all channels at once
  • Scene Management - Load, save, and list mixer scenes
  • Network Discovery - Find mixers on your local network
  • Batch Commands - Execute scripts of mixer commands
  • Flexible Output - Human-readable, JSON, or plain key=value formats
  • Shell Completion - Bash, Zsh, and Fish completion scripts

Supported Mixers

  • Behringer XR18, XR16, XR12
  • Midas MR18
  • Behringer X32

Installation

From PyPI (package name: dc-xair-cli, CLI: xair):

python -m venv .venv
source .venv/bin/activate
pip install dc-xair-cli

From source (repo root):

./setup.sh

Or manually:

python -m venv .venv
source .venv/bin/activate
pip install -e "./xair-cli"

Quick Start

# Discover mixers on the network
xair discover

# Show mixer info
xair --ip 192.168.1.50 info

# Control channels
xair --ip 192.168.1.50 ch 1 fader -6
xair --ip 192.168.1.50 ch 1-4 mute on

# Load a scene
xair --ip 192.168.1.50 scene load 1

See QUICKSTART.md for more examples.

Configuration

Create a config file to avoid passing --ip every time:

xair config init

Edit ~/.config/xair/config.toml:

[connection]
ip = "192.168.1.50"
model = "XR18"

Or set environment variables:

export XAIR_IP="192.168.1.50"
export XAIR_MODEL="XR18"

Commands

Command Description
info Show mixer model, IP, and firmware
discover Find mixers on the network
status Show channel overview
ch Control input channels
bus Control output buses
lr Control main L/R output
dca Control DCA groups
fx Control FX slots
rtn Control FX returns
scene Manage scenes (load/save/list)
raw Send raw OSC commands
meters Show channel levels
batch Execute commands from file
config Manage configuration
completion Generate shell completions

Channel Properties

Property Description Range
fader Level in dB -90 to +10
mute Mute state on/off/toggle
name Channel name string
gain Preamp gain (channels only) 0-60 dB
phantom 48V phantom power on/off
pan Pan position -100 to +100
eq EQ enable on/off
gate Gate enable on/off
comp Compressor enable on/off
send.N Send level to bus N -90 to +10 dB

Relative Adjustments

Use + or -- for relative fader changes:

xair ch 1 fader +3      # Increase by 3 dB
xair ch 1 fader --6     # Decrease by 6 dB (double dash)

Output Formats

xair ch 1 fader              # Human readable
xair --json ch 1 fader       # JSON output
xair --plain ch 1 fader      # key=value pairs

Shell Completion

# Bash
xair completion bash >> ~/.bashrc

# Zsh
xair completion zsh >> ~/.zshrc

# Fish
xair completion fish > ~/.config/fish/completions/xair.fish

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dc_xair_cli-2.4.3.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dc_xair_cli-2.4.3-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file dc_xair_cli-2.4.3.tar.gz.

File metadata

  • Download URL: dc_xair_cli-2.4.3.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for dc_xair_cli-2.4.3.tar.gz
Algorithm Hash digest
SHA256 164636e9622093c45f47c0e5196bb6257f26a74caf8ce019f0ae8bdd180e1bf6
MD5 8924cde03b1bf2512b45d1517690438a
BLAKE2b-256 8da4cff903c0c742024dc208f4866658e9b5a0e82f8dda0123cbe35bd624035b

See more details on using hashes here.

File details

Details for the file dc_xair_cli-2.4.3-py3-none-any.whl.

File metadata

  • Download URL: dc_xair_cli-2.4.3-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for dc_xair_cli-2.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1b1c68455ac1020bc9bfc265ac89562bc01df12ba87454927f3cc5b3de79c98
MD5 5864955038fcaefaf3814cc0774cf533
BLAKE2b-256 65af28f60bb690ef7d7ad09316f82efd121f5f02f63d24dc304af81fb86f6aa6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page