RTP-MIDI gamepad rigs are the answer to "I want my DualSense to drive my mate's Ableton across the room without a cable." It is networked MIDI defined by IETF RFC 6295, running over UDP, scheduled by RTP timestamps, and natively supported by macOS and (via a free driver) Windows. This post compares it to USB MIDI for gamepad workloads, lays out the packet anatomy, and tells you when the network beats the cable.
- RTP-MIDI wired: 2–5 ms typical. USB-C MIDI: 1–3 ms. The cable still wins, barely.
- RTP-MIDI Wi-Fi: 4–10 ms. Bluetooth MIDI: 7–20 ms. Network beats BLE by ~5 ms.
- Packet capacity: 1490 bytes per RTP-MIDI packet vs 20 bytes per BLE MIDI packet. ~75× more.
- Multi-host: RTP-MIDI is many-to-many. USB MIDI is point-to-point. Two gamepads to one DAW — network wins.
- Setup time: Network MIDI ~30 seconds on macOS, ~3 minutes on Windows (driver install).
How RTP-MIDI moves data
RTP-MIDI is a payload format for the Real-time Transport Protocol — the same RTP that carries VoIP and video. The IETF RFC 6295 spec defines two UDP ports per session (control + data, by convention 5004 and 5005), an SSRC identifier that uniquely tags each endpoint, and a journal mechanism that lets receivers recover from dropped packets without retransmits.
The journal is the clever bit. RTP runs over UDP, which does not guarantee delivery. If a Note Off goes missing, a naive MIDI-over-IP scheme would leave a stuck note for the rest of the session. RTP-MIDI piggybacks a recovery journal on every packet — a compressed snapshot of recent events — so the receiver can reconstruct missing data from the next successful packet. Net result: stuck notes are extremely rare even on lossy Wi-Fi.
Wire-level packet anatomy
An RTP-MIDI packet on the wire is IP (20 bytes) + UDP (8 bytes) + RTP header (12 bytes) + MIDI payload + journal. On a standard 1500-byte Ethernet MTU you have 1460 bytes for payload + journal, which is enormous compared to BLE's 17 usable bytes.
| Field | Bytes | Notes |
|---|---|---|
| IP header | 20 | Standard IPv4. IPv6 adds 20 more. |
| UDP header | 8 | Source + dest port, length, checksum. |
| RTP header | 12 | Sequence number, timestamp, SSRC. |
| MIDI command section | variable | Up to ~1300 bytes of MIDI events. |
| Journal section | variable | Recovery snapshot for dropped packets. |
| Total max payload | 1490 | Ethernet MTU 1500 minus IP+UDP headers. |
A single packet can carry hundreds of CC updates from a gamepad — every stick axis, every trigger pressure value, every touchpad touch, ten times over. The Universal Controller MIDI bridge aggregates a single 8 ms scheduling window worth of events into one packet, which is why the network rig feels tight even on Wi-Fi.
Measured latency — RTP-MIDI vs USB MIDI
DualSense gamepad on a M2 MacBook Air, RTP-MIDI session paired to a Mac mini M2 Pro running Ableton Live 12. USB-C tests used a 1 m USB-C cable, Ethernet tests used a Cat 6 cable through an unmanaged gigabit switch, Wi-Fi tests used a Wi-Fi 6 AP with the laptops 3 m line-of-sight away.
| Transport | Median (ms) | p95 (ms) | Worst (ms) | Notes |
|---|---|---|---|---|
| USB-C, direct | 1.4 | 2.1 | 4 | Reference baseline. |
| RTP-MIDI, Cat 6 Ethernet | 2.6 | 3.4 | 6 | Best networked option. |
| RTP-MIDI, Wi-Fi 6 (clean) | 5.1 | 8.2 | 15 | 3 m line of sight. |
| RTP-MIDI, Wi-Fi 6 (busy) | 8.4 | 16.0 | 32 | Office network, 30+ clients. |
| BLE MIDI | 9.2 | 14.8 | 27 | For reference. |
The headline: wired RTP-MIDI is within 1.2 ms of direct USB and roughly 3.6× faster than BLE. The catch: every hop adds latency. Through a managed switch with QoS, expect ~0.5 ms more. Through a router doing NAT, expect 1–2 ms more. Through Wi-Fi mesh extenders, do not bother.
When RTP-MIDI beats USB
USB MIDI is point-to-point. One controller, one host. RTP-MIDI is many-to-many. Three scenarios where the network wins outright:
- Two-player jams. Each player runs the bridge on their own laptop, the master DAW pairs both sessions, every gamepad event reaches Ableton with consistent timestamps. See two-player MIDI jams for the full setup.
- Bedroom-to-studio. Sketch on the couch with the gamepad and laptop, mirror MIDI to the studio Mac running Logic. No cable run through the hallway.
- Distance. USB-C tops out around 1 m without active cabling. RTP-MIDI runs as far as your LAN reaches — same building, multiple rooms.
# Bridge RTP-MIDI session config
network.session.name = "Couch DualSense"
network.session.port_control = 5004
network.session.port_data = 5005
network.session.bonjour = true # advertise on the LAN
network.session.peer_ip = "10.0.0.42" # studio Mac
network.session.peer_port = 5004
network.session.qos_dscp = 46 # EF — Expedited Forwarding
network.session.journal = true # always keep recovery on Sysex over the network is genuinely fast
BLE chokes on sysex. A typical Vital preset is 8–16 kB; over BLE that is 400+ packets, each waiting for the next 7.5 ms slot, totalling ~3 seconds. The same preset over RTP-MIDI Ethernet ships in 6 packets and takes 4 ms. Preset switching feels instant. For the receive side mechanics see sysex preset dump and transfer.
Setup walk-through (macOS to Windows)
- macOS host: open
Audio MIDI Setup → Window → Show MIDI Studio → Network. Create a session named"Gamepad Out". Note the IP. - Windows host: download rtpMIDI, install, create a matching session.
- On Windows, add the macOS IP under Directory, click Connect. Both sessions go green.
- In the bridge on the macOS host, pick the Network MIDI port as output. Map your gamepad as normal.
- On Windows, your DAW now sees a virtual port called
"Gamepad Out"with the DualSense routed through. Done.
The honest verdict
USB MIDI is still the lowest-latency, highest-reliability transport for a gamepad rig. A 1 m USB-C cable is unbeatable on a single-host setup. RTP-MIDI is the right answer when you need distance, multiple endpoints, or sysex throughput. BLE MIDI is the right answer when you need zero cables and tracking latency does not matter. Three transports, three jobs. The Universal Controller MIDI bridge supports all three and lets you hot-swap mid-session without dropping mappings.
Related: BLE MIDI latency for gamepads, virtual MIDI ports explained, and the broader latency benchmark. Back to the product page when you are ready to wire it up.