I completed a bunch of measurements which I’m still processing, but going to just dump the raw results here for others who may be following this.
For all the test cases, I generated signal by clapping into a microphone. This was plugged into a mixer so that I could split the signal out two paths: (1) to an interface on a “measurement computer” and (b) to be the input source for the device under test.
I plugged the output for the device I was testing to a second input channel on the measurement computer. On the measurement computer, I ran a DAW (Reason) that recorded both channels: the original source coming straight out of the mixer, and the signal coming out of the output of the device I was testing. I then measured the distance between a common point in the two waveforms. It’s a bit more tedious, but I don’t own an oscilloscope for testing these sort of things…
I tested using 128 and 64 buffer size because I knew that makes a big difference, which you can see in the results.
For the “studio loop” I used a studio running on my LAN with default settings (and the same buffer size), to remove Internet connection variability from the results.
A few initial observations:
- Analog bridge does outperform most options, other than RME and UA Apollo. At under $18 (USD) Behringer’s UCA222 performs well for the cost.
- The digital bridge devices do not seem to perform well at all, in general. It appears to be caused by the introduction of a piece of software called “Zita” into the signal chain, which is used to mix together audio across multiple devices. This appears to have introduced a 6-12ms regression in performance.
- JackTrip’s monitor feature appears to be performing well, with comparable results to Reason’s recording monitor
- As expected, using a buffer size of 64 versus 128 makes a significant difference
- As expected, the most recent JackTrip release shaves a few milliseconds off latency.
Analog Bridge (48k)
128
JACK loopback: 6ms
JackTrip v1.6.0 studio loop: 17ms
JackTrip v2.4.1 studio loop: 14ms
64
JACK loopback: 4ms
JackTrip v1.6.0 studio loop: 12ms
JackTrip v2.4.1 studio loop: 10ms
Windows
RME Babyface Pro FS (48k)
128
JackTrip monitor loop: 10ms
JackTrip studio loop: 17ms
64
Reason recording monitor: 5ms
JackTrip monitor loop: 5ms
JackTrip studio loop: 9ms
Mac
UA Apollo x4 (48k)
128
Reason monitor: 9ms
JackTrip monitor loop: 11ms
JackTrip studio loop: 19ms
’
64
Reason monitor: 7ms
JackTrip monitor loop: 7ms
JackTrip studio loop: 9ms
Windows
UA Volt 476 (48k)
128
JackTrip monitor loop: 13ms
JackTrip studio loop: 21ms
64
JackTrip monitor loop: 8ms
JackTrip studio loop: 12ms
Mac
UA Volt 476 (48k)
128
Reason monitor: 13ms
JackTrip monitor loop: 15ms
JackTrip studio loop: 19ms
64
Reason monitor: 10ms
JackTrip monitor loop: 10ms
JackTrip studio loop: 16ms
Fedora Linux Laptop
UA Volt 476 (48k)
128
JackTrip monitor loop: 15ms
JackTrip studio loop: 21ms
64
JackTrip monitor loop: 9ms
JackTrip studio loop: 18ms
Digital Bridge (48k)
UA Volt 476
With Zita
128
JACK loopback: 25ms
JackTrip v1.6.0 studio loop: 36ms
64
JACK loopback: 14ms
JackTrip v1.6.0 studio loop: 21ms
Digital Bridge (48k)
UA Volt 476
Without Zita
128
JACK loopback: 13ms
JackTrip v1.6.0 studio loop: 26ms
64
JACK loopback: 7ms
JackTrip v1.6.0 studio loop: 15ms
Mac
Behringer UM2 (48k)
128
JackTrip monitor loop: 18ms
JackTrip studio loop: 26ms
64
JackTrip monitor loop: 12ms
JackTrip studio loop: 18ms
Digital Bridge (48k)
Behringer UM2
With Zita
128
JackTrip v1.6.0 studio loop: 34ms
64
JackTrip v1.6.0 studio loop: 22ms
Mac
Behringer UCA222 (48k)
128
JackTrip monitor loop: 18ms
JackTrip studio loop: 23ms
64
JackTrip monitor loop: 12ms
JackTrip studio loop: 17ms
Digital Bridge (48k)
Behringer UCA222
With Zita
128
JACK loopback: 25ms
JackTrip v1.6.0 studio loop: 33ms
JackTrip v2.4.1 studio loop: 33ms
64
JACK loopback: 15ms
JackTrip v1.6.0 studio loop: 21ms
JackTrip v2.4.1 studio loop: 23ms
Digital Bridge (48k)
Behringer UCA222
Without Zita
128
JACK loopback: 14ms
JackTrip v1.6.0 studio loop: 27ms
JackTrip v2.4.1 studio loop: 24ms
64
JACK loopback: 9ms
JackTrip v1.6.0 studio loop: 17ms
JackTrip v2.4.1 studio loop: 16ms
Fedora Linux Laptop
Behringer UCA222 (48k)
128
JackTrip monitor loop: 24ms
JackTrip studio loop: 37ms
64
JackTrip monitor loop: 18ms
JackTrip studio loop: 28ms