Python OSC server working with Presonus StudioLive equipment (w/ StudioLive 24.4.2 Support)
Find a file
2026-08-27 17:50:37 +02:00
osclive feat: add basic studiolive 24.4.2 support over firewire 2026-08-27 17:50:37 +02:00
tools show as well actual levels of inputs, use radio control type 2023-12-09 10:43:29 +01:00
.gitignore Complete rework 2023-12-05 08:43:14 +01:00
LICENSE Complete rework 2023-12-05 08:43:14 +01:00
osclive-config-example.yaml Complete rework 2023-12-05 08:43:14 +01:00
pyproject.toml chore: bump version to 0.3.0 2025-09-11 19:23:24 +02:00
README.md specify UC version in readme 2023-12-06 19:54:57 +01:00

osclive

Python OSC server for remote control of the PreSonus StudioLive mixer

Motivation

Original tool from PreSonus provides remote control application only for iOS. osclive is an alternative solution, which provides standard OSC interface. The OSC interface can be adapted by various GUI clients.

Supported hardware

Currently the osclive server is tested on StudioLive 16.0.2 FireWire version, but maybe it can be expanded to other models.

Osclive implements two backends for communication with mixer:

  1. Universal Control client:

    Connects to the Universal Control application running on Windows or MacOS. It is compatible with Universal Control version 1.7.6.

  2. Direct access to the mixer over FireWire

    Connects to the mixer over raw1394 library and directly accesses mixer configuration registers. The pyraw1394 library is currently Linux only, but works also on ARM (tested on RPi4-CM with PCIe FireWire adapter).

Both backend methods are reverese-engineered, so not all features of the original control application can be used, but the main functionality is supported and stable.

Setup

Install this Python package as usual:

pip install --user https://github.com/martinspinler/osclive

For the raw1394 backend you need also to install pyraw1394 library.

Run osclive main script (your Python bin folder should be already in PATH env var).

For the UC backend use the -u addr parameter, where addr is the IP address of the server running Universal Control application.

Client

The recommended client is TouchOSC.

You can generate layout for TouchOSC by script located in tools/topyg.py. The scripts needs just the tosclib Python library.

The osclive server broadcasts a Zeroconf service info, if your client doesn't support Zeroconf, use the TCP protocol with OSC 1.0 framing and port 4301.

Screenshot 1

Screenshot 2