ampOSC
Your console, as an OSC server.
ampOSC connects to an Allen & Heath console over MIDI on TCP and republishes every parameter it exposes as BroadwayOSC — the same open protocol Version T speaks. QLab, Companion, TouchOSC or a script of your own can read a value, set it, or subscribe and be told when it changes.
Coming to the Mac App Store — free
What it is for
Consoles speak MIDI, and they speak it in different dialects depending on which one you have. Show control software speaks OSC. ampOSC sits between the two so you write one address, not a protocol implementation — and because the namespace is BroadwayOSC, a cue stack written against Version T addresses an Allen & Heath desk unchanged.
It runs in the menu bar with no dock icon, holds no account, sends nothing off your network, and needs no extra hardware.
One address, whichever desk is in the room
Channels are named and numbered from one, and an index can be a single channel, a range, a list or a wildcard — so one message can address 576 crosspoints.
/Input/3/Level ,f -6.0 set input 3 to -6 dB
/Input/3/Pan ,f -100.0 hard left
/Input/*/Level get every input fader, and subscribe
/Input/1-8/Mute ,T mute inputs 1 to 8
/Scene/Recall ,i 42 recall scene 42
/Unsubscribe/* let go of everything A path sent with no value is a question, and asking also subscribes you — which is the shortest way to get a client in sync and keep it there.
Every value is in engineering units. A level is dB — −90 to +10, unity at 0, −90 fully off — a pan is −100 to +100, a frequency is hertz. Never a 0-to-1 float, because each console encodes a fader differently: one packs the range into a single byte, another sends a coarse and fine pair under one of two selectable laws. A normalised number would land at a different level on each desk. The conversion happens inside ampOSC, at the wire; a client never sees a raw console value.
The protocol is published. Address format, message intent, the whole namespace, value types and engineering-unit ranges are in the BroadwayOSC specification — v1.0.2, and the same document Version T is built to. Download PDF · Download Markdown.
Four consoles, two ways of addressing them
They do not share one protocol. dLive and Avantis address a channel as a MIDI channel plus a note; SQ and SQ+ use NRPN parameter numbers. They differ again in ports, in fader resolution, and in what the console will expose at all. ampOSC normalises what it can and is honest about the rest.
- dLive
- The fullest of the four. Everything below, plus preamp, four-band EQ and high-pass filter, over an encrypted, authenticated socket.
- Avantis
- Levels, mutes, sends, DCA and mute-group assignment, names and colours, scenes, strips, SoftKeys and the UFX units. It answers a get for names and colours only, so everything else has to be tracked from the moment it connects.
- SQ
- Levels, mutes, sends, routing, pan and balance, scenes and cues, strips, SoftKeys and rotaries. Three matrix.
- SQ+
- Everything the SQ has, with six matrix and the four RackUltra FX units on top.
Two limits worth knowing, both the consoles' and not the app's. Nothing meters — no published protocol reports audio level over the MIDI link, so no OSC client can draw a meter from it. And on the SQ pair the fader law is a console setting that no message reports: the same decibel value is a different pair of bytes under each law, so ampOSC has to be told which one the desk is set to rather than being able to ask it.
Getting started
- Open ampOSC from the menu bar and pick your console from the discovery list.
- Point your OSC client at the address and port shown on the card — 8765 by default.
- Send
/Input/*/Leveland you are subscribed to every input fader.
Allen & Heath, dLive, Avantis, SQ and SQ+ are trademarks of Allen & Heath Limited. ampOSC is not affiliated with or endorsed by them.