Summary
The Sonifex RB-DMX4 is a one-to-four mono distribution amplifier / dual mono creator providing four mono outputs from up to four digital audio inputs. This spec covers RS-232 serial control via the Sonifex Serial Control Interface (SCI) protocol: a 3-letter ASCII command set terminated by CR (optional LF), with -ACK: responses and structured status reports.
Transport
# RB-DMX4 uses RS-232 serial exclusively per source.
protocols:
- serial
serial:
baud_rate: 19200
data_bits: 8
parity: even
stop_bits: 1
flow_control: xon_xoff
connector: "DB-9 (D-sub 9-pin); Pin 2 TX, Pin 3 RX, Pin 5 GND; pin-to-pin cable to PC"
auth:
type: none # inferred: no login/password/auth procedure described in source
Framing (verbatim from source):
- 3-letter command, colon, parameter(s), CR terminator (optional LF ignored).
- Commands are not case sensitive.
- Responses are CR & LF terminated.
- On power-up the unit sends an initialisation string
Initialising DMX4.
Traits
- routable # inferred: source select / mix matrix commands present
- queryable # inferred: FPS: and SRQ: status queries present
- levelable # inferred: input gain (IG) and output gain (OG) commands present
Actions
# Enumerated from the RB-DMX4 Serial Interface Commands and Responses table.
# Each distinct command-bearing row from the source is a separate action.
# Parameterized values within a single command are not split into separate actions.
- id: baudrate_change
label: Set Baud Rate
kind: action
command: "B{nn}:" # e.g. B19: for 19200; see nn table in notes
params:
- name: nn
type: string
description: Baud code - 11=115200, 57=57600, 38=38400, 19=19200, 96=9600
- id: firmware_upgrade_initiate
label: Initiate Firmware Upgrade
kind: action
command: "DWN:"
params: []
- id: front_panel_status
label: Front Panel & Unit Status
kind: query
command: "FPS:"
params: []
# Response: -FPS:aa_bb_cc_dd_ee_ff_gg_hh_ji_lk (aa/bb input source, cc sync mode, dd serial flag, ee frequency, ff/gg/hh source + monitor attenuation + DIP switch, ji/jk/lk mix matrix)
- id: input_gain
label: Set Input Gain
kind: action
command: "IG{channel}:{nn}"
params:
- name: channel
type: integer
description: Input channel (1..4 - per source, channel designation)
- name: nn
type: string
description: Hex gain 0x00 (mute) .. 0xFE (0dBFS)
- id: monitor_attenuation
label: Attenuate Monitor by 12dB
kind: action
command: "MAT:{nn}"
params:
- name: nn
type: string
description: "00 = no attenuation, 01 = 12 dB attenuation"
- id: mix_matrix_set
label: Set Mix Matrix
kind: action
command: "MMS:{n},{m}"
params:
- name: n
type: string
description: Output channel (1..4)
- name: m
type: string
description: Hex bitwise sum of inputs to route - INPUT1=0x1, INPUT2=0x2, INPUT3=0x4, INPUT4=0x8
- id: sync_mode
label: Sync Mode Selection
kind: action
command: "MOD:{nn}"
params:
- name: nn
type: string
description: "00=Master, 01=Auto, 02=Auto Lock, 03=Slave"
- id: monitor_channel_select
label: Select Monitor Channel
kind: action
command: "MON:{nn}"
params:
- name: nn
type: string
description: "00=Output1, 01=Output2, 02=Output3, 03=Output4"
- id: mono_stereo_mode
label: Mono or Stereo Selection
kind: action
command: "MOS:{nn}"
params:
- name: nn
type: string
description: "00=Mono, 01=Stereo"
- id: output_gain
label: Set Output Gain
kind: action
command: "OG{channel}:{nn}"
params:
- name: channel
type: integer
description: Output channel (1..4 per source)
- name: nn
type: string
description: Hex gain - 0x00=0dBFS, 0x01=3dBFS, 0x02=6dBFS, 0x03=12dBFS
- id: output_sample_rate
label: Output Sample Rate Selection
kind: action
command: "FRQ:{nn}"
params:
- name: nn
type: string
description: "00=32k, 01=44.1k, 02=48k, 03=88.2k, 04=96k, 05=176.4k, 06=192k"
- id: source_select
label: Source Select
kind: action
command: "SS{input}:{nn}"
params:
- name: input
type: integer
description: Input being changed (1 or 2)
- name: nn
type: string
description: "00=AES/EBU, 01=S/PDIF, 02=Optical"
- id: status_request
label: Status Request
kind: query
command: "SRQ:"
params: []
# Response: -SRQ:aa_bb_cc_dd_ee_ff_gg_hi_jj_kkkk (input lock, sync flash, per-input gain, output gain)
- id: sync_source_select
label: Sync Source Select
kind: action
command: "SYS:{nn}"
params:
- name: nn
type: string
description: "00=Input1, 01=Input2, 02=AES/EBU, 03=Word Clock, 04=Video Sync Board"
- id: unit_id
label: Unit Id Request
kind: query
command: "UID:"
params: []
# Response: -UID:RB-DSD1 (per source)
- id: version_number
label: Version Number Request
kind: query
command: "VER:"
params: []
# Response: -VER:x.xxx,y.yyy (firmware version + front panel firmware version)
Feedbacks
# Observable states / query responses from source.
# Each field is one part of the FPS: or SRQ: response envelope.
- id: input_source_input_1_2
type: enum
values: [aes_ebu, spdif, toslink]
description: "Input 1 & 2 source selection (aa in FPS response); 00=AES/EBU, 01=S/PDIF, 02=TOSLINK"
- id: input_source_input_3_4
type: enum
values: [aes_ebu, spdif, toslink]
description: "Input 3 & 4 source selection (bb in FPS response)"
- id: sync_mode_fps
type: enum
values: [master, auto, auto_lock, slave]
description: "Sync Mode Selection (cc in FPS response); 00=Master, 01=Auto, 02=Auto lock, 03=Slave"
- id: serial_mode_flag
type: enum
values: [off, on]
description: "Serial Flag Indication (dd in FPS response); 00=Serial mode off, 01=on"
- id: output_sample_rate_freq
type: enum
values: [32k, "44_1k", "48k", "88_2k", "96k", "176_4k", "192k"]
description: "Frequency (ee in FPS response); 00=32k..06=192k"
- id: input_lock_status_1
type: enum
values: [locked, unlocked]
description: "Input 1 lock status (aa in SRQ response); 01=locked, 00=unlocked"
- id: input_lock_status_2
type: enum
values: [locked, unlocked]
description: "Input 2 lock status (bb in SRQ response)"
- id: sync_flash
type: enum
values: [flashing, not_flashing]
description: "Sync Flash (cc in SRQ response); 01=Flashing, 00=Not flashing"
- id: input_gain_input_1
type: string
description: "Input Gain For INPUT 1 (dd in SRQ); hex 0x00 (Mute) .. 0xFE (0dBFS)"
- id: input_gain_input_2
type: string
description: "Input Gain For INPUT 2 (ee in SRQ); hex 0x00..0xFE"
- id: input_gain_input_3
type: string
description: "Input Gain For INPUT 3 (ff in SRQ); hex 0x00..0xFE"
- id: input_gain_input_4
type: string
description: "Input Gain For INPUT 4 (gg in SRQ); hex 0x00..0xFE"
- id: output_gain_outputs_1_2
type: string
description: "Output Gain For OUTPUTS 1 and 2 summed (i in SRQ hi field); see note for hex values per input pair"
- id: output_gain_outputs_3_4
type: string
description: "Output Gain For OUTPUTS 3 and 4 summed (h in SRQ hi field); see note for hex values per input pair"
- id: version_firmware
type: string
description: "Firmware version from -VER:x.xxx,y.yyy (x.xxx component)"
- id: version_front_panel
type: string
description: "Front panel firmware version from -VER:x.xxx,y.yyy (y.yyy component)"
Variables
# Source has no separate "variable" registers; all settable parameters are exposed
# as parameterised actions (IG, OG, MMS, MAT, MOD, MOS, SYS, SS, FRQ).
# UNRESOLVED: section kept for schema completeness - no source-evidenced variables.
Events
# Unsolicited notifications from source: only the power-up banner.
- id: power_up_banner
description: "On power-up the unit transmits the string `Initialising DMX4` followed by CR LF."
Macros
# UNRESOLVED: source does not describe multi-step macro sequences.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source does not state explicit safety warnings, interlocks, or
# power-on sequencing requirements for the RB-DMX4. DIP switch 11 must be ON
# for serial control to be active (per source) - this is operational, not safety.
Notes
Source coverage gap
Source PDF refinement bundle is misnamed sonifex_rb_ss10_unknown but contains
protocol material for RB-DMX4 (RS-232, source/refined chunk 1), RB-IPE
(TCP/UDP port 31781, Ethernet protocol commands, chunk 5), RB-TGHD
(RS-232 tone generator protocol, chunks 5–6), and an unrelated RB-OA3
(DIP-switch only, no machine protocol). No RB-SS10 protocol content is
present in the source.
This spec covers the RB-DMX4 only. Brief notes on the other devices for the operator's awareness — do NOT drive them from this spec:
- RB-IPE — TCP/UDP port 31781. Commands are case-sensitive (unlike
RB-DMX4). Same 3-letter command structure. Optional 5-char prefix
NNNN#command. Includes GPI/GPO/ADC/DAC commands, network config (UID, NET, NOP, SER, MAC, VER, WID), error codesERR:02/03/04. Default static IP 192.168.0.100/24, gateway 192.168.0.1; DHCP-on-fallback after 45s. - RB-TGHD — RS-232, baud/data/parity not stated in source for TGHD (defaults not in refined extract). Commands not case-sensitive. Includes SCH (set channels), SSL/SSM/SSQ (loop/mode/sequence), SRS (sequence restart), SRQ (status), USQ sub-commands 0–B (user sequence programming, including USD/USC/USS read-back), BSV (bootloader version). Errors ERR:01/02/04 + 10–17 for user-sequence programming.
- RB-SS10 — not present in this source.
Output gain coding (per source)
For the SRQ hi field, gain is packed two outputs at a time:
- Inputs 1/3 (odd outputs): 0x00=0dB, 0x01=+3dB, 0x02=+6dB, 0x03=+12dB
- Inputs 2/4 (even outputs): 0x00=0dB, 0x04=+3dB, 0x08=+6dB, 0x0C=+12dB
- Example from source: inputs 1+2 at +3dB, inputs 3+4 at +12dB → h = 0x03+0x0C = 0x0F, i = 0x01+0x04 = 0x05
Baud rate command codes (RB-DMX4, per source)
- 11 = 115200
- 57 = 57600
- 38 = 38400
- 19 = 19200 (default)
- 96 = 9600
Error codes (RB-DMX4, per source)
- Err:01 — command not found
- Err:02 — missing parameter
- Err:04 — parameter out of range
DIP-switch requirement
Source states: "Make sure that the RB-DMX4 is configured to operate via serial control by setting DIPSwitch 11 to ON." (Per SCi for RB-DMX4 section.)
Provenance
source_domains:
- ad56550c.delivery.rocketcdn.me
- sonifex.co.uk
source_urls:
- https://ad56550c.delivery.rocketcdn.me/wp-content/uploads/products/RB-SS10/redbox-06_hb.pdf
- https://sonifex.co.uk/wp-content/uploads/products/RB-SS10/redbox-06_hb.pdf
retrieved_at: 2026-09-03T02:40:18.373Z
last_checked_at: 2026-09-21T22:17:26.052Z
Verification Summary
verdict: verified
checked_at: 2026-09-21T22:17:26.052Z
matched_actions: 16
action_count: 16
confidence: medium
summary: "All 16 spec actions match RB-DMX4 wire-literal commands verbatim in source; transport params 19200/8/E/1/XON-XOFF and pin assignments present; one-to-one coverage. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "Source file is named `sonifex_rb_ss10_unknown` but actually contains RB-DMX4, RB-IPE, RB-TGHD protocol material. RB-SS10 content is not present in this source. Spec covers RB-DMX4 only. RB-IPE and RB-TGHD protocol details are extracted in this spec's Source Coverage Notes."
- "section kept for schema completeness - no source-evidenced variables."
- "source does not describe multi-step macro sequences."
- "source does not state explicit safety warnings, interlocks, or"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0