network-audio-controller

Control Audinate Dante network audio devices without Dante Controller

UNLICENSE License

Downloads
273
Stars
196
Committers
1

Description

This is a python program for controlling Dante network audio devices (and possibly others in the future). It's early, so expect things to break or switches to change. Use this at your own risk; it's not ready for anything other than a test environment and could make the devices behave unexpectedly. The first goal is to do everything that Dante Controller can do that would be useful for control of the devices from a command-line interface or within scripts.

For more information, check out the gearspace discussion.

Demo

Features

Current

  • AVIO input/output gain control
  • Add/remove subscriptions
  • CLI
  • Display active subscriptions, Rx and Tx channels, devices names and
    addresses, subscription status
  • JSON output
  • Set device latency, sample rate, encoding
  • Set/reset channel names, device names
  • mDNS device discovery

Planned

  • Change channel/device names without affecting existing subscriptions
  • Change/display device settings (AES67 mode)
  • Client/server modes
  • Command prompt
  • Control of Shure wireless devices (Axient
    receivers
    and
    PSM
    transmitters
    )
  • Gather information from multicast traffic (make, model, lock status,
    subscription changes)
  • Signal presence indicator
  • Stand-alone command API
  • TUI
  • Web application UI
  • XML output (such as a Dante preset file)

Installation

To install from PyPI on most systems, use pip or pipx:

pipx install netaudio
pip install netaudio

To install the package from a clone:

pipx install --force --include-deps .

Arch Linux

To install from AUR, build the package with aur/python-netaudio. Otherwise, install with pipx.

For development, install the following packages:

pacman -S community/python-pipx community/python-poetry

WSL / Ubuntu

apt-get install pipx
pipx install netaudio

For development, also install poetry:

pipx install poetry

MacOS

Install pipx with brew and then use it to install:

brew install pipx
brew link pipx
pipx install netaudio

For development, use brew to install and link poetry:

brew install poetry
brew link poetry

Usage

To run without installing or for development, use poetry:

poetry install
poetry run netaudio

Run tests during development:

poetry run pytest

Otherwise, run netaudio.

Documentation