Testing HiFiBerry DAC+ ADC

In my previous post, I tested the latency of the HiFiBerry DAC+ ADC Pro with great results. Today, I tested their less expensive model ($50 versus $65): the HiFiBerry DAC+ ADC. I used jack_delay as described in this post with Raspbian (kernel 4.19.118-v7l+).

Here are the device loopback test results, along with the previous Pro results for comparison:

DeviceHzFPPLatency
HiFiBerry DAC+ ADC48k12830.862 frames (0.64ms)
HiFiBerry DAC+ ADC48k25630.865 frames (0.64ms)
HiFiBerry DAC+ ADC96k12833.154 frames (0.69ms)
HiFiBerry DAC+ ADC96k25632.081 frames (0.69ms)
HiFiBerry DAC+ ADC Pro48k12851.100 frames (1.0ms)
HiFiBerry DAC+ ADC Pro48k25650.416 frames (1.0ms)
HiFiBerry DAC+ ADC Pro96k12850.393 frames (0.5ms)
HiFiBerry DAC+ ADC Pro96k25650.459 frames (0.5ms)
Device latency using local loopback, excluding buffer overheads (jack_delay -E)

And here are the full round-trip loopback results over the Internet:

DeviceHzFPPLatency
HiFiBerry DAC+ ADC48k1281823-2463 (-3ms)
HiFiBerry DAC+ ADC48k2563359-4127 (+5ms)
HiFiBerry DAC+ ADC96k1282336-2976 (+2ms)
HiFiBerry DAC+ ADC96k2563616-4896 (+1ms)
Round-trip loopback, including buffer overheads

I was very surprised to measure approximately 40% lower device latency for the the less expensive model! Like the Pro model, it still sounded great and produced nearly identical Audacity waveforms from a round-trip network test.

Unlike the Pro model, you have to swap a jumper on the board to enable the microphone boost, and it appears to be all or nothing. The Pro allows you enable and control the level of boost using alsamixer on a 0-100 scale, no jumpers required.

One thought on “Testing HiFiBerry DAC+ ADC

  1. Stefano from Elk Audio was kind enough to mention to me via email:

    “The extra latency when excluding the CPU’s buffering is just due to the codec reconstruction filters – which can be set in two ways in the DAC / ADCs that are on HiFiBerry, both pro and non-pro. But it’s completely independent on the buffer-size used by the CPU (the codec “doesn’t know” what’s the buffer sized used).

    IIRC, the available configurations are either 12 or 24 frames for both DAC and ADC, so that’s why you’re getting in your results 30 (=12×2 + 6 samples which are probably driver overhead) and 50 (=24×2 + 2 samples overhead). The difference between the Pro and non-Pro is just very likely the way that the default ALSA driver is configuring the reconstruction filter for these two boards.”

    It seems likely that I unknowingly used different ALSA configurations for the Pro versus non-Pro tests, which yielded the different measurements.

    FWIW, I’ve decided to go with the HiFiBerry Pro boards for the following reasons:

    * The Pro boards let you configure input leveling via ALSA settings, versus an all-or-nothing jumper. I envision being able to tweak this will be very useful for singers, and would prefer not to have to mess with jumpers anyway.

    * The Pro boards have dedicated clocks, with far less jitter, versus the non-Pro boards being slave to CPU clock. I haven’t done any extensive listening testing, but in general, lower jitter = better sound.

Leave a Reply