Running plugins live: USB vs. Dante vs. MADI latency comparison
If you're running plugins live at FOH with LiveProfessor or Waves SuperRack Performer, you've probably wondered which digital audio protocol gives you the lowest latency. I tested USB, Dante, and MADI using an Allen & Heath SQ-6 to find out.
Here's what I learned.
The setup
I used an Audient Evo16 for all measurements in Smaart. I sent pink noise from Smaart through the Evo16 into a channel on the SQ-6, then routed that channel back out to the Evo16 both pre-fader and post-fader. This let me measure the latency added by different insert protocols using a transfer function.
With no insert enabled, the SQ-6 added 0.06ms of processing time from input to output. That's my baseline.
For USB, I used the built-in USB-B interface on the SQ-6 connected directly to my laptop. For Dante and MADI, I used the appropriate cards in the SQ-6 and an RME Digiface Dante that supports both protocols. Using the same interface for both Dante and MADI eliminated variables from different hardware.
I ran LiveProfessor with no plugins loaded and tested each protocol at 16, 32, and 64 sample buffer sizes. These results apply equally to Waves SuperRack Performer since the latency comes from the protocol and buffer size, not the host application.
USB latency
Here's what I measured with USB:
16 samples: 18.17ms
32 samples: 18.83ms
64 samples: 20.17ms
Those numbers are higher than I expected. Does it matter? It depends.
If you're running a reverb on an aux bus, you'll probably be fine. You might need to adjust your pre-delay a few milliseconds, but it won't be noticeable in a live environment.
Where USB becomes a problem is phase relationships between multiple sources. Imagine you're processing kick and snare through plugins, but the rest of your drum kit goes straight through. You've just created a 20ms timing offset between the close mics and overheads. The snare will sound like it's hitting the overheads before it hits the close mic.
You could route everything through your plugin host to keep it aligned, but now your entire drum kit is delayed by 20ms. Add processing on the drum bus and mix bus, and you're looking at 60ms total. That's equivalent to standing 68 feet from the source.
Another issue is in-ear monitors. Most artists start noticing latency between 5ms and 15ms. I get bothered around 6ms, though I've worked with one artist who didn't mind 16ms. You can send a clean channel to their IEMs, but if your artist wants to hear their autotune in their IEMs, no amount of explaining the detriments of processing latency is going to dissuade them. Believe me, I've tried.
Dante latency
16 samples: 2.52ms
32 samples: 3.19ms
64 samples: 4.52ms
That's a massive improvement. Even at 64 samples, you're under 5ms. Most artists won't notice this in their IEMs, and you have enough headroom to run your plugins without worrying about phase issues.
A note on Dante Virtual Soundcard
You might be wondering about Dante Virtual Soundcard (DVS) as a cheaper alternative to hardware Dante. I don't recommend it for real-time processing.
DVS has a minimum latency of 4ms each way. That's 8ms round trip before you even factor in your processing buffer. At that point, you're getting close to the threshold where artists start noticing latency in their IEMs, and you haven't even loaded a plugin yet.
If you're serious about running plugins live, invest in a hardware Dante interface.
MADI latency
16 samples: 1.92ms
32 samples: 2.58ms
64 samples: 3.92ms
MADI comes in about 0.6ms lower than Dante. I suspect this is because MADI is a direct point-to-point connection while Dante runs through a network switch. That difference is small enough that no one will notice.
Maintaining phase coherency
Here's something critical: if you're going to process some sources but not others, you need to think about phase coherency.
Let's say you're processing your kick and snare drums through plugins, but sending your toms, hi-hat, and overheads straight through the console. You've now created a timing offset between those microphones. This can result in an unnatural sound and phase cancellation issues.
The solution is simple: either process all of your drum microphones, or add the appropriate amount of delay to your unprocessed channels to keep everything aligned. You can route unprocessed channels through LiveProfessor or SuperRack without any plugins loaded, or use your console's delay function to match the latency of your processed channels.
This applies to any multi-mic'd source where phase relationships matter: drum kits, piano, guitar cabinets, or anywhere you're mixing close mics with room mics.
What this means
USB has too much latency for real-time processing. Save it for multitrack recording and virtual soundcheck.
For live processing, Dante and MADI both work well. Dante makes sense if you're routing audio between multiple devices. MADI is more affordable if you just need to send audio to your computer and back.
Need help designing your system?
Choosing the right protocol is just the start. Buffer sizes, network configuration, and hardware selection all affect your latency and sound quality. If you want help designing a system that minimizes latency for your specific workflow, get in touch. We can spec out exactly what you need.