Skip to main content

Dante

The Dante page is a visual routing matrix for managing Audinate Dante audio-network subscriptions. From one screen you discover the Dante devices on the network, then create and clear audio routes between transmitter (TX) and receiver (RX) channels — the same crosspoints you would otherwise patch in Dante Controller. Subscription changes made anywhere on the network are reflected back on the matrix in near real time.

Open Dante

Licensing

Dante is a premium integration. Adding a dante device — and opening this page — requires the Dante product in your license. Existing devices keep running if a license later changes. See License.

How it works

GEM does not speak the Dante protocol directly. It drives a bundled command-line tool (netaudio) that discovers devices and edits subscriptions over the Dante/mDNS multicast network. GEM ships and auto-updates this tool as part of its Python environment — you do not install or configure anything beyond the device record. If that environment was never provisioned, discovery cannot run; see Troubleshooting.

Because GEM rides on the same network plumbing as Dante Controller, you can use both at once — a route you patch in Dante Controller shows up on this matrix, and vice versa.

Prerequisites

  • GEM server on the same Layer-2 network as the Dante devices. Dante discovery and routing use multicast, which must reach the GEM host. If GEM is on a different VLAN, multicast (mDNS plus the Dante subscription-change group 224.0.0.231:8702) must be routed to it.
  • A provisioned GEM Python environment. The bundled netaudio tool lives there. A normal GEM install provisions it automatically; if it is missing, re-run the GEM installer and choose the Python/dependencies step. Without it, a Dante device will fail to connect and no devices will be discovered.
  • One dante device record. Create a single device in System → Devices with the driver set to dante and Enabled set to Yes. No IP address, port, or attributes are required — the driver finds Dante devices itself. Only one Dante device is needed per site; this page uses the first enabled one.

Discovery

The Dante Discovery section at the top of the page controls scanning.

ControlWhat it does
Start DiscoveryBegins scanning for Dante devices and starts watching for subscription changes. Newly powered-on devices appear within about ten seconds. The status badge changes to Discovering….
Stop DiscoveryStops scanning and watching for changes. Already-discovered devices stay on screen. The button toggles back to Start Discovery and the badge reads Idle.
RefreshRe-reads the current device list and all active routes from the driver. Use this after changing devices in Dante Controller, or to redraw the matrix.

Start Discovery and Stop Discovery are the same button toggling state — only one is shown at a time. To the right, a badge shows Discovering… or Idle, followed by a count of how many Dante devices have been found.

note

Discovery starts on its own as soon as the Dante device connects, so the matrix often populates before you click anything. The Start/Stop buttons let you pause and resume it from this page.

Routing Matrix

The routing matrix is the main interface for creating and clearing audio routes. It appears only once both a transmitter and a receiver have been discovered — if you see devices listed but no matrix, you have only TX (or only RX) devices so far.

Layout

  • Columns (across the top): TX (transmitter) devices and their individual output channels. The top-left corner cell shows the orientation: TX ► across, RX ▼ down.
  • Rows (down the left): RX (receiver) devices and their individual input channels.
  • Grid cells: the crosspoint where a TX channel column meets an RX channel row.

Cell states

StateAppearanceMeaning
No routeEmpty cellNo subscription between these channels.
Active routeGreen cell with a checkmark (✓)The RX channel is subscribed to the TX channel.

Creating a route

Click an empty cell at the intersection of the TX channel (column) you want as the source and the RX channel (row) you want as the destination. The cell turns green with a checkmark and a toast confirms the route — for example Route created: SourceDevice:01 → DestDevice:01.

Clearing a route

Click a green (routed) cell. The subscription on that RX channel is removed, the cell returns to empty, and a toast confirms the route was cleared.

Collapse and expand

Click a device name (a TX column header or an RX row header) to collapse or expand that device's channels:

  • Collapsed TX device: its channel columns are hidden, narrowing the matrix. The arrow icon on the header rotates to indicate the collapsed state.
  • Collapsed RX device: its channel rows are hidden, shortening the matrix.
  • Auto-behavior on load: when the page (re)loads, devices that have at least one active route are expanded; devices with no active routes are collapsed, so the routes already in use are what you see first.
tip

On networks with many multi-channel devices, collapse the ones you are not patching to keep the matrix readable. Click the header again to expand.

Real-time updates

The matrix reacts to two kinds of events from the driver:

EventBehavior
Device discoveredA newly found Dante device is added to the matrix as discovery runs.
Subscription changeA route created or cleared by another application (for example Dante Controller) is reflected on the matrix. Changes detected over the multicast watch appear within about a second; if multicast is blocked, a polling fallback picks them up within roughly five seconds.
Offline devices are not pruned automatically

There is no automatic offline detection in this release. Once a device has been discovered it stays on the matrix until you reload the Dante device (or restart GEM) — powering a Dante endpoint off does not remove it from the grid on its own. If the device list looks stale, reload the Dante device from System → Devices.

Channel and device names

This page routes existing channels; it does not rename them. Channel and device friendly names are managed in Dante Controller, and the matrix shows whatever names the devices advertise. Channel names are case-sensitive on Dante — if a route will not take, confirm the exact channel name in Dante Controller.

Troubleshooting

No devices discovered

  1. Confirm a dante device exists in System → Devices and is Enabled.
  2. Confirm GEM's Python environment is provisioned — if the bundled netaudio tool is missing, the Dante device cannot connect and nothing is discovered. Re-run the GEM installer and choose the Python/dependencies step, then reload the Dante device.
  3. Confirm the Dante devices are on the same network as the GEM server, powered on, and initialized.
  4. Confirm multicast reaches the GEM host: disable IGMP snooping on intermediate switches or place GEM on the same VLAN as the Dante devices. Devices that show in Dante Controller but not in GEM almost always indicate blocked multicast.
  5. Click Refresh after fixing the path.

Route not taking effect

  1. Confirm the exact channel name (case-sensitive) against Dante Controller.
  2. Confirm the TX and RX devices use compatible sample rates and share a clock domain.
  3. Confirm the channels are not locked by Dante Controller or another application.
  4. Confirm sufficient network bandwidth for the added flow.

Subscription changes are slow to appear

Changes that take about five seconds to show up mean the multicast watch is blocked and the polling fallback is doing the work. Either accept the few-second latency or fix the multicast path (IGMP snooping / VLAN) for near-instant updates.

  • Devices — creating and enabling the dante device record.
  • AV Zones and AV Sources — GEM's audio-zone model. Dante routing operates at the network/transport level and is independent of GEM AV zones and sources; the Dante device itself does not bind to a zone or source.