Summary
Allen & Heath QU series digital mixers (Qu-16, Qu-24, Qu-32, Qu-Pac, Qu-SB) running firmware V1.9+. Control via MIDI over USB-B and TCP/IP (port 51325). Supports fader/pan/routing, processing (EQ, gate, compressor, delay), scene recall, meter feedback, and remote shutdown.
Transport
protocols:
- tcp
- usb # MIDI over USB-B, class compliant
addressing:
port: 51325 # TCP MIDI port stated in source
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # Remote Shutdown command present
- routable # Input/output routing, mix assign, DCA groups
- queryable # Scene recall, system state, meter data via SysEx
- levelable # Faders, send levels, gain, trim
Actions
- id: mute
label: Mute
kind: action
params:
- name: channel
type: integer
description: Channel number (0-based hex offset)
- name: mute_on
type: boolean
description: true = mute on (velocity >= 0x40), false = mute off (velocity < 0x40)
- id: fader
label: Fader
kind: action
params:
- name: channel
type: integer
- name: position
type: integer
description: 0x00 to 0x7F (inf to +10dB, 0dB = 0x62)
- id: pan
label: Pan
kind: action
params:
- name: channel
type: integer
- name: value
type: integer
description: 0x00 (Full Left) to 0x4A (Full Right), centre = 0x25
- name: mix_index
type: integer
description: VX value for target mix (0x04-0x07 = Mix 5-6 to LR, 0x08-0x0B = Grp, 0x0C-0x0D = MTX)
- id: lr_assign
label: LR Assign
kind: action
params:
- name: channel
type: integer
- name: on
type: boolean
description: 0x00 = off, 0x01 = on
- id: mix_assign
label: Mix Assign
kind: action
params:
- name: channel
type: integer
- name: mix_index
type: integer
description: 0x00-0x0B = Mix 1-9/10 + LR, 0x10-0x13 = FX send 1-4
- name: on
type: boolean
- id: mute_group_assign
label: Mute Group Assign
kind: action
params:
- name: channel
type: integer
- name: group
type: integer
description: Group 1-4 = index 0-3
- name: on
type: boolean
- id: dca_group_assign
label: DCA Group Assign
kind: action
params:
- name: channel
type: integer
- name: group
type: integer
description: Group 1-4 = index 0-3
- name: on
type: boolean
- id: mix_pre_post
label: Mix Pre/Post
kind: action
params:
- name: channel
type: integer
- name: mix_index
type: integer
- name: pre
type: boolean
description: 0x00 = Post, 0x01 = Pre
- id: send_level
label: Send Level
kind: action
params:
- name: channel
type: integer
- name: send_index
type: integer
description: VX value (0x00-0x06 = Mix, 0x08-0x0B = Grp, 0x10-0x13 = FX, 0x0C-0x0D = MTX)
- name: level
type: integer
description: 0x00 to 0x7F (-inf to +10dB)
- id: pafl_select
label: PAFL Select
kind: action
params:
- name: channel
type: integer
- name: on
type: boolean
- id: ch_usb_source
label: Channel USB Source
kind: action
params:
- name: channel
type: integer
- name: on
type: boolean
description: false = Preamp, true = USB
- id: ch_preamp_source
label: Channel Preamp Source
kind: action
params:
- name: channel
type: integer
- name: on
type: boolean
description: false = Local, true = dSNAKE
- id: dsnake_patch
label: dSNAKE Patch
kind: action
params:
- name: channel
type: integer
- name: socket_index
type: integer
description: 0x00 to 0x27
note: unidirectional - sent from mixer, not received
- id: local_preamp_gain
label: Local Preamp Gain
kind: action
params:
- name: channel
type: integer
- name: gain
type: integer
description: -5dB to +60dB = 0x00 to 0x7F
- id: digital_trim
label: Digital Trim
kind: action
params:
- name: channel
type: integer
- name: trim
type: integer
description: -24 to +24dB = 0x00 to 0x7F, 0dB = 0x40
- id: stereo_trim
label: Stereo Trim
kind: action
params:
- name: channel
type: integer
description: Applies to local ST1, ST2, ST3 inputs only
- name: trim
type: integer
description: -24 to +24dB = 0x00 to 0x7F, 0dB = 0x40
- id: polarity
label: Polarity
kind: action
params:
- name: channel
type: integer
- name: reversed
type: boolean
description: false = normal, true = reversed
- id: insert_in_out
label: Insert In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: peq
label: PEQ Parameter
kind: action
params:
- name: channel
type: integer
- name: param_id
type: integer
description: |
0x01=LF Gain, 0x02=LF Freq, 0x03=LF Width, 0x04=LF Type,
0x05=LM Gain, 0x06=LM Freq, 0x07=LM Width,
0x09=HM Gain, 0x0A=HM Freq, 0x0B=HM Width,
0x0D=HF Gain, 0x0E=HF Freq, 0x0F=HF Width, 0x10=HF Type
- name: value
type: integer
description: Depends on parameter (gain = -12 to +12dB = 0x00-0x7F, 0dB=0x40; freq = 20Hz-20kHz; width = 1.5 to 1/9 Oct; type = Bell=0x00, Shelf=0x06)
- id: peq_in_out
label: PEQ In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: hpf_freq
label: HPF Frequency
kind: action
params:
- name: channel
type: integer
- name: freq
type: integer
description: 20Hz to 20kHz = 0x00 to 0x7F
- id: hpf_in_out
label: HPF In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: geq_gain
label: GEQ Gain
kind: action
params:
- name: channel
type: integer
- name: band
type: integer
description: 0x00 to 0x1B (28 bands)
- name: gain
type: integer
description: -12 to +12dB = 0x00 to 0x7F
- id: geq_in_out
label: GEQ In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: gate
label: Gate Parameter
kind: action
params:
- name: channel
type: integer
- name: param_id
type: integer
description: 0x41=Attack, 0x42=Release, 0x43=Hold, 0x44=Threshold, 0x45=Depth
- name: value
type: integer
description: Attack=50us-300ms, Release=10ms-1s, Hold=10ms-5s, Threshold=-72 to +18dB, Depth=0-60dB
- id: gate_in_out
label: Gate In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: compressor
label: Compressor Parameter
kind: action
params:
- name: channel
type: integer
- name: param_id
type: integer
description: 0x61=Type, 0x62=Attack, 0x63=Release, 0x64=Knee, 0x65=Ratio, 0x66=Threshold, 0x67=Gain
- name: value
type: integer
description: Type=0x00-0x03, Attack=300us-300ms, Release=100ms-2s, Knee=Hard/Soft, Ratio=1:1-inf, Threshold=-46 to +18dB, Gain=0-18dB
- id: comp_in_out
label: Compressor In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: delay_time
label: Delay Time
kind: action
params:
- name: channel
type: integer
- name: time
type: integer
description: |
0x00 to 0x40 for Input (0-85ms linear);
0x00 to 0x7F for Mix/Group/Matrix (0-170ms linear)
- name: delay_type
type: integer
description: 0x07 = standard, 0x05 = Left tap, 0x07 = Right tap (for FX)
- id: delay_in_out
label: Delay In/Out
kind: action
params:
- name: channel
type: integer
- name: in
type: boolean
description: false = Out, true = In
- id: remote_shutdown
label: Remote Shutdown
kind: action
params: []
note: Requires hard power reset to switch on mixer after shutdown
- id: fx_delay_time
label: FX Delay Time (Tap Tempo)
kind: action
params:
- name: fx_channel
type: integer
- name: fine_value
type: integer
description: LSB fine resolution 0x00-0x7F
- name: coarse_value
type: integer
description: MSB coarse resolution 0x00-0x7F
- name: tap
type: integer
description: 0x05=Left tap, 0x07=Right tap
- id: fx_delay_link
label: FX Delay Link
kind: action
params:
- name: fx_channel
type: integer
- name: linked
type: boolean
description: false=unlinked, true=linked
- id: scene_recall
label: Scene Recall
kind: action
params:
- name: scene
type: integer
description: Scene 1-100 = 0x00 to 0x63
- id: set_bank_1
label: Set Bank 1 (for Scene Recall)
kind: action
params: []
note: Qu ignores scene change messages if Bank is not set to 1
- id: channel_name_get
label: Get Channel Name
kind: query
params:
- name: channel
type: integer
- id: channel_name_set
label: Set Channel Name
kind: action
params:
- name: channel
type: integer
- name: name
type: string
description: Hex ASCII string
- id: mmc_transport
label: MMC Transport Control
kind: action
params:
- name: command
type: integer
description: 0x01=Stop, 0x02=Play, 0x04=FastForward, 0x05=Rewind, 0x06=RecordStrobe, 0x09=Pause
- id: strip_fader
label: Strip Fader (DAW)
kind: action
params:
- name: strip
type: integer
description: Strip 1-32 = 0x00 to 0x1F (uses MIDI channel N+1)
- name: position
type: integer
description: 0x00 to 0x7F
- id: strip_key
label: Strip Key (DAW)
kind: action
params:
- name: key_type
type: integer
description: 0x00-0x1F=Mute, 0x20-0x3F=Sel, 0x40-0x5F=PAFL
- name: strip
type: integer
description: Strip 1-32 = 0x00 to 0x1F
- name: on
type: boolean
- id: daw_bank_up
label: DAW Bank Up
kind: action
params: []
- id: daw_bank_down
label: DAW Bank Down
kind: action
params: []
Feedbacks
- id: active_sense
type: binary
description: Byte 0xFE sent every ~300ms over TCP/IP. Connection closes after 12s inactivity.
- id: meter_data
type: binary
description: |
Sysex meter push (0xF0, 0x00, 0x00, 0x1A, 0x50, 0x11, 0x01, 0x00, {CH}, 0x13, {MeterData}, 0xF7).
Meter values = signed dB, 7Q8 fixed point format (see source for 7-bit-ized encoding details).
- id: scene_recall_transmit
type: integer
description: Qu transmits when scene recalled - B N, 0x00, 0x00, B N, 0x20, 0x00, C N, SS (SS = 0x00-0x63)
- id: system_state
type: binary
description: |
Sysex reply to All Call request: 0xF0, 0x00, 0x00, 0x1A, 0x50, 0x11, 0x01, 0x00, 0x7F, 0x10, {iPadFlag}, 0xF7
Returns BoxID (1=Qu-16, 2=Qu-24, 3=Qu-32, 4=Qu-PAC, 5=Qu-SB) and firmware version.
- id: channel_name_reply
type: string
description: Sysex reply with channel name as hex ASCII string
- id: meter_data_reply
type: binary
description: Sysex reply 0x13 followed by meter data block (format varies by mixer model - see source tables)
- id: end_sync
type: binary
description: Sysex 0x14, 0xF7 - sent after system state sync completes
Variables
# NRPN parameters exposed as queryable variables (read/write via NRPN):
- id: group_mode
type: enum
values: [group, mix]
description: 0x00 = Group mode, 0x01 = Mix mode
- id: fader_position
type: integer
description: 0x00-0x7F (-inf to +10dB, 0dB = 0x62)
- id: pan_position
type: integer
description: 0x00 (Full Left) to 0x4A (Full Right), centre = 0x25
- id: mute_state
type: boolean
description: Current mute state for channel
- id: meter_levels
type: binary
description: Per-channel meter data in 7Q8 dB format
Events
# Qu sends unsolicited:
- id: meter_push
description: Periodic meter data pushed via Sysex (format per model - see source reference tables)
- id: scene_recalled
description: Qu broadcasts scene recall message when user triggers via touchscreen or SoftKey
- id: active_sense_pulse
description: 0xFE sent every ~300ms during connection inactivity
- id: connection_timeout
description: Ethernet connection closed after 12s without data
Macros
# UNRESOLVED: no explicit multi-step macros described in source
Safety
confirmation_required_for:
- remote_shutdown # Mixer requires hard power reset to switch back on
interlocks: []
# UNRESOLVED: no explicit interlock or sequencing procedures in source
Notes
- TCP MIDI port 51325 stated; only one TCP MIDI connection allowed at a time
- USB MIDI is class-compliant — no driver needed for Mac, driver available from allen-heath.com for Windows
- NRPN format: B N, 0x63, CH, B N, 0x62, ID, B N, 0x06, VA, B N, 0x26, VX
- DAW strip messages use MIDI channel N+1 (separate from Qu functions on channel N)
- Meter data encoding uses 7-bit-ized format — every 7 bytes → 8 bytes in MIDI stream (see source for algorithm)
- Scene recall via Bank Select + Program Change — Bank 1 required
- Remote Shutdown: after sending shutdown command, mixer requires hard power reset to power back on
Provenance
source_domains:
- allen-heath.com
source_urls:
- https://www.allen-heath.com/content/uploads/2023/06/Qu_MIDI_Protocol_V1.9.pdf
retrieved_at: 2026-04-30T04:34:27.258Z
last_checked_at: 2026-06-02T21:39:38.109Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:39:38.109Z
matched_actions: 42
action_count: 42
confidence: medium
summary: "All 42 MIDI-based control actions found in source NRPN/SYSEX documentation with matching channel indices, parameter ranges, and hex codes. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "USB serial config (baud rate) not stated — USB is class-compliant, no driver required for Mac"
- "no explicit multi-step macros described in source"
- "no explicit interlock or sequencing procedures in source"
- "USB baud rate not stated (USB is class-compliant, operates at device-level speed)"
- "TCP/IP address configuration not described in source"
- "firmware version compatibility beyond V1.9 not stated"
- "binary encoding of all NRPN parameter values — only hex ranges provided, not full enumeration"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0