• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Reference ABX hardware design and implementation

The next hard problem is how to fade in and out between DUTs. This isn't about ABX protocol so much as cue mitigation - we need to fade the output out electrically so that when the switch happens there's no audible change, and this fade is consistent and handled by this device, not dependent on external control:

A playing → fade A out → switch inputs → fade B in → B playing

In our favour:
  • The fader can be bypassed or isolated during normal listening, so it doesn’t have to meet the 130 dB listening-path target while changing gain
  • For options with nonlinear behaviour we can use the auto calibration inherent in the design to ensure all paths fade in and out at the same rate
I’ve considered:
  • A resistive optocoupler between signal and ground at the input - NSL-32SR3 for instance: 25MOhm while off, but only 60ohm while on. That could briefly overload the DUT and make the fade depend on its output impedance and current limiting
  • A series implementation of the same, but adds noise and distortion _way_ out of bounds if permanently in-path, or adds a cue when switched in
  • Yet another precision ladder which would blow out costs
  • Volume-control ICs, but if they are in-circuit they are too noisy and distorting, and if they aren't then we are back to the same low impedance issues as the optocoupler
What we need is effectively the electronic equivalent of a motorised potentiometer we can insert in series while meeting the 130dB E2E SINAD goal.

Looking for genius plans from the ASR hive mind here!
 
  • A resistive optocoupler between signal and ground at the input - NSL-32SR3 for instance: 25MOhm while off, but only 60ohm while on. That could briefly overload the DUT and make the fade depend on its output impedance and current limiting
  • A series implementation of the same, but adds noise and distortion _way_ out of bounds if permanently in-path, or adds a cue when switched in
  • Yet another precision ladder which would blow out costs
  • Volume-control ICs, but if they are in-circuit they are too noisy and distorting, and if they aren't then we are back to the same low impedance issues as the optocoupler
I am afraid there would be more issues than positive outcome.
 
I am afraid there would be more issues than positive outcome.
That's my conclusion too. Attenuation is much harder than amplification.
 
Why don't you think my suggestion in post 79 will work?
 
Why don't you think my suggestion in post 79 will work?
Ah, got it, yes that is a nice way of doing it, thank you for the reminder. The numbers do seem to work out:

How about this? S_DIRECT is normally closed for listening. When switching inputs S_DIRECT opens and S_FADE closes, and we ramp up the MUSES resistance to do the fade. The MUSES has better than 100dB SINAD so it's completely transparent during the ramp compared with, you know, the ramping. I think if we make S_FADE before breaking S_DIRECT things should work out.

I have to say as a community we are excellent at adding expensive parts to projects, but we're worth it!

1785738533201.png
 

Attachments

  • Screenshot 2026-08-03 at 14.08.57.png
    Screenshot 2026-08-03 at 14.08.57.png
    23.6 KB · Views: 37
How about this
A silly idea of mine - how about to add one relay contact in series with the output of your U_OPA. This would be activated AFTER you have made an input selection. There would be a click, however always the same. And, I do not recommend input switching during the sample replay. Because you listen to different part of music then. Always play a short same sample from the beginning, after switching.
 
A silly idea of mine - how about to add one relay contact in series with the output of your U_OPA. This would be activated AFTER you have made an input selection. There would be a click, however always the same. And, I do not recommend input switching during the sample replay. Because you listen to different part of music then. Always play a short same sample from the beginning, after switching.
Coordination of the ABX process on a PC, or via remote control, or however is an open question. For now I'm assuming we can't for repeatability purposes assume the user has got their own switching protocols right, so we have to implement some basics in hardware. Actual ABX protocols differ widely - some assume perfect timing matching, some assume indefinite switching opportunities and replay. The important thing is this device can't add any cues on top of that.
 
The important thing is this device can't add any cues on top of that.
That’s why I wrote my post. You will see if you can handle for no audible click in the AB box output when you interrupt the grounds. But you have to interrupt them, to avoid inter-component ground currents, capacitive or direct galvanic.
 
That’s why I wrote my post. You will see if you can handle for no audible click in the AB box output when you interrupt the grounds. But you have to interrupt them, to avoid inter-component ground currents, capacitive or direct galvanic.
The intent is to handle that with the fader. the switching process is to fade out the input, mute the output, switch to the new input, then fade the new input in. It can all be done in <100ms. I'd just like to avoid a using a state of the art $20 volume control as the fader!
 
That’s why I wrote my post. You will see if you can handle for no audible click in the AB box output when you interrupt the grounds. But you have to interrupt them, to avoid inter-component ground currents, capacitive or direct galvanic.
(also @mcdn)
Ground current current, if large enough, could still be an issue compromising signal integrity. Contact resistance may be low, but not zero and any significant ground current will create additional error voltage on top of that of the unbalanced cables. One could use brute force and increase number of relay paths for the GND side. That might do for the bulk of real world scenarios. Make the contact resistance lower than the cable shield resistance... and use the shortest and best cables wrt shield impedance you can find.

But ideally, and then we're back to square one, one would use either balanced inputs and remote input sensing or a remote GND sensing output, all 3-wire. Ground current will always flow and is bascially unlimited with a direct through connection and two earth-grounded devices. To insert a current-reducing resistance in the GND leg one needs some form to factor out the voltage drop across it, same goes for any drop along the unbalanced cable shields -- which will be the limiting factor unless factored out.

Usually one is inclined to think that any hum/buzz is irrelevant when not directly audible at the target monitoring level. But we should strive for as much safety margin as possible. IMV.
 
But ideally, and then we're back to square one, one would use either balanced inputs and remote input sensing or a remote GND sensing output, all 3-wire.
Sure. The SE scheme is unsatisfactory and leads to patches.
 
Sure. The SE scheme is unsatisfactory and leads to patches.

Ground current current, if large enough, could still be an issue compromising signal integrity. Contact resistance may be low, but not zero and any significant ground current will create additional error voltage on top of that of the unbalanced cables. One could use brute force and increase number of relay paths for the GND side. That might do for the bulk of real world scenarios. Make the contact resistance lower than the cable shield resistance... and use the shortest and best cables wrt shield impedance you can find.

But ideally, and then we're back to square one, one would use either balanced inputs and remote input sensing or a remote GND sensing output, all 3-wire. Ground current will always flow and is bascially unlimited with a direct through connection and two earth-grounded devices. To insert a current-reducing resistance in the GND leg one needs some form to factor out the voltage drop across it, same goes for any drop along the unbalanced cable shields -- which will be the limiting factor unless factored out.

Usually one is inclined to think that any hum/buzz is irrelevant when not directly audible at the target monitoring level. But we should strive for as much safety margin as possible. IMV.

All absolutely true, but alternatives to the current SE input scheme do contain their own compromises:
  • Balanced inputs effectively double the already large BOM cost - partly through extra components, partly through extra precision required in gain matching
    • The precision gain ladders drive a lot of this - 12 MELFs per branch adds up quickly
    • Balanced operation makes this worse by driving 0.1% matching, whereas SE we can use 1% parts because our channel matching is auto-calibrated
  • Specialised connectors impact usability - I think it's important users can "just connect 2 DACs" and expect a good result
  • Board space. It matters!
So I'm sticking with SE+Digital first. It'll be modular, so creating a balanced option won't be hard per se.

Also one of the benefits of this device is the integrated ADC for calibration and testing. I'm expecting to be able to auto-detect polarity mismatches, excess noise, hum etc and alert the user before they start testing. That's at least as important as perfect THD+N figures.
 
Balanced inputs effectively double the already large BOM cost
For one piece production? Or you intend to make a business with these? Then consultations for free are not what is appreciated.
 
For one piece production? Or you intend to make a business with these? Then consultations for free are not what is appreciated.
There's a distinction between community input and professional advice for sure, and it's up to everyone where they wish to draw that line.

See post 119 and post 122, but I see I should clarify both on the first post. I'm funding (with time and money and enthusiasm) the prototype, which will come in at easily $500 for two assembled boards before we account for validation, a screen, wiring harnesses, front panel controls, a case, software development and shipping. Erin might buy one eventually, but that's not certain. So I wouldn't call it a business, but I would be very open to a crowd supply or kickstarter if the demand is there!
 
So what exactly is the intention? Is this to be a 'blameless' open hardware reference design, or something else?
 
Using just one MUSES is of course a better way. But make space on the PCB for a resistor to GND on the positive input on the OPA1612. If the switces are used correctly it will have no function, but during testing a 100k will keep the OPA1612 from going bananas if your code acts up.

About the ground current issue in the RCA cables. I don't think that will be a problem.
1. You are breaking the GND connection to the other DUT
2. You are making a PSU for the ABX-box with extremely low leakage.

Still, adding an XLR input beside the RCA input and using special RCA to XLR cable with remote GND sense is a good idea that does not cost much.
 
If this box is the terminal node (no downstream amp connected) and a "good enough" headphone amp (likely optimized for IEM duty) were added/integrated that would perfectly solve all potential RCA shield current issues, and reduce unknowns even more.
 
If this box is the terminal node (no downstream amp connected) and a "good enough" headphone amp (likely optimized for IEM duty) were added/integrated that would perfectly solve all potential RCA shield current issues, and reduce unknowns even more.
I like this. Volume control is the expensive bit usually, but if "good enough" is good enough, how about PCM5242 taking the I2S from the PCM1808 calibration ADC, then feeding a TPA6120A2? Only -90dB THD+N once you add all the parts up, but very good headphone drive. The clever trick is that we already have the regulated +-13V supplies, so parts cost is quite small, and we can put it on a small daughterboard.
 
Last edited:
Using just one MUSES is of course a better way. But make space on the PCB for a resistor to GND on the positive input on the OPA1612. If the switces are used correctly it will have no function, but during testing a 100k will keep the OPA1612 from going bananas if your code acts up.

About the ground current issue in the RCA cables. I don't think that will be a problem.
1. You are breaking the GND connection to the other DUT
2. You are making a PSU for the ABX-box with extremely low leakage.

Still, adding an XLR input beside the RCA input and using special RCA to XLR cable with remote GND sense is a good idea that does not cost much.
Thank you! Good point on safety during testing.

For the gain setting a MUSES + small extra trim network comes out about the same cost as the 12-bit MELF ladder I've currently specced, but it's:
  • Expensive ($20 at Mouser)
  • Unavailable for JLC assembly
  • Still requires a trim network (if used in the trim network, obviously not applicable as a fader)
  • Doesn't meet the -130dB e2e transparency ask
I really don't want to add an XLR input unless it's safe. Users _will_ plug a standard balanced output source into an XLR input, possibly damaging their source as on our side if pin 1 and pin 3 are connected. Or if we don't connect 1&3, they'll get an unpredictable experience. Maybe a specialised connector & cable?
 
Back
Top Bottom