ampOSC

Manual

ampOSC sits in your menu bar, connects to an Allen & Heath console over the network, and re-publishes every parameter it can reach as a bidirectional OSC server. There is no window and nothing to configure beyond an address.

What it does

Allen & Heath consoles speak MIDI over TCP. Almost nothing else does. ampOSC translates between that and OSC, which QLab, TouchOSC, Version T, Max, a Stream Deck and anything with a UDP socket already speak.

The translation is not just a rename. Values arrive and leave in engineering units — a fader is dB, a filter is hertz, pan is −100 to +100 — so a cue that says -6.0 means six decibels down, on any of the four consoles, regardless of how that desk happens to encode a fader internally.

It is a bridge and nothing more. It stores no show, holds no cue list and has no opinion about your mix.

Installing

ampOSC is a Mac app, coming to the Mac App Store. It needs macOS 14.6 or later and runs as a menu bar item: there is no dock icon and no main window.

On first launch it will ask for permission to find devices on your local network. That is how it reaches the console, and declining it leaves the app with nothing to connect to.

The panel

Click the ampOSC icon in the menu bar and everything the app knows is in one panel.

The whole interface. Two connections, three numbers.

Two rows, each with a status dot and a gear:

  • OSC Server — the address and port your clients connect to. Green means the server is listening.
  • The console — named for the profile in use, with the console's IP underneath. Green means the MIDI TCP connection is up.

And three counts, which are the fastest diagnosis in the app:

CountWhat it meansZero means
Channels Parameters discovered on the console The console is not really connected, whatever the dot says
Clients OSC clients that have sent at least one message Nothing has reached the server — check the port and the firewall
Subscriptions Parameters clients are being kept up to date on Clients are talking but not listening — they have set values, never asked for any

Clients at zero with channels in the hundreds is the normal picture before a show. Channels at zero is always a problem.

Connecting a console

Open the gear on the console row. You need the console's IP address; the port is 51325 on every Allen & Heath desk and does not usually need changing.

Both machines must be on the same network, and the console's MIDI-over-TCP has to be enabled in its own settings — it is not on by default on every desk.

The MIDI channel base

These consoles spread their parameters across several consecutive MIDI channels, starting from a base you set on the console. ampOSC needs the same base, or it will read the right messages as the wrong ones. dLive and Avantis use five channels from the base; the SQ pair uses two, and SQ+ up to six.

The fader law — SQ and SQ+ only

The SQ and SQ+ have two selectable fader laws, Linear and Audio taper, and no message reports which one is active — so ampOSC has to be told. If it is set wrong, faders still move but land at the wrong level, which is worse than not working. Check the console's setting and match it.

dLive and Avantis have one fixed law, so there is nothing to set. This is the one thing on this page that is a genuine per-console gotcha rather than a difference in what is supported.

Connecting a client

Point your client at the address in the OSC Server row — port 8765 over UDP. There is no handshake and no password: send a message and you are a client.

/Input/1/Level ,f -6.0     set input 1 to -6 dB
/Input/1/Level             ask for it, and be told from now on
/Input/1/Mute ,T           mute
/Scene/Recall ,i 42        recall scene 42

Asking for a value also subscribes you to it, which is the quickest way to get a control surface in sync and keep it there. One message can address a range — /Input/1-48/Level — so a client can subscribe to a whole desk in a handful of packets.

Any number of clients can connect at once, each with its own subscriptions. The full address list is in the OSC reference.

Browsing channels

The console row's gear opens a browser of everything ampOSC has found, grouped by channel type — inputs, groups, auxes, matrices, FX, DCAs. It is how you confirm the app is seeing the desk you think it is.

Names and colours come from the console, on the consoles that send them.

Each tab carries its own count, so DCA (24) tells you the profile expects 24 of them. Where the console provides channel names and colours, they appear here as they are on the desk — which makes it obvious at a glance whether you are looking at the right show.

Names and colours are dLive and Avantis only. The SQ and SQ+ do not send them over MIDI, so the browser shows numbers there. Nothing is wrong.

Your console

All four are supported, and they differ in what their own protocol exposes. None of this is a limit in ampOSC — it is what the manufacturer publishes.

 dLiveAvantisSQSQ+
Levels, mutes, sends
Channel names and colours
Pan
DCA and mute group assignment
Send routing on and off
Preamp gain, pad, 48 V
EQ and filters
Scenes500500300300
Reading a value backeverythingname and colour onlyeverythingeverything
Fader law to set

Two things worth knowing. Nothing meters — no Allen & Heath protocol reports audio level over MIDI, so no client can draw a meter from ampOSC. And Avantis cannot be asked for anything but a name or colour, so ampOSC tracks state from the moment it connects; a value changed on the desk before ampOSC was running is one it cannot know about until you move it.

If something is wrong

The console row is red, or channels is zero

Check the IP, check both machines are on the same network, and check MIDI over TCP is enabled on the console. Only one MIDI TCP client can usually connect at a time, so another app or a previous session holding the socket will keep ampOSC out.

Clients stays at zero

The client is not reaching the server. Confirm the address in the OSC Server row, that the client is sending UDP to 8765, and that macOS is not blocking incoming connections in System Settings under Network → Firewall.

Faders move but land at the wrong level

On SQ or SQ+, this is the fader law. Match the setting in ampOSC to the one on the console.

Values change on the desk and the client never hears

The client has set values but never subscribed. Send a GET — the bare path with no value — for each parameter it wants to follow, or a /Subscribe/… with a range.

Checking your version

About ampOSC, from the button at the foot of the panel.

About ampOSC at the foot of the panel carries the version. Quote it when reporting a problem — the support page has a form that asks for it.

Building against ampOSC? The OSC reference lists every address, and the protocol is published in full as BroadwayOSC.