Zone Series · OSC Generator

Build OSC for Optimal Audio Zone 4/4P/8/8P controllers — copy the path for Companion, QLab or TouchOSC, or grab the raw OSC bytes for a binary sender like the Symetrix Radius NX12x8 (also Crestron, AMX…).

OSC · UDP/TCP 8000
Zone level
Generated OSC
/oa/zone/set/zone/1/level/music
Address/oa/zone/set/zone/1/level/music
Argument,f 0.5
TransportUDP → optimalaudio.local:8000
SchwiftyEx

Full OSC message — paste straight into SchwiftyEx, a QLab network cue, or any OSC tool with a text field. Binary senders (Symetrix Radius, Crestron, AMX) should use the raw bytes above instead.

Raw OSC packet 40 bytes

The byte block is the complete OSC message exactly as it goes on the wire — send it verbatim from any binary/raw UDP sender.

How to send OSC to Optimal Audio Zone

Zone 4/4P/8/8P controllers accept Open Sound Control over Ethernet — the same paths documented on page 42 of the WebApp User Guide. OSC is a binary protocol, not ASCII: each message is an address string, a type-tag, then the value, all null-padded to 4-byte boundaries. This tool builds that packet for you.

STEP 1

Put the Zone on your network

Wire the Zone unit to the same LAN as your controller. Reach it at optimalaudio.local or its IP (WebApp → Settings → Network). A static IP is recommended for fixed installs.

STEP 2

Open a socket to port 8000

Open a UDP or TCP socket to the Zone on port 8000. UDP is fine for fire-and-forget control; TCP lets you also read parameters and receive live updates.

STEP 3

Send the packet

OSC-native senders (Companion, QLab, TouchOSC) take the address + value above. On a Symetrix Radius NX12x8, add a String Output module in binary/hex mode, paste the Symetrix (comma-hex) copy, aim it at the Zone's IP on UDP 8000, and add no carriage return (max 63 bytes/message). Crestron/AMX: use the hex or 0x array.

Zone levels

Zone 1 music level to 50%
/oa/zone/set/zone/1/level/music  ,f 0.5
Zone 3 mic level to 80%
/oa/zone/set/zone/3/level/mic  ,f 0.8
Zone 2 System Mic 1 level to 0 (off)
/oa/zone/set/zone/2/level/system_mic_1  ,f 0.0

Source & limits

Select source in Zone 4
/oa/zone/set/zone/4/source  ,i 2
Zone 1 music min level
/oa/zones/set/zone/1/level_min/music  ,f 0.1
Zone 1 music max level
/oa/zones/set/zone/1/level_max/music  ,f 0.9

Names, sync & status

Rename Zone 1
/oa/zone/set/name/zone_1  ,s "Bar"
Pull all parameters (TCP)
/oa/zone/sync
Firmware version → e.g. v1.3.0
/oa/zone/version

Values. Levels are floats (,f) — this tool uses the normalised 0.0–1.0 range from Optimal Audio's TouchOSC templates. Source select takes an integer (,i) index. Names take a string (,s).
Reading back. Over TCP, send /oa/zone/sync for all parameters, or /oa/zone/status/sync for names + status; while the socket stays open, live changes stream to you. Status replies (faults, clips, temperatures) arrive as floats on /oa/zone/status/….
Official templates. Optimal Audio publishes ready-made TouchOSC files (Zone4OSC, Zone8OSC, StatusOSC) at optimal-audio.co.uk/support/software. This generator is a companion for senders that aren't OSC-native. More on the Optimal Audio WebApp.