Matrix Audio X-SPDIF 2 (USB - I2S interface)

I know. For that, and for some cranky Dev reasons, I’ve just pushed the button on a Matrix X-SPDIF 2 USB-to-I2S bridge. This one is supposedly at least comparable to the Singxer SU-1 in terms of AQ, but it is 768k and DSD512 capable out of the box. Last but not least, it can be powered by the USB input (there is dedicated power filtering), which means that I need fewer ancillary pre-DAC components (like multiple Uptone LPS-1 units) as long as there’s reasonable USB clean-up between the source and the X-SPDIF 2.

I will probably need to make a custom I2S cable though.

1 Like

That looks very interesting. Very much looking forward to your impressions of it.

Page 7 of the Manual describes the switchable pinout. Are neither of these compatible with the Spring ?

[quote=“andybob, post:5, topic:28562”]
Page 7 of the Manual describes the switchable pinout. Are neither of these compatible with the Spring ?
[/quote]Almost certainly not. PCM will probably be okay, but I’m expecting the DSD channels to be reversed. If both were reversed, it would be an easy fix with Roon’s Procedural EQ Mix filter…

I can report some good news!

The X-SPDIF 2 is completely compatible with the Spring with a stock HDMI cable. No channel swapping is occurring for either PCM or DSD.

My X-SPDIF 2 settings are:

  • DoP to Native: Off
  • IIS Reverse: Off
  • MCLK: doesn’t matter: according to Jeff Zhu (Spring designer), MCLK is not used.

One gotcha for PCM, Roon must be set to output 24 bits max, otherwise the bottom 8 bits will be hard-truncated in the Spring (i.e. without dither :scream: ). I was getting a low level of static at 705/32 and 768/32 which disappeared with 705/24 and 768/24. Oddly the static was not present with 352/32 and 384/32, so I’m not quite sure what’s going on there.

DSD512 is working with the latest beta Ropieee kernel; thanks @spockfish!

My replay chain is:

Roon ––RAAT––> Ropieee ––USB––> HOLO Audio Titanis ––USB––> X SPDIF 2 ––I2S––> Spring

The Titanis is the 300mA version of the USB re-conditioner and is powering the X SPDIF 2 via the USB bus. It seems more than adequate, even though the spec. calls for 500mA. (Jeff Zhu took a look at the picture of the Matrix’s internals and estimated from the components used that it needs around 150mA.)

What I particularly like about this set-up is that the Matrix can be powered via the USB input and it has dedicated power filtering. So, for a modest outlay compared to the US$2500 price of the (Kitsune Tuned Edition) DAC – £300 for the Matrix and US$90 for the Titanis – this is a solution which incorporates USB re-conditioning (Titanis) and has two levels of USB power conditioning (Titanis and on the input to the Matrix).

The alternative was to power the Matrix with something like the Uptone ISO Regen and an Ultracap LPS-1 for over £700 in addition to the Matrix. No thanks.

Finally, the Matrix I2S output is galvanically isolated from the rest of the box, so that’s probably every checkbox ticked.

Early days, but it sounds very very good indeed into my STAX SR-009 headphones. I don’t (and will never) have a Singxer SU-1 USB to I2S bridge for comparison, but I’m guessing the Matrix unit is quite equivalent from an audio quality perspective. With that assumption, I think that the X-SPDIF 2 is the perfect partner for a Spring.


Hey Joel, so no static/pops/crackles with native DSD512 at all?

I’ve currently got PCM –> max 2x PCM and DSD –> DSD512 up-sampling/output in Roon. There is a small click between PCM to DSD and DSD to PCM track transitions. Apart from that, DSD512 seems very clean.

Cool. I didn’t think the Pi3 could handle DSD512 reliably with it’s shared bus for USB and ethernet, but that’s great news.

Could you do a test, if you have 5 minutes. Go direct from Pi3 to the Spring’s USB input. Not to test if it sounds good, but to test if it works with DSD512. Don’t ask me why but I reckon the USB conditioning along the way helps with high DSD rates (a couple others have noticed this too) but the direct USB connection is problematic with the Pi3’s USB output alone, with very high DSD rates.

I’ll release an update to RoPieee’s stable channel shortly to make this available for everyone.

I’ve read into this DAC because of this ‘exercise’, but I must admit it’s an attractive package!


Were you able to try this experiment for me @joel ? My experiment on the Pi3 without any ‘conditioning’ devices downstream. If you geta spare minute.


Pi --> X-SPDIF 2 --> Spring (no Titanis) is working fine at DSD512.
Pi --> Spring seems okay too.

Thanks. But Pi direct to Spring?

Edited my previous answer. I think it’s okay. My processing is just about keeping up at 1.1x.

Okay, listening to “Every Time You Go Away” by Hall & Oates (DSD64 --> DSD512). Totally silent noise floor.

Interesting. So the Pi3’s USB/ethernet bandwidth issue (with DSD512) isn’t a problem for you.

Thanks for the feedback.

I’m wondering though if this isn’t an issue per USB interface. The bus on the Pi is not exactly the most ‘clean’ one, so it might depend on the other side (dac) how good (or not) it deals with this.

On the iDAC2 thread Fernando and Slim both have a rather expensive iFi iUSB3.0 after their iDAC2.

When Fernando removed the iUSB3.0 from the chain he suddenly heard what I was talking about.

So yes it’s possible that cleaning helps.

The iDAC2 is fully USB bus powered. The Holo is not USB powered, although it would need VBUS for handshake purposes only.

I could do a test with my DirectStream but it’s limited to DSD128 on input :unamused: :angry:

This sounds like a good solution @joel.

I’ve ordered one and plan to hang it off a microRendu using an LPS-1 to power both via the UpTone solid USB connector.

What HDMI cable do you use ?

This one. Seriously. It seems to a well made generic (presumably Chinese) cable sold by lots of different vendors. I just Googled 30cm HDMI cable. FWIW, I tried it with a cheap 2m cable and that worked fine too…

Remarkable similarity to this one sold by the US Holo Audio distributor, Kitsune, no? :wink:


Snap !

1 Like

Matrix unit arrived on Friday and I’m checking out its capability before giving it a thorough listen: a couple of issues have arisen if @joel or anyone else knows the answers that would be great:

I have put the Matrix between the microRendu and the Spring. I’m not using external power, so there is an additional draw through the USB cable on the LPS-1 powering the microRendu.

The microswitches on the bottom of the Matrix are all set to 0.

The Matrix doesn’t seem to be reporting a native DSD capability to HQP or Roon If I set SDM Pack in HQP to “None” and use NAA on the mR then the HQP front panel Output menu doesn’t include an SDM(DSD) option.

Similarly if I set the Roon Ready app on the mR to “Native DSD” then the Playback options in Roon for DSD are all red.

If I select DoP in both cases then I can send up to DSD 256.

Does anything have to be done to get native DSD working on the Matrix ? Is there a firmware update I may be missing ?

If not, then it may be that Sonore haven’t patched in a reference for this unit in the Linux code for the mR. Can anyone tell me where to point them ? I understand you’ve got it working in Ropieee Harry ? (@spockfish).

I’ve sent Matrix a message to see if they can point me to any patch.

Secondly, the microRendu sporadically crashes and reboots. This could be the LPS-1 exceeding its current capacityand switching off. I’ve upgraded HQP to latest version and have to investigate whether particular outputs prompt this.

I think I’ll try out a separate power supply.

Lastly there was some odd noise coming out of the Spring as I changed from 44.1 to 48 kHz families at different resolutions (Bits are set at 24 in HQP and Roon) but I think I’ll fix the first two problems before looking into that.

As to sound, the PCM was sounding good. Beefier than without the Matrix. The DoP DSD 256 I haven’t compared enough to talk about yet.

Yeah with the info from @joel i’ve patched the kernel in RoPieee.