Skip to main content

RTI Multi-Z AMP (AMP-x-125)

Driver: rti_amp

Zone control for RTI's Multi-Z DSP matrix amplifiers: AMP-2-125, AMP-4-125, AMP-8-125 and the Dante models AMP-2-125D, AMP-4-125D, AMP-8-125D. The driver talks to the amp's control API on TCP port 7621. That is the same API the amp's own web interface uses, so the web UI can stay open while GEM is connected.

These amps are not the older AD-4x / AD-8x distribution amps. For those, use RTI AD-4x / AD-8x.

What it does​

  • Amp power: wake the amp from standby, or put it into standby.
  • Zones created for you: when the device connects, it creates a GEM zone for each amp zone that doesn't have one, named after the zone names on the amp.
  • Per zone: volume, gain in dB, mute, and source selection. Zone off clears the zone's source; zone on restores the last source it had.
  • Whole amp: all off, mute all, and unmute all.
  • Routing: which zone each amplifier output plays, output mute, and input trim.
  • Live state: the amp pushes every change to GEM as it happens. That includes changes made in the web UI, from RTI or another controller, or through the GPIO volume inputs. GEM also re-reads all zones every five minutes as a safety net.
  • Device info: reports the amp's model, firmware, serial number and standby state, plus the names of its zones and inputs.

How the amp is organised​

The amp's DSP has three layers, all configured in its web UI:

  1. Inputs: analog 1-8, S/PDIF 1-2, Dante 1-4 on D models, and mixes 1-8, which blend inputs together.
  2. Zones A-H: each zone plays one source at one volume. This is what GEM controls.
  3. Outputs 1-8: the amplifier channels. Each output amplifies one zone (left, right or both channels). By default output 1 plays zone A, output 2 plays zone B, and so on. Two outputs can share a zone, for example a stereo pair or two speakers in one room.

Set up the outputs, zones and sources in the amp's web UI first. GEM then drives the zones.

Source IDs​

set_input takes the amp's source ID:

SourceID
Analog 1-8100-107 (a bare 1-8 also works)
S/PDIF 1-2200, 201
Dante 1-4 (D models)300-303
Mix 1-8500-507
No source (zone off)0

Names such as spdif1, mix3 and dante2 are accepted as well. A source that doesn't exist on your model is rejected by the amp. For example, Dante on a non-D amp is logged as E101: Invalid channel.

Prerequisites​

  • The amplifier on the LAN, with a DHCP reservation or a static IP.
  • Outputs and zones configured in the amp's web UI.

Setup steps​

Matrix Setup tab

The device's Setup tab shows the amp as a grid of analog inputs 1-8 by amp zones A-H (sized from the model, so an AMP-4 shows A-D, and the count is not editable there) with what each zone is playing now — a zone on S/PDIF or Dante shows no dot, since only analog inputs are on the grid — and does steps 3-4 below for you: Create routing macro makes one macro that runs set_input with the selected source and room, and Create source makes an AV source per analog input with that macro as its On Macro. Sources on S/PDIF, Dante or a mix are still set up by hand. The Outputs list shows an AV zone against an amp zone only when this amp is its volume device (what sync_av_zones writes), so another amp's zone A never appears here; assigning an AV zone to an output makes this amp its volume device, after asking if it had another. Turn on Route on click to route from the grid. See Devices — Setup Tab.

  1. Open Devices, add a device, and choose RTI Multi-Z AMP (AMP-x-125) (rti_amp).

  2. Enter the amp's IP Address. Leave TCP Port at 7621.

  3. Save and enable the device. The device reports its model and the names of its zones and inputs within a second or two.

  4. Check the zones. On connect the driver creates one GEM zone per amp zone under the av subsystem, named after the zone names on the amp, with the zone letter as the Address. It does this every time it reads the zone list, but only for amp zones that have no GEM zone. A zone you disable is never re-created. To manage zones by hand instead, set auto_create_zones to false and add zones with the Address set to the zone letter, A to H. The sync_zones command runs the same creation on demand.

    The av subsystem must exist. Without it, no zones are created and the log says av subsystem not found.

  5. Run sync_av_zones to add those zones to AV Zones, with this amp as the volume device.

  6. For each AV source, set its audio command to set_input with the source ID.

Attribute reference​

Device​

NameRequiredDefaultDescription
ipyesnoneLAN IP of the amplifier.
portno7621Control API port.
volume_db_minnoamp's zone minimum (-80 dB)The zone gain that GEM volume 0 maps to. See Volume scale.
volume_db_maxnoamp's zone maximum (0 dB)The zone gain that GEM volume 100 maps to.
auto_create_zonesnotrueCreate a GEM zone for each amp zone that has none. Set to false to manage zones by hand.
status_intervalno300000How often (ms) every zone is re-read as a safety net. 0 turns it off; push updates still arrive.

Zone​

Set the zone Address to the amp zone letter:

  • AMP-2: A-B
  • AMP-4: A-D
  • AMP-8: A-H

The numbers 1-8 are also accepted and mean A-H.

Reflected attributes (read-only)​

TargetNameNotes
zonevolume0-100, mapped from the zone gain.
zonegain_dbZone gain in dB, as the amp reports it.
zonemute_stateon / off.
zoneinputCurrent source ID. 0 means no source.
zoneinput_nameThe name of the current source, as set on the amp.
zonepower_stateon when the zone has a source, off when it has none.
zonelast_inputThe last source the zone had. zone_on uses it to restore the source, even after GEM restarts.
devicemodel, firmware_version, serial_numberFrom the amp.
devicepower_stateon, or off when the amp is in standby.
devicesystem_stateon or standby, as the amp reports it.
devicesignal_in, signal_outThe amp's signal-detect state.
devicezone_names, input_namesJSON maps of the names set on the amp.
devicelast_errorThe last command the amp rejected, with its reason.

Commands​

CommandArgumentsWhat it does
power_on / power_offnoneWake the amp from standby / put it into standby.
volumeaddress, volume (0-100)Set zone volume.
volume_up / volume_downaddress, step (dB, default 2)Nudge zone gain.
set_gainaddress, gain (dB)Set zone gain directly.
mute_on / mute_off / mute_toggleaddressZone mute.
set_inputaddress, inputSelect the zone's source.
zone_on / zone_offaddressRestore the last source / clear the source.
all_off, mute_all, unmute_allnoneEvery zone at once.
set_output_sourceoutput (1-8), zone (A-H)Route an amplifier output to a zone.
output_mute_on / output_mute_offoutputMute or unmute one amplifier output.
set_input_gaininput, gain (-15 to +15 dB)Input trim.
request_statusnoneRe-read everything now.
sync_zones, sync_av_zonesnoneCreate GEM zones and AV zones from the amp.
passthroughcommandSend a raw API line, such as GET ZONE-A.*. Available to admins only.

Volume scale​

Each zone has a gain range on the amp: -80 dB to 0 dB unless it was changed in the web UI. GEM volume 0-100 maps linearly across that range, so 50 is -40 dB.

The bottom of that range is effectively silent. To make the whole slider useful, set volume_db_min, for example to -60, and GEM volume 0 becomes -60 dB. volume_db_max caps the top in the same way. Neither setting can go past the zone's own limits on the amp.

volume_up and volume_down move the gain in dB steps and ignore these settings, apart from the amp's limits.

Known quirks​

  • No per-zone power. The amp has no zone on/off. GEM treats a zone with no source as off: zone_off sets its source to none, and zone_on puts back the last one. As a result, power_state reads on for any zone with a source selected.
  • Every zone starts "on". Out of the box every zone has a source (zone A on Analog 1, zone B on Analog 2, and so on), so every zone reads on until it is turned off once.
  • Standby also happens on its own. Besides power_on and power_off, the amp drops into standby after a period without signal and wakes on audio. Both are set in its web UI under power settings. The device power_state follows the amp whichever way it changed.

Troubleshooting​

SymptomCheck
last_error shows E101: Invalid channelThe source ID doesn't exist on this model. Dante sources exist on D models only.
The slider does nothing across its lower halfThe zone runs down to -80 dB. Set volume_db_min, for example to -60.
A zone reads on though nobody turned it onIt has a source selected on the amp. Send zone_off once.
The device never connectsCheck that TCP port 7621 on the amp is reachable from GEM.