Summary

The SF-16M is a 16-output audio matrix / zone processor with serial (RS-232, DB-9) and Ethernet (Telnet, default port 23) control. Open-control architecture exposes volume, EQ, source routing, audio overrides, scene presets, and standby/state to third-party automation controllers. All commands are ASCII strings wrapped in square brackets with replies wrapped in parentheses.

Transport

protocols:
  - serial
  - tcp
addressing:
  port: 23  # stated in source: "leave the default port (23) to connect"
serial:
  baud_rate: 9600
  data_bits: 8
  parity: none
  stop_bits: 1
  flow_control: none
  character_type: ASCII
  connector: DB-9
auth:
  type: none  # inferred: no auth procedure in source

Transport notes:

  • RS-232 DB-9: Pin 2 Tx, Pin 3 Rx, Pin 5 Ground, Shell Ground; 9600 bps, 8-N-1, ASCII, no flow control.
  • Ethernet: Telnet server, max 2 concurrent clients, 15-minute idle timeout per client. DHCP enabled by default. SDDP enabled (Control4).

Traits

- powerable       # inferred: standby + system trigger commands present
- routable        # inferred: source select commands present (per-output + all-outputs)
- queryable       # inferred: X? / Q query commands + parenthesized reply structure
- levelable       # inferred: volume, mute, balance, bass, treble, EQ band level commands

Actions

# --- Source Select ---
- id: select_output_input
  label: Switch an output to a source input
  kind: action
  command: "[CO{output}I{input}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: input
      type: integer
      description: Source input number

- id: select_all_outputs_input
  label: Switch all outputs to one source input
  kind: action
  command: "[CXI{input}]"
  params:
    - name: input
      type: integer
      description: Source input number

# --- Volume ---
- id: volume_up
  label: Output volume up one step
  kind: action
  command: "[VO{output}U]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: volume_down
  label: Output volume down one step
  kind: action
  command: "[VO{output}D]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: volume_set
  label: Set output volume level
  kind: action
  command: "[VO{output}R{level}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: level
      type: integer
      description: Volume in dB; range -80 to 0

# --- Mute ---
- id: mute_on
  label: Output mute on
  kind: action
  command: "[VMO{output}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: mute_off
  label: Output unmute
  kind: action
  command: "[VUMO{output}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: mute_toggle
  label: Output mute toggle
  kind: action
  command: "[VMTO{output}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

# --- Balance ---
- id: balance_left_up
  label: Balance one step to the left
  kind: action
  command: "[BO{output}LU]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: balance_right_up
  label: Balance one step to the right
  kind: action
  command: "[BO{output}RU]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: balance_center
  label: Balance to the center
  kind: action
  command: "[BO{output}R0]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: balance_set_left
  label: Set balance level to the left
  kind: action
  command: "[BO{output}L{level}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: level
      type: integer
      description: Balance offset to the left; range 0 to +80, 0 = center

- id: balance_set_right
  label: Set balance level to the right
  kind: action
  command: "[BO{output}R{level}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: level
      type: integer
      description: Balance offset to the right; range 0 to +80, 0 = center

# --- Lowpass Mode ---
- id: mode_lowpass
  label: Set output to lowpass mode (subwoofer/mono)
  kind: action
  command: "[EO{output}M4]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: lowpass_set_frequency
  label: Set lowpass crossover frequency
  kind: action
  command: "[EO{output}LP{frequency}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: frequency
      type: integer
      description: Crossover frequency in Hz; range 40 to 240

# --- Tone Mode (Bass & Treble) ---
- id: mode_tone
  label: Set output to tone mode (bass/treble)
  kind: action
  command: "[EO{output}M3]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: bass_up
  label: Bass up one step
  kind: action
  command: "[TO{output}BU]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: bass_down
  label: Bass down one step
  kind: action
  command: "[TO{output}BD]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: treble_up
  label: Treble up one step
  kind: action
  command: "[TO{output}TU]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: treble_down
  label: Treble down one step
  kind: action
  command: "[TO{output}TD]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: tone_set
  label: Set bass/treble level
  kind: action
  command: "[TO{output}B{bass}T{treble}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: bass
      type: integer
      description: Bass level in dB; range -12 to +12, 0 = flat
    - name: treble
      type: integer
      description: Treble level in dB; range -12 to +12, 0 = flat

# --- EQ Mode ---
- id: mode_eq
  label: Set output to EQ mode
  kind: action
  command: "[EO{output}M1]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)

- id: eq_band_up
  label: EQ band up one step
  kind: action
  command: "[EO{output}B{band}U]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number

- id: eq_band_down
  label: EQ band down one step
  kind: action
  command: "[EO{output}B{band}D]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number

- id: eq_band_set
  label: Set EQ band level
  kind: action
  command: "[EO{output}B{band}L{level}]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: level
      type: integer
      description: Band level in dB; range -10 to +10, 0 = flat

- id: eq_band_flat
  label: Set EQ band to flat (0 dB)
  kind: action
  command: "[EO{output}B{band}L0]"
  params:
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number

- id: eq_save_preset
  label: Save EQ settings to a preset
  kind: action
  command: "[U{unit}O{output}STP{preset}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: preset
      type: integer
      description: Preset number (1-10)

# --- EQ Filters (per band) ---
- id: eq_filter_bypass
  label: Bypass the EQ filter
  kind: action
  command: "[U{unit}O{output}B{band}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number

- id: eq_filter_highpass
  label: Enable a highpass filter
  kind: action
  command: "[U{unit}O{output}B{band}HPF{frequency}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: frequency
      type: integer
      description: Highpass cutoff in Hz

- id: eq_filter_highshelf
  label: Enable a highshelf filter
  kind: action
  command: "[U{unit}O{output}B{band}HS{low}F{high}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: low
      type: integer
      description: Low shelf edge in Hz (5 digits per source template)
    - name: high
      type: integer
      description: High shelf edge in Hz (5 digits per source template)

- id: eq_filter_lowpass
  label: Enable a lowpass filter
  kind: action
  command: "[U{unit}O{output}B{band}LPF{frequency}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: frequency
      type: integer
      description: Lowpass cutoff in Hz

- id: eq_filter_lowshelf
  label: Enable a lowshelf filter
  kind: action
  command: "[U{unit}O{output}B{band}LS{low}F{high}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: low
      type: integer
      description: Low shelf edge in Hz (2 digits per source template)
    - name: high
      type: integer
      description: High shelf edge in Hz (3 digits per source template)

- id: eq_filter_peaking
  label: Enable a peaking filter
  kind: action
  command: "[U{unit}O{output}B{band}P{gain}F{frequency}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: output
      type: integer
      description: Output number (1-16)
    - name: band
      type: integer
      description: EQ band number
    - name: gain
      type: integer
      description: Peaking gain in dB (1 digit, signed per source example)
    - name: frequency
      type: integer
      description: Peaking center frequency in Hz (3 digits per source template)

# --- Audio Override ---
- id: override_select
  label: Select an audio override, set membership and on/off status
  kind: action
  command: "[U{unit}AO{override}A{action}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number
    - name: action
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: override_add_output
  label: Add an output to an audio override
  kind: action
  command: "[U{unit}AO{override}O{output}V{level}A]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number
    - name: output
      type: integer
      description: Output number (1-16)
    - name: level
      type: integer
      description: Output level in dB at the override

- id: override_set_input
  label: Set the input for an audio override
  kind: action
  command: "[U{unit}AO{override}I{input}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number
    - name: input
      type: integer
      description: Source input number

- id: override_set_priority
  label: Set priority for an audio override
  kind: action
  command: "[U{unit}AO{override}P{priority}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number
    - name: priority
      type: integer
      description: Priority level (1 is highest)

- id: override_query
  label: Query an audio override
  kind: query
  command: "[U{unit}AO{override}Q]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number

- id: override_remove_output
  label: Remove an output from an audio override
  kind: action
  command: "[U{unit}AO{override}O{output}R]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Audio override number
    - name: output
      type: integer
      description: Output number (1-16)

- id: override_clear_all
  label: Remove all members from all audio overrides
  kind: action
  command: "[U{unit}AOR]"
  params:
    - name: unit
      type: integer
      description: Unit ID

# --- Flex Port Override ---
- id: flexport_override_select
  label: Select a Flex Port override, set membership and on/off status
  kind: action
  command: "[U{unit}FPO{override}A{action}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Flex Port override number
    - name: action
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: flexport_override_add_output
  label: Add an output to a Flex Port audio override
  kind: action
  command: "[U{unit}FPO{override}O{output}V{level}A]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Flex Port override number
    - name: output
      type: integer
      description: Output number (1-16)
    - name: level
      type: integer
      description: Output level in dB at the override

- id: flexport_override_set_priority
  label: Set priority for a Flex Port audio override
  kind: action
  command: "[U{unit}FPO{override}P{priority}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Flex Port override number
    - name: priority
      type: integer
      description: Priority level (overrides of the same priority override each other)

- id: flexport_override_query
  label: Query a Flex Port audio override
  kind: query
  command: "[U{unit}FPO{override}Q]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Flex Port override number

- id: flexport_override_remove_output
  label: Remove an output from a Flex Port audio override
  kind: action
  command: "[U{unit}FPO{override}O{output}R]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: override
      type: integer
      description: Flex Port override number
    - name: output
      type: integer
      description: Output number (1-16)

- id: flexport_override_clear_all
  label: Remove all members from all Flex Port overrides
  kind: action
  command: "[U{unit}FPOR]"
  params:
    - name: unit
      type: integer
      description: Unit ID

# --- Query ---
- id: query_all_settings
  label: Query all settings for a unit
  kind: query
  command: "[U{unit}XQ]"
  params:
    - name: unit
      type: integer
      description: Unit ID
  notes: Unit is unresponsive while returning the full state dump.

- id: query_all_settings_bracketed
  label: Query all settings for a unit, returned in square brackets
  kind: query
  command: "[U{unit}XQSB]"
  params:
    - name: unit
      type: integer
      description: Unit ID
  notes: "WARNING from source: if units are looped out, this could cause them to act on any unit-unspecific commands."

# --- Sound Scene Presets ---
- id: scene_add_output
  label: Add an output to a scene preset and set the volume
  kind: action
  command: "[U{unit}SP{preset}O{output}I{input}V{level}A]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number
    - name: output
      type: integer
      description: Output number (1-16)
    - name: input
      type: integer
      description: Source input number
    - name: level
      type: integer
      description: Volume level in dB

- id: scene_load_all
  label: Load scene preset on all units
  kind: action
  command: "[SP{preset}LOAD]"
  params:
    - name: preset
      type: integer
      description: Scene preset number

- id: scene_load_unit
  label: Load scene preset on one unit
  kind: action
  command: "[U{unit}SP{preset}LOAD]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number

- id: scene_set_mute
  label: Set mute on or off for a scene preset output
  kind: action
  command: "[U{unit}SP{preset}O{output}M{state}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number
    - name: output
      type: integer
      description: Output number (1-16)
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: scene_name_all
  label: Name a scene preset on all units
  kind: action
  command: '[SP{preset}N"{name}"]'
  params:
    - name: preset
      type: integer
      description: Scene preset number
    - name: name
      type: string
      description: Preset name string

- id: scene_name_unit
  label: Name a scene preset on one unit
  kind: action
  command: '[U{unit}SP{preset}N"{name}"]'
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number
    - name: name
      type: string
      description: Preset name string

- id: scene_set_power
  label: Power an output off/on in a scene preset
  kind: action
  command: "[U{unit}SP{preset}O{output}P{state}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number
    - name: output
      type: integer
      description: Output number (1-16)
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: scene_query
  label: Query a scene preset
  kind: query
  command: "[U{unit}SP{preset}Q]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number

- id: scene_remove_output
  label: Remove an output from a scene preset
  kind: action
  command: "[U{unit}SP{preset}O{output}R]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number
    - name: output
      type: integer
      description: Output number (1-16)

- id: scene_clear_all
  label: Remove all outputs from all scene presets on one unit
  kind: action
  command: "[U{unit}SPR]"
  params:
    - name: unit
      type: integer
      description: Unit ID

- id: scene_snapshot_remote_save
  label: Allow or prohibit scene snapshot (remote save)
  kind: action
  command: "[SPRS{state}]"
  params:
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: scene_snapshot_save_all
  label: Save a scene snapshot of all outputs on all units (remote save)
  kind: action
  command: "[SP{preset}SAVE]"
  params:
    - name: preset
      type: integer
      description: Scene preset number to save into (source example uses 10)

- id: scene_snapshot_save_unit
  label: Save a scene snapshot of all outputs on one unit (remote save)
  kind: action
  command: "[U{unit}SP{preset}SAVE]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: preset
      type: integer
      description: Scene preset number to save into (source example uses 10)

# --- Standby ---
- id: standby_all
  label: Standby, all units
  kind: action
  command: "[SBY{state}]"
  params:
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle; turning on disables outputs, stops DSP, turns off screen"

- id: standby_unit
  label: Standby, one unit
  kind: action
  command: "[U{unit}SBY{state}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

- id: standby_toggle_unit
  label: Toggle standby, one unit
  kind: action
  command: "[U{unit}TRIG{state}]"
  params:
    - name: unit
      type: integer
      description: Unit ID
    - name: state
      type: integer
      description: "0 = off, 1 = on, 2 = toggle"

# --- State ---
- id: state_load
  label: Load system state from memory, one unit
  kind: action
  command: "[U{unit}LOAD]"
  params:
    - name: unit
      type: integer
      description: Unit ID

- id: state_reset
  label: Reset to factory default, one unit
  kind: action
  command: "[U{unit}RESET]"
  params:
    - name: unit
      type: integer
      description: Unit ID

- id: state_save
  label: Save system state
  kind: action
  command: "[U{unit}SAVE]"
  params:
    - name: unit
      type: integer
      description: Unit ID
  notes: There is an auto-save that saves the state 60 seconds after the last change.

Feedbacks

# Replies are wrapped in parentheses and echo the command with the result field.
- id: power_state
  type: enum
  values: [on, off]

- id: output_volume
  type: integer
  description: Volume in dB; range -80 to 0
  example: "(VO3R-20)"

- id: output_mute
  type: enum
  values: [muted, unmuted]
  example: "(VMO1)"

- id: output_balance
  type: integer
  description: Balance offset; range 0 to +80, 0 = center; sign denotes side
  example: "(BO5L40)"

- id: output_mode
  type: enum
  values: [tone, eq, lowpass, zq]
  example: "(EO2M4)"

- id: lowpass_frequency
  type: integer
  description: Crossover frequency in Hz
  example: "(EO2LP115)"

- id: tone_levels
  type: object
  description: Bass and treble levels in dB; range -12 to +12, 0 = flat
  example: "(TO2B-3T9)"

- id: eq_band_level
  type: integer
  description: Per-band EQ level in dB; range -10 to +10, 0 = flat
  example: "(EO3B1L6)"

- id: scene_preset_query
  type: object
  description: Lists all members, their settings, and the name of the preset
  example: "(U1SP2Q)"

- id: audio_override_query
  type: object
  description: Displays membership, levels, input, and priority
  example: "(UAO1Q)"

- id: flexport_override_query
  type: object
  description: Displays membership, levels, input, and priority
  example: "(U1FPO1Q)"

- id: full_settings_dump
  type: object
  description: Full state dump of unit; unit is unresponsive while returning
  example: "(U1XQ)"

Variables

# UNRESOLVED: no settable parameter that is not a discrete action exists;
# all values in the command set are part of an action's params.

Events

# UNRESOLVED: source does not document unsolicited notifications.

Macros

# UNRESOLVED: no multi-step sequences described explicitly in source.

Safety

confirmation_required_for:
  - state_reset                          # resets unit to factory defaults
  - override_clear_all                   # removes all members from all audio overrides
  - flexport_override_clear_all          # removes all members from all Flex Port overrides
  - scene_clear_all                      # removes all outputs from all scene presets on a unit
interlocks: []
# Source-derived safety notes:
# - Audio Override must be programmed using the PC Setup Utility to function.
# - A high-to-low voltage transition on the system trigger input puts the SF-16M into standby;
#   a low-to-high transition wakes it (5V-24V AC/DC on trigger contacts).
# - If System Trigger or Override terminals are used, attach a ferrite bead (included) around
#   the wires near the terminal; apply separate ferrite beads to Override and System Trigger wires.
# - FlexPort pin 1 = RS-485A, pin 2 = RS-485B, pin 7 = 18V, pin 8 = Ground. Not an Ethernet port.
# - Standard serial cable (male to female) for RS-232 input to SF-16M.
# - WARNING from source: [U#XQSB] can cause looped-out units to act on any unit-unspecific commands.

Notes

  • Commands are ASCII strings wrapped in square brackets; replies are wrapped in parentheses.
  • All commands work over RS-232 and Telnet (port 23). Telnet server allows 2 concurrent clients with a 15-minute idle timeout; crashed clients that do not send EOF hold the connection until timeout.
  • Per source, only some capabilities are exposed per control interface. Source select, output volume/mute/tone are available on RS-232, Ethernet, IR, and front panel. Parametric EQ, hi-pass/low-pass filters are on RS-232, Ethernet, and front panel. Lock front panel and change Ethernet settings are RS-232 + front panel. Firmware upgrade is front panel only. Group/scene/override creation is RS-232 + front panel; control of those is RS-232 + Ethernet + IR + front panel.
  • Control4 SDDP is enabled by default for seamless integration.
  • Per source, "Serial commands are located on our website: www.audioauthority.com/sonaflex_tip2" — that link may contain the most current command set.
  • UNRESOLVED: firmware version compatibility not stated in source.
  • UNRESOLVED: voltage/current/power specifications not stated in source.
  • UNRESOLVED: hex/binary command byte encodings not stated; the source uses ASCII command strings.
  • UNRESOLVED: detailed parametric EQ band count and audio override count limits not stated in source.
  • UNRESOLVED: max number of scene presets beyond the 10 referenced in the SAVE examples not stated in source.

Provenance

source_domains:
  - audioauthority.com
  - manualslib.com
source_urls:
  - https://www.audioauthority.com/downloads/manuals/752-607B_SF-16M_tech-manual_20150617.pdf
  - https://www.audioauthority.com/downloads/manuals/sf-16m_ci_manual_752-607_20130820.pdf
  - https://www.manualslib.com/manual/734530/Audio-Authority-Sf-16m.html
  - https://www.audioauthority.com/downloadlist
retrieved_at: 2026-06-03T08:14:06.587Z
last_checked_at: 2026-06-04T06:24:28.980Z

Verification Summary

verdict: verified
checked_at: 2026-06-04T06:24:28.980Z
matched_actions: 67
action_count: 67
confidence: medium
summary: "All 67 spec actions matched source structure and examples verbatim; transport parameters verified in source documentation. (10 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "firmware version compatibility not stated in source"
- "voltage/current/power specs not stated in source"
- "no settable parameter that is not a discrete action exists;"
- "source does not document unsolicited notifications."
- "no multi-step sequences described explicitly in source."
- "firmware version compatibility not stated in source."
- "voltage/current/power specifications not stated in source."
- "hex/binary command byte encodings not stated; the source uses ASCII command strings."
- "detailed parametric EQ band count and audio override count limits not stated in source."
- "max number of scene presets beyond the 10 referenced in the SAVE examples not stated in source."

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0