Summary
Audio DSP matrix processor supporting Ethernet-based control via a text-based UDP protocol. Commands are ASCII strings sent to UDP port 48630. The protocol supports querying, setting, and pushing controller values for faders, buttons, meters, and other DSP parameters. This document describes the Jupiter 4/8/12 control protocol; specific Symnet model controller number maps are not included in this source.
Transport
protocols:
- udp
addressing:
port: 48630 # stated: "Commands should be sent to UDP port number 48630"
auth:
type: none # inferred: no auth procedure in source
Traits
- queryable # GS, GSB, GSB2 commands return controller values
- routable # input selectors controllable via CS command
- levelable # faders (volume), meters readable
Actions
- id: controller_set
label: Controller Set
kind: action
params:
- name: controller_number
type: integer
description: Decimal controller number (1-10000)
- name: controller_position
type: integer
description: 16-bit position value (0-65535)
- id: change_controller
label: Change Controller
kind: action
params:
- name: controller_number
type: integer
description: Decimal controller number (1-10000)
- name: dec_inc
type: integer
description: 0 to decrement, 1 to increment
- name: amount
type: integer
description: Amount to change (0-65535)
- id: load_preset
label: Load Preset
kind: action
params:
- name: preset_number
type: integer
description: Preset number (1-50)
- id: flash_unit
label: Flash Unit
kind: action
params: []
- id: global_push_enable
label: Global Push Enable/Disable
kind: action
params:
- name: on_off
type: integer
description: 0=OFF, 1=ON
- name: low
type: integer
description: Optional lowest controller number
- name: high
type: integer
description: Optional highest controller number
- id: push_enable
label: Push Enable
kind: action
params:
- name: low
type: integer
description: Optional lowest controller number
- name: high
type: integer
description: Optional highest controller number
- id: push_disable
label: Push Disable
kind: action
params:
- name: low
type: integer
description: Optional lowest controller number
- name: high
type: integer
description: Optional highest controller number
- id: push_refresh
label: Push Refresh
kind: action
params:
- name: low
type: integer
description: Optional lowest controller number
- name: high
type: integer
description: Optional highest controller number
- id: push_clear
label: Push Clear
kind: action
params:
- name: low
type: integer
description: Optional lowest controller number
- name: high
type: integer
description: Optional highest controller number
- id: set_push_interval
label: Set Push Interval
kind: action
params:
- name: milliseconds
type: integer
description: Push interval in ms (20-30000)
- id: set_push_threshold
label: Set Push Threshold
kind: action
params:
- name: parameter_thresh
type: integer
description: Optional threshold for non-meter parameters (0-65535)
- name: meter_thresh
type: integer
description: Optional threshold for meters (0-65535)
- id: set_quiet_mode
label: Set Quiet Mode
kind: action
params:
- name: on_off
type: integer
description: 0=OFF, 1=ON
- id: set_echo_mode
label: Set Echo Mode
kind: action
params:
- name: on_off
type: integer
description: 0=OFF, 1=ON
- id: get_controller
label: Get Controller
kind: query
params:
- name: controller_number
type: integer
description: Decimal controller number (1-10000)
- id: get_controller_with_number
label: Get Controller with Controller Number
kind: query
params:
- name: controller_number
type: integer
description: Decimal controller number (1-10000)
- id: get_controller_block
label: Get Controller Block
kind: query
params:
- name: controller_number
type: integer
description: Starting decimal controller number (1-10000)
- name: block_size
type: integer
description: Number of consecutive controllers to return (1-256)
- id: get_controller_block_with_number
label: Get Controller Block with Controller Number
kind: query
params:
- name: controller_number
type: integer
description: Starting decimal controller number (1-10000)
- name: block_size
type: integer
description: Number of consecutive controllers to return (1-256)
- id: get_preset
label: Get Preset
kind: query
params: []
- id: get_push_enabled_controllers
label: Get Push-enabled Controllers
kind: query
params:
- name: low
type: integer
description: Optional lowest controller number to inquire about (1-10000)
- name: high
type: integer
description: Optional highest controller number to inquire about (1-10000)
Feedbacks
- id: ack_response
label: Acknowledgement
type: string
values:
- "ACK"
- id: nak_response
label: Negative Acknowledgement
type: string
values:
- "NAK"
- id: controller_value
label: Get Controller Response
type: string
description: Returns "<CONTROLLER NUMBER> <CONTROLLER POSITION>"
- id: controller_block_response
label: Get Controller Block Response
type: string
description: Returns multiple lines of "<CONTROLLER POSITION><CR>"
- id: controller_block_with_number_response
label: Get Controller Block with Number Response
type: string
description: Returns "#<CONTROLLER NUMBER>=<CONTROLLER POSITION><CR>" per controller
- id: preset_response
label: Get Preset Response
type: string
description: Returns "PrstD=<PRESET NUMBER>"
- id: push_data
label: Push Data
type: string
description: Unsolicited "#<CONTROLLER NUMBER>=<CONTROLLER POSITION><CR>" format
Variables
# Controller positions are read/writable via CS/GS commands; treated as actions above.
# No discrete settable parameters separate from controller numbers.
Events
- id: push_notification
label: Push Notification
type: string
description: |
Unsolicited controller value changes sent to originating IP/port.
Format: "#<CONTROLLER NUMBER>=<CONTROLLER POSITION><CR>"
Up to 64 controllers may be batched per push interval (default 100ms).
Only sent after at least one command has been received from the controller.
Macros
# No explicit multi-step macros described in source.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
- Protocol is UDP-based (not TCP/Telnet), port 48630. Commands may include optional zero-termination.
- Response routing: device stores last received IP address and port in non-volatile memory.
- Default quiet mode ON, echo mode OFF — most commands assume quiet mode ON.
- Fader positions: 0 = minimum, 65535 = maximum. Volume formula: dB = MIN + (MAX-MIN)*(pos/65535).
- Meter reading formula: Level dBu = 72*(value/65535) - 48; 0 value = -48 dBu or less.
- Push interval default: 100ms, range 20-30000ms.
- Push threshold default: 1 (both parameters and meters).
- Controller numbers 1-10000 addressable.
Provenance
source_domains:
- d3b79pswu7f4ma.cloudfront.net
source_urls:
- https://d3b79pswu7f4ma.cloudfront.net/pdf-download/Jupiter-Control-Protocol.pdf
retrieved_at: 2026-04-30T04:33:37.519Z
last_checked_at: 2026-06-02T22:15:25.589Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:15:25.589Z
matched_actions: 19
action_count: 19
confidence: medium
summary: "All 19 spec actions traced to source (dip-safe re-verify). (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "controller number maps for Symnet models not present in source; only generic Jupiter protocol described"
- "no safety warnings or interlock procedures in source"
- "RS-485 control mentioned but no RS-485 protocol details; ARC devices referenced but not covered"
- "specific Symnet model controller number maps not in source; generic Jupiter mapping only"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0