DSF and DoP encapsulation for Meridian

I got a DSF 128 file. When I stream it into the Meridian 818 Roon converts it into PCM 88, correctly because that is all the Sooloos stream can handle. But when I feed it in through USB, Roon converts it to PCM 176. Shouldn’t it encapsulate the DSF into DoP instead since the 818 accepts that over USB?

(Roon knows how to do the encapsulation, it does that when driving the Geek Pulse.)

Probably matters little, since the Meridian gear has to eventually convert it to PCM anyway. But does it make a difference to let Meridian do the DSD to PCM conversion, maybe they are good at it.

(Today I don’t hear a difference between the 88k Sooloos and 176k USB feeds.)

I do have DoP encapsulation as the preferred DSD method for the 818 USB drive.

You need to select DSD over PCM 1.0 (DoP) because that appears to be what the 818v3 supports. I just tried this. I get music, and the 818v3/8kSE say it is a DSD stream.

My testing shows the following:

Selecting Initial dCS method will result in Roon saying it is streaming DSD, and the 818v3 saying it is receiving PCM, and silence.

Selecting Native will result in Roon converting to PCM.

@brian, could you make Roon automatically choose the right setting for the 818v3 USB input?

@Ludwig @Brian That is the setting I have. Doesn’t work.

Needs some detective work to find the difference.

Ludwig, my album is marked DSF DSD128.
Same as yours?

The output is just marked Meridian something; there is also a “Meridian ASIO” output which I am not using.

I was successfully using the Meridian ASIO output. (And my files are DSD64, but I don’t think that is the problem.)

Trying the “Speakers: Meridian 800 Series input audio” output from Roon, I also get silence with DSD64 regardless of the DSD settings. The 818 thinks it is getting PCM.

Which of these two settings is using the Meridian driver (WINDOWS DRIVER V1.68_19)? Is that the ASIO one? (Is the Meridian driver an ASIO driver? I don’t really understand ASIO…)

It looks to me like the other one is just a generic USB connection, which is why it doesn’t work?

Rather confusing and inelegant that there are two audio outputs for this one connection.

@brian can you clarify this confusing situation please? And can you perhaps force the correct settings - and just one output - when an 818v3 USB input is connected? Should surely be possible to make this just work without user fiddling necessary.

@Ludwig @Brian I enabled the ASIO output and set the DoP mode, didn’t work either, did the PCM conversion.

But I tested with a DSD64 album and it did the encapsulation.

Probably Meridian supports only DSD64 and the Roon guys do it exactly right.
We should close my original issue.
Although I agree with Ludwig, clarifying the ASIO issue would be good.
Do you recommend using ASIO when available?

The 818v3 data sheet only mentions up to 192kHz PCM, even on the USB input. As DSD128 requires 352kHz that’s likely a limitation Roon can’t get around.

Is Roon capable of converting from DSD128 to DSD64?

@Ludwig is correct, DSD128 turns into a 352.8kHz PCM signal, and Roon is detecting that the DAC can’t accept that and converting to PCM instead.

Is Roon capable of converting from DSD128 to DSD64?

Resampling DSD->DSD is not straightforward, and frequently involves a conversion to PCM as an intermediate step anyways.

The only time I would want a DSD->DSD downconversion is if I were driving an SDM DAC (not Meridian), and I had enough CPU, and a good DSP implementation. (aside: this is the sort of thing that HQPlayer does well, and virtually no other software out there attempts this sort of thing).

@brian can you clarify this confusing situation please? And can you perhaps force the correct settings - and just one output - when an 818v3 USB input is connected?

A well-behaved device should connect via USB Audio 2.0, and might expose itself via one or two drivers: a WDM (Windows Driver Model) driver is almost always present, and often an ASIO driver is, too.

Well-behaved ASIO drivers should support receiving DSD in native mode if the device supports DSD at all (it sounds like Meridian may have skipped this step). dCS mode is there for people with early DACs made by dCS that pre-date the DoP standard.

All drivers are provided by the manufacturer in this case–Microsoft does not ship USB Audio 2.0 drivers, nor ASIO drivers. The Meridian package contains one of each.

The choice to use ASIO or WDM drivers is yours to make. Some people believe that one sounds better than the others. Assuming the driver vendor has done their job well, they should result in the same bits on the other side of the pipe, so if you believe in bits=bits, the distinction will seem pedantic and unnecessary. But many people don’t believe that and would consider Roon to be an incomplete product if we didn’t offer both options.

Do you recommend using ASIO when available?

I think Microsoft did a good job with WASAPI and that alternative driver stacks like ASIO are for the most part an unnecessary evil in 2015.

There are some wrinkles, however…

  • Native DSD–when a DAC supports it, ASIO drivers can enable direct transmission of DSD data without encapsulation.
  • Some USB interfaces expose a non-bit-perfect volume control via their WDM drivers. You can tell you have one of these if DSD sounds like a hiss at <100% volume. If you have one of these, disable Roon’s volume control (which is just tweaking the WDM volume controls under the hood).
  • Some manufacturers do a better job on one driver or the other. Sometimes the drivers talk to the card very differently and can expose different hardware behavior. Fragmentation is sloppy.
  • Manufacturers are chronically terrible at exposing accurate descriptive strings for their devices, and often make weirdly inconsistent choices between their ASIO and WDM drivers, and this can make the settings/configuration experience more confusing than it needs to be.

ASIO is an option to try to solve a problem with a bad WDM driver, but I always start with the non-ASIO option first.

Should surely be possible to make this just work without user fiddling necessary.

We have discussed doing an “auto-setup” feature where we work with device manufacturers to build a database of devices + recommended settings, certify devices one by one as working properly with those settings, and then have Roon recognize them and set things up reasonably well by default. I think that would accomplish what you are looking for, but it’s a big project that requires visiting devices one at a time, and not something we are inclined to do for a single piece of gear before there’s a process in place for covering a wide range of products from different vendors.