upabx is a tool for performing ABX listening tests using one or several UPnP renderers, and, possibly, a hardware switchbox.

It is useless because all reasonable hardware sound the same (to me), except for speakers and listening rooms. upabx does not support switching the latter (bad bad lazy developper), and there are better tools for comparing encodings and other software factors.

In other terms: you could use upabx to compare your extremely expensive DAC with a Raspberry PI Hifiberry board, but they sound the same. If you want to compare 128 vs 320 Kb/S MP3, use the foobar2000 ABX comparator plugin or something like it, it will do a better job.

If you are still with me though… You can have look at the manual, which describes in more detail how the programs work.

The rest of this document describes the switch box I use with the program, and two (inconclusive) tests:

  • DACs hifiberry dac+ pro vs Meridian Explorer 2

  • Power amps: SMSL SA-50 (70 Euros) vs Rotel RB-981 (more expensive).

The hardware switch

I am not a hardware engineer, and I’m sure that there is not much to like in my switchbox :)

The big relays need too much command power to be controlled directly from the GPIO, so there is a small interface relay between them and the Pi.

Also they need 12V, (which is ennoying, it should be possible to arrange to run everything on 5V), in consequence, the whole thing is powered by a small external 5/12v PC power supply.

I am using pre-integrated modules for the low power relays (line control and speaker interface relay), they have a transistor for GPIO-compatible control levels, a flyback diode and maybe an indicator LED, all on a small circuit board, and DIY them would not save a lot of money…

Most expensive section of the whole thing ? Line and speaker connectors.

The box looks complicated because there are many wires. But really, it is very simple:

  • The chosen GPIO pins are connected to the small relay inputs.

  • 5V (and possibly 12 V) are distributed where needed (Raspberry PI, relays VCC).

  • The intermediate relay output goes to the big relay command input.

  • The switched lines to the relay contacts.

The switch box

The switch box. On the left, the Raspberry PI presents its ethernet port through the back plate. And the power supply terminal. In the centre, the big speaker/power amp relays. On the right, the line relay (it has been replaced by a double one so that both signals and earths are switched):

The speaker relays

One of the big speaker/power line relays. The small interface relay controlled by the GPIO piggy-backs on it, fixed by double-sided tape. One can also see the main relay flyback diode.

supplier page for the big relays (in French, sorry, but I’m sure that you can get an idea anyway and find an equivalent in your country). Finding one which can be controlled with 5V will make your life easier.

The line-level relay

The original line-level relay module. For example.

The new, double, line-level relay

It has been replaced it with a double one to avoid having to link all the signal earths.

The new, double, line-level and shielded relay

And then I had a hum ! I was quite surprised that the twisted pairs were not enough. Using shielded cable got rid of it.

Battle of the DACs

Rpi+hifiberry odroid+explorer

And now for a real example. Comparing a HifiBerry DAC+ pro mounted on an rpi3, with the Meridian Explorer 2, connected to the USB output of an Odroid C2. Both systems are running mpd + upmpdcli. The Headphone amp is an O2.

I am using a 96/24 FLAC 2L demo track for the comparison: "Vivaldi Cantata Rv 679. Aria Cupido te Vedi"

The test configuration file:

description = Comparison of hifiberry dac+pro with Meridian Explorer 2, \
using the 2L Vivaldi 96/24 FLAC sample

# Hifiberry DAC+ pro
renderer = UpMpd-r31
line = A

url =*/mp3/test-tracks/2L/VIVALDI_Cantata_Rv_679__Che_Giova_Il_Sospirar,_Povero_Core_-_Aria__Cupido,_Tu_Vedi-flac-96-24.flac


# Explorer
renderer = odroid32
line = B
Rpi+hifiberry odroid+explorer

It is very important to match the output levels. Conveniently, my Sennheiser has pluggable connections with nice bare contacts which I can easily hook up to the multimeter. Otherwise, a custom mini-jack to banana plug cable would be handy.

Both DACS have hardware volume controls, which I use. The Hifiberry is set at 100/100, the Explorer 2 at 96/100 (in MPD terms). Testing with a 50 Hz tone, I could not adjust better than 0.43 V vs 0.45 V, which should be roughly equivalent to a 0.6 dB difference ? This might need a little more attention, also measuring at other frequencies (hopefully, these 2 should be flat at 50hz), but it’s all moot because anyway…:

I did not even bother to run the ABX sequence: both DACs sound exactly the same to me.

Useless ABX tool :)

I am not claiming any absolute result though: I do have very bad hearing, and, as you know, we can’t prove a negative :)

And I’d be quite interested by your comments: jf@dockes.org

A cheap class D amp against a classical analog one

Unfazed by my failure with the DACs, and wanting to hear the big relays click, I then set up a test for comparing an SMLS SA-50 amplifier against a Rotel RB-981 and its RC-972 preamplifier.

The SMLS and the Rotel

The SMSL is a cheap (70 Euros) class D amp, supposedly able to produce 50 Watts per channel (6 Ohms). It is powered by a TDA7492 and has a 24 VDC external power supply.

The Rotel is a less cheap (but not extremely expensive) classical amp with 130 W per channel (8 Ohms). It’s a bit bigger too. On the photo, the SMSL is the small silver/black thing at the top of the stack. Below is the switch box, then the Rotel preamp and amp. The SMSL could almost fit in your pocket (but don’t forget the external power supply), the Rotel not so much.

Power amp comparison: cables

We switch both the amplifier inputs and outputs, so there is a bit more cabling than for the previous test. The speaker cables are 4mm2 copper zip cable (no expenses barred).

Power amp comparison: cables Power amp comparison: cables

I am using my PEL Alycastre speakers for the test (4 Ohms, 90 dB/1W). These are made by a small French company, and I see that they don’t even have a web site in English… So you will have to trust me: these are nice speakers.

The level is equalized at 9V for both amps, using a full-scale 50 Hz tone. The sound level at the listening place is quite consistent with what you would have in a classical concert hall (but much lower than at a rock concert). This is very far from the full power of even the SMLS, but anything more would be uncomfortable before long.

And now for the tests. I used a number of classical tracks and a Bob Marley one, but I was disappointed again: neither me nor any of my buddies can hear a difference. We did not even bother with the ABX: we would have been clicking at random.

The small amp is ten times smaller lighter and cheaper than the big one and, as far as I can hear, it sounds the same… Its only disadvantage is that it makes it less possible to ennoy the neighbours by listening to the mainroom stereo from the cellar.

Boring !