PCM on Krell Digital Vanguard

Hi,
Newbie to Roon. Does Roon only output PCM?
I have a Krell Digital Vanguard Roon Ready and when I play hi res tracks (Tidal/Qobuz) via Roon to the Krell it shows PCM on the display.
I use the mConnect app directly as well for streaming Tidal/Qobuz and its shows in the display MQA and FLAC.
Thanks.

Both MQA and FLAC contain PCM data. Your DAC is just showing you the format of the contents of these files when you are using Roon. Having said that, you may need to tweak the MQA settings to ensure that Roon is handling the MQA files optimally for your hardware.

Welcome to the community.
The following is probably a good starting point:

But why is my Krell DAC just displaying PCM 44.1kHz 16Bit and not FLAC 44.1/16 when I play via Roon? My overall question is it not playing Hi Res audio if it’s displaying PCM only? Is the Roon Ready board in my DAC an older version that won’t play FLAC?
And again if I don’t use Roon and go direct via mControl app and play the same song it shows FLAC 44.1/16 on the display.
Thanks.

Perhaps you can share a screenshot of your signal path?

PCM is the raw sample format that is encoded within FLAC (and also WAV) files. They can have various bit depths like 16 or 24 and various sample frequencies.

In Roon, all files (including FLAC) are decoded on the Roon Core and the resulting raw PCM samples are sent to the (Roon Ready) endpoints. This has a range of advantages such as endpoints being very simple and not having to be able to decode various file formats.

This is how it should be

The Flac file is just a container, it contains PCM data.

Thanks for the responses. Think I’m understanding more. So both of these are playing the highest resolution Hi Res audio possible and therefore the Roon Connect is not outdated or needs updating in my DAC? And what is OFS!?

Qobuz FLAC via Room on my DAC display:


Tidal via Roon on my DAC display:



Both look fine. The ORFS if explained here

And also discussed here

Sven. Shared screen shots above. Look forward to intel. Thanks!

To further ask the question a different way…why via mConnect will Qobuz display on Krell as FLAC 192kHz 24Bit but same title played via Roon displays as PCM 192kHz 24Bit. Will Roon not display as FLAC but it’s the same hi res quality/file?

Because mConnect sends the FLAC file to the Krell. The Krell decodes the FLAC file to PCM and feeds the PCM into the DAC.

Roon decodes the FLAC to PCM on the Roon Core, then sends the PCM to the Krell, which feeds it into the DAC.

In the end, it’s the same samples, just the order of the steps differs

Thanks. So no “updates” to my Krell Roon Ready are needed and no discussions with Krell of why things display differently? The Roon Ready that came within the Krell 5 years ago is as current a version as today?

No. In the one case with mconnect it receives a FLAC file, so it shows FLAC. With Roon it receives PCM, so it shows PCM. Seems all right to me.

That’s one of the reasons for why Roon does it how they do it: The endpoint can be simple as mostly it just has to be able to receive PCM samples over RAAT protocol and a script describing the protocol logic. Endpoints don’t have to know anything about file formats like FLAC. If a new file format replaces FLAC in the future (unlikely but can happen), the endpoint doesn’t need to know anything about it because all it ever gets are PCM samples.

That said, if Krell has a firmware update for your device, it is probably a good idea to install it. But if not, then not.

Read the RAAT description that I linked above, there is a reason I linked it:

  • Modest endpoint hardware requirements. This means endpoints don’t have to handle expensive DSP or content decoding–that will happen on the server. This means that many existing devices can add support for RoonReady without changing the hardware.
  • (…)
  • Support for new streaming services, file formats, DRM schemes, etc can be supported without a firmware upgrade. In fact, the only reason an upgrade should be required is to fix a low-level bug, or to access more hardware functionality. This is really important. Not all partners/hardware have easy firmware update paths that can be done at home. Our acceptance of this reality has deeply influenced RAAT’s design. Just as with Google’s Cast devices, the majority of the business logic is delivered to the device at run-time as a script. This means that we are capable of completely re-designing the audio streaming and buffering logic without updating device firmware. This is absolutely critical, since most of the bugs + evolution in a system like this relate to networking, not audio. Other than Cast, we are unaware of another system that is this flexible.

Just trying to confirm this as I wait to hear from Krell directly:

Playing a FLAC 192/24 on mConnect it displays as FLAC 192/24 on Krell display. When playing FLAC 192/24 on Roon it displays as PCM 192/24.

Playing a MQA 192 on mConnect it displays MQA 192 on Krell display. When playing MQA 192 on Roon it displays as OFS 192.

Are these indeed the exact same quality Hi Res files but displaying differently on the Krell? Does the Krell display have its limitations?

I just want to be 100% sure playing via mConnect or via Roon it’s the same hi res files.

Thanks.

I wrote all of this already, don’t know what else to say

So Roon only outputs PCM (not FLAC, MQA, etc) via RAAT? Is that the part I’m having trouble understanding?
Thanks again.

Yes for PCM. For MQA, it depends of the Roon configuration and the MQA capabilities of the attached DAC. In either case, it decodes the FLAC (or whatever file format) on the Roon Core and sends either PCM data or MQA data to the endpoint / DAC. The endpoint / DAC never sees the original container file (FLAC, WAC, etc)

I think your problem is you are confusing different things that exist on different levels of abstraction.

  • FLAC is a container file format. It contains audio data along with metadata (tags, cover image).
  • The audio data contained in the FLAC are linear pulse-code modulated samples, i.e., LPCM and for short PCM. The PCM is essentially the raw audio data that gets fed into the DAC (it is the PCM data that has a bit depth like 16 or 24 bits and a sampling frequency like 44.1 or 192 kHz).
  • MQA can also be contained in FLAC files like PCM. MQA is largely PCM data with some bits used cleverly for MQA data.

From Wikipedia

Design

FLAC is a lossless encoding of linear pulse-code modulation data.[10]

… which refers to this source, straight from the FLAC website:

Notable features of FLAC:

  • Lossless: The encoding of audio (PCM) data incurs no loss of information, and the decoded audio is bit-for-bit identical to what went into the encoder.

The relationship between FLAC and PCM is not dissimilar to the relationship of Microsoft Word files and text. The Word file …

  • contains raw text (characters)
  • describes various metadata about it, like font size or who wrote it
  • and is losslessly compressed with the zip compression algorithm.

You can still extract the completely unchanged original raw text from the Word file.

In the same way, the FLAC file …

  • contains raw LPCM samples
  • describes various metadata about it, like cover art and who the artist is
  • and is losslessy compressed with FLAC’s audio-specific compression algorithm.

You can still extract the completely unchanged original raw LPCM samples from the FLAC file.

If the FLAC contains only PCM (no MQA bits tacked on), this is what the Roon Core does, and sends it to the Krell. That’s why the Krell displays “PCM” in this case because this is what it sees. It has no way to know if the LPCM was previously contained in a FLAC file, in a WAV, file, an ALAC file, or whatever other container format. It’s like me sending you the raw text that I copied from a Word file in an email or text message. You also wouldn’t know that I extracted the raw text from Word.

If using mConnect, the whole FLAC container file is sent to the Krell, and so it displays “FLAC”. This is like me sending you the whole Word file as an email attachment. Then you know it is a Word file, and if you want the raw text, you have to extract it yourself - like the Krell does from the FLAC it gets sent.

MQA on the other hand is a slightly different sample format than PCM. It includes some PCM data (so that it can be played without an MQA decoder; e.g., bits 1-13 may be PCM, while the lower-level bits contain MQA data). MQA, however, can be contained in the same file container formats that were developed for PCM, e.g., WAV, FLAC, and ALAC.

Then it depends on the Roon settings and whether the attached DAC is MQA-compatible.

  • Roon can do the while first unfolding of the MQA data. This results in PCM data again, and this is sent to the DAC.
  • Or, if the attached DAC is MQA-capable, Roon can send the MQA samples and leave the rest to the DAC.

In the first, case, like with FLAC, the DAC only knows that it got PCM and has no idea where it came from. In the second case, the DAC can recognize the MQA data and do the special MQA magic that only hardware is allowed to do by the MQA license.

In the second case, the Krell shows “OFS” - probably, the Krell was configured as “Renderer only” in Roon. In this case, Roon will do the MQA Core decoding, send the MQA Core signal to the Krell, and the Krell performs the MQA Rendering.

I am not an MQA expert but I believe this is totally OK. You can read more here in the expert post that was the second post in one of the threads I linked, here:

For more about Roon’s MQA handling see the help:

Krell’s answer may tell you more about the MQA interaction between Roon and the Krell DAC, how to best configure it, etc.

Not sure what you don’t get here. All DAC circuits only accept formats PCM or DSD and some accept MQA . Any streaming device incorporating a DAC or a device outputting to an external DAC must convert any incoming container format whether this is flac, wav aiff, mp3 or aac to PCM or if its DSD pass it through if the DAC supports native DSD and same for MQA although that can be decoded by said streamer for the first unfold. There are no exceptions to this DACs don’t accept other containers.

What you see when you stream using native applications is that this decode stage is hidden it’s after the stage in which metadata is read and displayed on a readout, they just show you the native container format the audio is encapsulated in.

As not all audio devices support all formats and to make it compatible with as many systems as possible and reduce the load on endpoints, Roon designed RAAT to send PCM to all devices as this is the base that all devices work at, there is no chance of any incompatibility of formats as it’s the language all DACs speak.

So the Roon core decodes all streams to PCM before sending them on rather than leave the endpoint to handle this processing which it will in all cases you just don’t see or know about it in the signal path manufactures decide to show you.This is why when streaming via Roon you see it as PCM on your display.

There is nothing wrong here but some vendors only show metadata from the original source and some in your case show the raw Roon output. Each vendor can show this differently depending on their Roon Ready implementation. Roon app itself doesn’t show you the conversion but it happens at the RAAT stage the app shows you its native format at the start of the signal chain.

Just don’t worry about it it’s perfectly normal behaviour and how it’s been designed.

This is so informational. I’m no longer a newbie thanks to you!
So I assume if I’m playing Tidal MQA via Roon and my Krell displays OFS 192 this is the MQA being played? The Krell has MQA decoding as it displays MQA when I play via mConnect.
Btw. I did change between “renderer only” and “decoder and renderer” in Roon and no change on the display of the Krell. Both display as OFS 192.
Thanks again.