Summary
Digital mixing console with MIDI control via the rear-panel MIDI In/Out sockets and TCP/IP control via the Network port. TCP/IP wraps the same MIDI message set; clients connect to TCP port 51325. This spec enumerates every command documented in the GLD MIDI Protocol (firmware V1.4).
Transport
protocols:
- midi
- tcp
addressing:
port: 51325 # source: "Clients should be configured to use TCP port 51325"
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- levelable # fader levels, send levels
- routable # input to main assign, DCA assign
# Note: no power/toggle or unsolicited-event evidence in this MIDI protocol doc.
# powerable not inferred - GLD is a console, no power command in this doc.
# queryable not inferred - get/Pad-status and get/Name reply messages exist
# but at protocol level they are reply sysex pairs; listed under Feedbacks below.
Actions
- id: mute_on
label: Mute On
kind: action
command: "9{N} {CH} 7F 9{N} {CH} 00" # NOTE ON vel>40 + NOTE OFF pair
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table: FX Send 1-8 = 00-07, FX Return 1-8 = 08-0F, DCA 1-16 = 10-1F, Input 1-48 = 20-4F, Mix 1-20 = 60-73)
- id: mute_off
label: Mute Off
kind: action
command: "9{N} {CH} 3F 9{N} {CH} 00" # NOTE ON vel<40 + NOTE OFF pair
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- id: fader_level
label: Set Fader Level
kind: action
command: "B{N} 63 {CH} B{N} 62 17 B{N} 06 {LV}" # NRPN param ID 17
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: LV
type: integer
description: Fader value -inf to +10dB = 00-7F (see Fader level table)
- id: assign_to_main_on
label: Channel Assign to Main Mix ON
kind: action
command: "B{N} 63 {CH} B{N} 62 18 B{N} 06 7F" # NRPN param ID 18, value 40-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- id: assign_to_main_off
label: Channel Assign to Main Mix OFF
kind: action
command: "B{N} 63 {CH} B{N} 62 18 B{N} 06 3F" # NRPN param ID 18, value 00-3F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- id: aux_fx_send_level
label: Set AUX/FX Send Level
kind: action
command: "B{N} 63 {CH} B{N} 62 {Snd} B{N} 06 {LV}" # NRPN param ID Snd for Mix 1-30 = 20-3D
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Source channel number (see CH table)
- name: Snd
type: integer
description: Parameter ID 20-3D (Mix 1-30 target send)
- name: LV
type: integer
description: Send value -inf to +10dB = 00-7F
- id: dca_assign_on
label: DCA Assign ON
kind: action
command: "B{N} 63 {CH} B{N} 62 40 B{N} 06 {DB}" # NRPN param ID 40, value 40-4F for DCA 1-16
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: DB
type: integer
description: DCA target 1-16 = 40-4F (hex)
- id: dca_assign_off
label: DCA Assign OFF
kind: action
command: "B{N} 63 {CH} B{N} 62 40 B{N} 06 {DA}" # NRPN param ID 40, value 00-0F for DCA 1-16
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: DA
type: integer
description: DCA target 1-16 = 00-0F (hex)
- id: preamp_gain
label: Socket Preamp Gain
kind: action
command: "E{N} {MP} {GV}" # Pitchbend message
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: MP
type: integer
description: Preamp socket number (dSNAKE 1-24=00-17, dSNAKE Exp 1-8=18-1F, dSNAKE Exp 9-16=28-2F, Surface Exp 1-8=20-27, Surface 41-44=30-33)
- name: GV
type: integer
description: Gain value +10 to +60 dB = 00-7F (see Gain value table)
- id: preamp_pad_get
label: Get Socket Preamp Pad Status
kind: query
command: "F0 00 00 1A 50 10 01 00 0{N} 07 {MP} F7" # Sysex Header, 07, MP
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: MP
type: integer
description: Preamp socket number
- id: preamp_pad_set
label: Set Socket Preamp Pad
kind: action
command: "F0 00 00 1A 50 10 01 00 0{N} 09 {MP} {Pad} F7" # OFF=00-3F, ON=40-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: MP
type: integer
description: Preamp socket number
- name: Pad
type: integer
description: OFF=00-3F, ON=40-7F
- id: preamp_48v_get
label: Get Socket Preamp 48V Status
kind: query
command: "F0 00 00 1A 50 10 01 00 0{N} 0A {MP} F7"
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: MP
type: integer
description: Preamp socket number
- id: preamp_48v_set
label: Set Socket Preamp 48V (Phantom Power)
kind: action
command: "F0 00 00 1A 50 10 01 00 0{N} 0C {MP} {48V} F7" # OFF=00-3F, ON=40-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: MP
type: integer
description: Preamp socket number
- name: "48V"
type: integer
description: "OFF = 00-3F, ON = 40-7F"
- id: channel_name_get
label: Get Channel Name
kind: query
command: "F0 00 00 1A 50 10 01 00 0{N} 01 {CH} F7"
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- id: channel_name_set
label: Set Channel Name
kind: action
command: "F0 00 00 1A 50 10 01 00 0{N} 03 {CH} {Name} F7" # Name = up to 8 hex ASCII chars (5 displayed)
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: Name
type: string
description: Up to 8 hex ASCII characters (up to 5 displayed on GLD strip LCD)
- id: channel_colour_get
label: Get Channel Colour
kind: query
command: "F0 00 00 1A 50 10 01 00 0{N} 04 {CH} F7"
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- id: channel_colour_set
label: Set Channel Colour
kind: action
command: "F0 00 00 1A 50 10 01 00 0{N} 06 {CH} {Col} F7" # Col = 00-07
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: Col
type: integer
description: "Colour index 00-07 (off = 00; 7 colours; 00 = off per source)"
- id: scene_recall_bank0
label: Scene Recall (Bank 0, Scenes 1-128)
kind: action
command: "B{N} 00 00 C{N} {SS}" # SS = 00-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: SS
type: integer
description: Scene 1-128 = 00-7F (hex)
- id: scene_recall_bank1
label: Scene Recall (Bank 1, Scenes 129-256)
kind: action
command: "B{N} 00 01 C{N} {SS}" # SS = 00-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: SS
type: integer
description: Scene 129-256 = 00-7F (hex)
- id: scene_recall_bank2
label: Scene Recall (Bank 2, Scenes 257-384)
kind: action
command: "B{N} 00 02 C{N} {SS}" # SS = 00-7F
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: SS
type: integer
description: Scene 257-384 = 00-7F (hex)
- id: scene_recall_bank3
label: Scene Recall (Bank 3, Scenes 385-500)
kind: action
command: "B{N} 00 03 C{N} {SS}" # SS = 00-73
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: SS
type: integer
description: Scene 385-500 = 00-73 (hex)
- id: mix_select
label: Mix Select
kind: action
command: "A{N} {CH} {Sel}" # Polyphonic Key Pressure; Sel 0=off, 1=on
params:
- name: N
type: integer
description: MIDI channel 1-16 (hex 0-F)
- name: CH
type: integer
description: Channel number (see CH table)
- name: Sel
type: integer
description: "0 = MIX off, 1 = MIX on"
- id: midi_strip_fader
label: MIDI Strip Fader (Custom MIDI)
kind: action
command: "B1 00 {VAR} - B1 1F {VAR}" # 32 strips mapped to channel numbers 00-1F; VAR is fader position value
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by fader position
- id: midi_strip_rotary_gain
label: MIDI Strip Rotary Gain
kind: action
command: "B2 00 {VAR} - B2 1F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by rotary position
- id: midi_strip_rotary_pan
label: MIDI Strip Rotary Pan
kind: action
command: "B2 20 {VAR} - B2 3F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by rotary position
- id: midi_strip_rotary_custom1
label: MIDI Strip Rotary Custom 1
kind: action
command: "B2 40 {VAR} - B2 5F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by rotary position
- id: midi_strip_rotary_custom2
label: MIDI Strip Rotary Custom 2
kind: action
command: "B2 60 {VAR} - B2 7F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by rotary position
- id: midi_strip_mute_key
label: MIDI Strip Mute Key
kind: action
command: "91 00 {VAR} - 91 1F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by key position
- id: midi_strip_mix_key
label: MIDI Strip Mix Key
kind: action
command: "91 20 {VAR} - 91 3F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by key position
- id: midi_strip_pafl_key
label: MIDI Strip PAFL Key
kind: action
command: "91 40 {VAR} - 91 5F {VAR}"
params:
- name: strip
type: integer
description: Strip index 0-31 (encoded as channel low-nibble 00-1F)
- name: VAR
type: integer
description: Value determined by key position
Feedbacks
# Reply shapes documented by source as paired Sysex responses to query actions.
- id: preamp_pad_reply
description: "Reply to preamp_pad_get: F0 00 00 1A 50 10 01 00 0N 08 {MP} {Pad} F7"
fields:
Pad: "00 = OFF, 7F = ON"
- id: preamp_48v_reply
description: "Reply to preamp_48v_get: F0 00 00 1A 50 10 01 00 0N 0B {MP} {48V} F7"
fields:
"48V": "00 = OFF, 7F = ON"
- id: channel_name_reply
description: "Reply to channel_name_get: F0 00 00 1A 50 10 01 00 0N 02 {CH} {Name} F7"
fields:
Name: "string of hex ASCII characters (up to 8)"
- id: channel_colour_reply
description: "Reply to channel_colour_get: F0 00 00 1A 50 10 01 00 0N 05 {CH} {Col} F7"
fields:
Col: "00-07 (off = 00; 7 colours; off = 00 per source)"
# Unsolicited feedback: GLD transmits Scene Recall (Bank + Program Change) when
# a Scene is recalled from the GLD screen.
- id: scene_recall_unsolicited
description: "GLD transmits this message when a Scene is recalled from the GLD screen"
shape: "B{N} 00 {bank} C{N} {SS}"
Variables
# Discrete settable parameters already represented as Actions in the source.
# Source does not define separate "variable" surfaces distinct from the
# action payloads above.
# UNRESOLVED: none beyond what is covered by Actions.
Events
- id: scene_recalled
description: "GLD transmits Bank + Program Change when a Scene is recalled locally on the console."
shape: "B{N} 00 {bank} C{N} {SS}"
notes: "Also listed under Feedbacks; mirrored here as an unsolicited event."
Macros
# UNRESOLVED: source does not document any multi-step command sequences
# (macros). Remove this section if not applicable.
Safety
confirmation_required_for:
- preamp_48v_set # turning 48V phantom power on can damage ribbon mics / unbalanced gear
interlocks: []
# UNRESOLVED: source contains no formal safety or interlock procedures;
# 48V warning above is Tier-2 caution inferred from "Phantom Power" semantics,
# not from explicit safety text in the source.
Notes
- All messages carry inside the TCP/IP stream as standard MIDI bytes; the GLD MIDI channel number is embedded and must match the GLD's Setup / Control / MIDI screen.
- Sysex Header is
F0 00 00 1A 50 10 01 00 0NwhereNis the hex MIDI channel (0-F). CHencoding (per source table): FX Send 1-8 = 00-07, FX Return 1-8 = 08-0F, DCA 1-16 = 10-1F, Input 1-48 = 20-4F, Mix 1-20 = 60-73.MPpreamp socket numbers depend on physical source (dSNAKE 1-24 / dSNAKE EXPANDER 1-8 / 9-16 / Surface EXPANDER 1-8 / Surface 41-44). Multiple sockets across dSNAKE + expanders share the 28-2F range (dSNAKE Exp 9-16 and Surface Exp 1-8 are different ranges; source table disambiguates).- Fader value formula in source:
[(Gain+54)/64]*7F; Gain formula:[(Gain-10)/55]*7F. - "Mix Select" is a Polyphonic Key Pressure message — distinct from MIDI Aftertouch on this device.
- MIDI Strip messages were added in firmware V1.4; all other messages available from V1.1.
- The 32 MIDI Strips are routed to custom MIDI messages stored within Scenes; defaults can be restored by recalling Scene 498 in the Template Show.
Provenance
source_domains:
- allen-heath.com
source_urls:
- https://www.allen-heath.com/content/uploads/2023/06/GLD-MIDI-and-TCPIP-Protocol-V1.4_2.pdf
- https://www.allen-heath.com/hardware/legacy-products/gld-80/resources/
retrieved_at: 2026-07-13T19:27:41.105Z
last_checked_at: 2026-07-21T20:06:11.468Z
Verification Summary
verdict: verified
checked_at: 2026-07-21T20:06:11.468Z
matched_actions: 30
action_count: 30
confidence: medium
summary: "All 30 spec actions matched source commands with exact literal wire tokens; transport parameters verified. (5 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "voltage, current, power, and physical pinout of MIDI/Network ports not stated in source."
- "none beyond what is covered by Actions."
- "source does not document any multi-step command sequences"
- "source contains no formal safety or interlock procedures;"
- "source does not state baud/data/parity for the 5-pin MIDI sockets (MIDI spec is implicit). Source does not document fault behavior, error recovery, firmware version compatibility ranges below V1.1, or transport-layer authentication for TCP port 51325."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0