Jump to content
IGNORED

Roon & MQA - Software Decoding Is Coming!


Recommended Posts

So I tried a few things with the "Masters" albums:

 

- Added a few Masters albums to "My Favorites" in Tidal

- In Roon, added them to my library after accessing Tidal --> Favorites

- Kept Roon output to HQP

- HQP upsampling to DSD128 Closed Form

- HQP output to Mrendu in NAA mode

 

At first, it didn't work. The song was progressing along in Roon and in HQP but no sound - Roon was showing Lossless input but at 48Kkhz 24bit 2ch and HQP was showing closed form, DSD5v2, SDM, and a weird output rate of 3072Khz (which is 64x of the 48Khz rate family). I guess it would've tried 128x48khz but because max DSD rate possible over DOP using Mrendu into my Amanero Combo384 board is 5.6Mhz, so scaled it down to 3072Khz. I'm puzzled why it wouldn't play the 3072Khz stream but anyway I deselected Auto Rate Family in HQP Preferences but still no luck. I then remembered something about some filters not working on certain PCM to DSD conversions so I selected poly-sinc-short and voila! there it was: Roon showing Lossless 48Khz/24bit/2ch as source and HQP showing 5.6Mhz as output to Mrendu and DAC (not MQA capable) playing sweet music.

 

Now I have no way of knowing if the stream coming over the net from Tidal as input into Roon is 44.1/16 MQA decimated, Redbook 44.1/16 as in the "old" days or if Tidal is actually software decoding MQA prior to the stream touching Roon but three things indicate that it is 48k/24bit:

- Roon which hasn't been updated is showing input source of 48k/24bit

- One setting I tried was using HQP without any conversion and upsampling and in the HQP top right window it had Format: 48k / 24 / 2 -> 48k

- Normally when I convert 44.1-->5.6Mhz using poly-sinc-short, I don't get stuterring. While playing the 48k/24bit source and outputting DSD128 to the Mrendu, I kept getting stuttering every 3-4 mins and the trusty ole MBPro seems to be working harder (CPU load seems higher than usual).

 

Of course, I've just been trying these different permutations, haven't really listened critically so couldn't tell you anything about the sonic differences.

 

I remain skeptical on Tidal software decoding the stream at source rather than on the desktop app or at the Roon API level - that would make a complete mockery of their argument of compressing hi-rez to make it streaming friendly. Would love some thoughts on what could be going on here.

 

 

 

 

 

I would have to try it over Tidal, but for that I need to reconnect the DAC to my mini directly. Snooze...

 

The Alanis Morissette album in MQA form plays fine through Roon->HQPlayer->NAA->mR, but obviously no MQA decoding is happening.

Link to comment
So I tried a few things with the "Masters" albums:

 

- Added a few Masters albums to "My Favorites" in Tidal

- In Roon, added them to my library after accessing Tidal --> Favorites

- Kept Roon output to HQP

- HQP upsampling to DSD128 Closed Form

- HQP output to Mrendu in NAA mode

 

At first, it didn't work. The song was progressing along in Roon and in HQP but no sound - Roon was showing Lossless input but at 48Kkhz 24bit 2ch and HQP was showing closed form, DSD5v2, SDM, and a weird output rate of 3072Khz (which is 64x of the 48Khz rate family). I guess it would've tried 128x48khz but because max DSD rate possible over DOP using Mrendu into my Amanero Combo384 board is 5.6Mhz, so scaled it down to 3072Khz. I'm puzzled why it wouldn't play the 3072Khz stream but anyway I deselected Auto Rate Family in HQP Preferences but still no luck. I then remembered something about some filters not working on certain PCM to DSD conversions so I selected poly-sinc-short and voila! there it was: Roon showing Lossless 48Khz/24bit/2ch as source and HQP showing 5.6Mhz as output to Mrendu and DAC (not MQA capable) playing sweet music.

 

Now I have no way of knowing if the stream coming over the net from Tidal as input into Roon is 44.1/16 MQA decimated, Redbook 44.1/16 as in the "old" days or if Tidal is actually software decoding MQA prior to the stream touching Roon but three things indicate that it is 48k/24bit:

- Roon which hasn't been updated is showing input source of 48k/24bit

- One setting I tried was using HQP without any conversion and upsampling and in the HQP top right window it had Format: 48k / 24 / 2 -> 48k

- Normally when I convert 44.1-->5.6Mhz using poly-sinc-short, I don't get stuterring. While playing the 48k/24bit source and outputting DSD128 to the Mrendu, I kept getting stuttering every 3-4 mins and the trusty ole MBPro seems to be working harder (CPU load seems higher than usual).

 

Of course, I've just been trying these different permutations, haven't really listened critically so couldn't tell you anything about the sonic differences.

 

I remain skeptical on Tidal software decoding the stream at source rather than on the desktop app or at the Roon API level - that would make a complete mockery of their argument of compressing hi-rez to make it streaming friendly. Would love some thoughts on what could be going on here.

Nothing other than the MQA decoder will decode MQA. Everything related to upsampling the 24/48 stream is seeing the least significant 8 bits of the 24 bit sample as noise. Possibly this makes the interpolators work harder because they have a higher resolution sample and don't know to simply chop off the least significant 8 bits.

 

 

I seem to recall there are MQA filters in HQP that will do just that. The manual should help.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment

That makes sense though I thought to ensure "legacy" compatibility the FLAC was supposed to look like a 44.1/16 container so CD players could play it. I might be confusing things though.

 

P.S: The nothing other than MQA decoder will decode MQA is obviously correct but earlier the situation was clear - the only place the MQA decoder could be was in the DAC; now the decoder is in software as well - where/how that decoder runs, who knows.

 

Irrespective, your explanation of discarding the least significant 8 bits makes more sense than Tidal doing the software decoding prior to streaming the file over the net.

 

Nothing other than the MQA decoder will decode MQA. Everything related to upsampling the 24/48 stream is seeing the least significant 8 bits of the 24 bit sample as noise. Possibly this makes the interpolators work harder because they have a higher resolution sample and don't know to simply chop off the least significant 8 bits.

 

 

I seem to recall there are MQA filters in HQP that will do just that. The manual should help.

Link to comment
That makes sense though I thought to ensure "legacy" compatibility the FLAC was supposed to look like a 44.1/16 container so CD players could play it. I might be confusing things though.

Most MQA files are 24/48, I think. There are some that are 24/44 if I recall correctly. But this is all irrelevant, there's no need anywhere to match the CD's 44 sampling rate. There certainly cannot be CDs that store MQA data as it would need to be 24 bit samples and CDs are only 16 bit samples. However, maybe at some point they will come out with CDs labeled MQA to indicate the time deblurring was used in the master.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment
Nothing other than the MQA decoder will decode MQA. Everything related to upsampling the 24/48 stream is seeing the least significant 8 bits of the 24 bit sample as noise. Possibly this makes the interpolators work harder because they have a higher resolution sample and don't know to simply chop off the least significant 8 bits.

I seem to recall there are MQA filters in HQP that will do just that. The manual should help.

Just looked. poly-sinc-mqa looks to do just that, ie chop the least significant 8 bits. Maybe Miska can confirm.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment

You're right about the MQA file rate/depth but I remember reading a lot of debate around the lossy nature of MQA when used without a hardware decoder because it was limited to 16 bit depth and had to absorb relevant data above Nyquist by folding below Nyquist into 13 bits and above Nyquist into 3 bits or something similar. The conclusion seemed to be that without decoder the best you could get from the MQA file was lower than Redbook (lossy).

 

 

Most MQA files are 24/48, I think. There are some that are 24/44 if I recall correctly. But this is all irrelevant, there's no need anywhere to match the CD's 44 sampling rate. There certainly cannot be CDs that store MQA data as it would need to be 24 bit samples and CDs are only 16 bit samples. However, maybe at some point they will come out with CDs labeled MQA to indicate the time deblurring was used in the master.
Link to comment

WOW lots of things to try because of this thread...

 

Anyway, I signed up for the free Tidal premium trial that gives you access to Master-quality music. Oh boy, it looks like they have a 2L sampler in there -- including the Mozart Violin Concerto in D Major, which is the first track and also the track I was trying to test. Perfect. Problem: I am running it on a dedicated music PC, and Tidal desktop won't see my output device. When using RDP, it defaults to the RDP sound service which streams to my RDP client which is worthless...end up having to use LogMeIn which allows Tidal to access the Amanero output device....except for whatever reason Tidal doesn't detect it as an output device. Annoying...but, it appears to be sending music across the right interface now, but I'm worried it's no longer bit perfect. Still, the MASTER icon is lit up.

 

Frankly, I don't know that I can call it any better or worse than the MQA FLAC in JRiver. The DXD version in JRiver, now that I've sat down and carefully listened, is clearly superior in terms of microdetails. For example, the violin solo starting at 7 minutes; the DXD version in JRiver had a greater sense of reverberation and harmonics of a violin. The sound of the bow rubbing against the strings was more palpable and "real".

Link to comment
Just looked. poly-sinc-mqa looks to do just that, ie chop the least significant 8 bits. Maybe Miska can confirm.

 

Whenever MQA content is detected (indicated in the GUI), there's special algorithm used to strip most of the MQA noise from LSBs. Then the poly-sinc-mqa/poly-sinc-mqa-mp filters are tuned to fit the MQA content. Those same filters are also suitable for upsampling hires (88.2k sampling rate or higher) content. Those filters have gentler roll-off, but not as much as "minringFIR", so it they are somewhere between poly-sinc-short and minringFIR. Also roll-off shape and stop-band behavior is different between the three, so the filters are sort of completely different.

 

So now the noise-bit-stripping and filters are separate. This is sort of "make most out of content and try to do it sort of the way it was intended".

 

Note that when you play MQA content from Roon, there is no indication of the track content type and thus the bit stripping is never active. It only works when HQPlayer has direct access to the source content. You can of course still use the poly-sinc-mqa* filters.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
At first, it didn't work. The song was progressing along in Roon and in HQP but no sound - Roon was showing Lossless input but at 48Kkhz 24bit 2ch and HQP was showing closed form, DSD5v2, SDM, and a weird output rate of 3072Khz (which is 64x of the 48Khz rate family). I guess it would've tried 128x48khz but because max DSD rate possible over DOP using Mrendu into my Amanero Combo384 board is 5.6Mhz, so scaled it down to 3072Khz. I'm puzzled why it wouldn't play the 3072Khz stream but anyway I deselected Auto Rate Family in HQP Preferences but still no luck.

 

Amanero Combo384 can output 3.072 and 6.144 MHz DSD just fine. So you can set the SDM output mode limit in HQPlayer settings to 6144000.

 

- Normally when I convert 44.1-->5.6Mhz using poly-sinc-short, I don't get stuterring. While playing the 48k/24bit source and outputting DSD128 to the Mrendu, I kept getting stuttering every 3-4 mins and the trusty ole MBPro seems to be working harder (CPU load seems higher than usual).

 

48k -> 5.6M is heavier case than 44.1 -> 5.6M, but when necessary you can use poly-sinc-short-2s and then it's much lighter.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Whenever MQA content is detected (indicated in the GUI), there's special algorithm used to strip most of the MQA noise from LSBs. Then the poly-sinc-mqa/poly-sinc-mqa-mp filters are tuned to fit the MQA content. Those same filters are also suitable for upsampling hires (88.2k sampling rate or higher) content. Those filters have gentler roll-off, but not as much as "minringFIR", so it they are somewhere between poly-sinc-short and minringFIR. Also roll-off shape and stop-band behavior is different between the three, so the filters are sort of completely different.

 

So now the noise-bit-stripping and filters are separate. This is sort of "make most out of content and try to do it sort of the way it was intended".

 

Note that when you play MQA content from Roon, there is no indication of the track content type and thus the bit stripping is never active. It only works when HQPlayer has direct access to the source content. You can of course still use the poly-sinc-mqa* filters.

Thx. So if HQPlayer detects an MQA source then it will ALWAYS strip out the LSBs?

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment
Thx. So if HQPlayer detects an MQA source then it will ALWAYS strip out the LSBs?

 

Yes, with one exception. When filter is set to "none" then it is not done, so with bit of adjustment you can play back MQA content bit-perfect through HQPlayer and get the MQA light up on an enabled DAC. I've used it for comparison purposes with a Meridian DAC I have.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
You're right about the MQA file rate/depth but I remember reading a lot of debate around the lossy nature of MQA when used without a hardware decoder because it was limited to 16 bit depth and had to absorb relevant data above Nyquist by folding below Nyquist into 13 bits and above Nyquist into 3 bits or something similar. The conclusion seemed to be that without decoder the best you could get from the MQA file was lower than Redbook (lossy).

The only difference (that I am aware of) between software and hardware decoding is the knowledge of the hardware in the latter case. In this case, MQA argues, the final decoding step can be tuned to the characteristics of the DAC chip.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment
The only difference (that I am aware of) between software and hardware decoding is the knowledge of the hardware in the latter case. In this case, MQA argues, the final decoding step can be tuned to the characteristics of the DAC chip.

 

And if MQA ever really takes off, someone will reverse-engineer the decoder just like they've done for DTS and ALAC. After the reverse engineering, Apple released source code for the official ALAC codec too.

 

That's how for example VLC can play so many formats. :)

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

What the software decoding appears to be bringing is the ability to stream higher-rez files. Qobuz already has this capability and has been able to stream 96/24 without any MQA. Qobuz's policy is to only allow high-res streaming of music already purchased through Qobuz and you also need a Qobuz Sublime subscription. Meaning you pay a full years sub in advance.

 

So high-res steaming itself obviously doesn't need MQA; but streaming high-res in an MQA container must be less demanding on resources on both ends and can be used to stream probably over 4g or even 3g mobile connections.

 

This seems to be its number one advantage for most users.

 

If I'm understanding correctly the other part of the MQA equation is when the recording is fully MQA authenticated all the way from the studio to the MQA capable DAC. This part still requires an MQA capable DAC at the moment. It seems debatable as to how much benefit that part brings to SQ. If it's true that it allows the incoming signal to be optimised to the specific DAC chip are we ever likely to see it in the form of software decoding?

Owner of: Sound Galleries, High-End Audio Dealer, Monaco

Link to comment
And if MQA ever really takes off, someone will reverse-engineer the decoder just like they've done for DTS and ALAC. After the reverse engineering, Apple released source code for the official ALAC codec too.

 

That's how for example VLC can play so many formats. :)

 

I've been involved in some of those efforts. If I can't troll them into taking on MQA, I'll probably have a crack at it myself although I'm not nearly as good at reverse engineering as some others.

Link to comment
I've been involved in some of those efforts. If I can't troll them into taking on MQA, I'll probably have a crack at it myself although I'm not nearly as good at reverse engineering as some others.

Is it worth going through all that just to extract a lossy version of the content?

Link to comment
Can someone inform me where you choose MQA albums from TIDAL when using Roon?

 

Thanks

Today, you can only software decode MQA with the Tidal desktop app. Roon is teasing that MQA software decoding is (maybe?) coming in version 1.3 but details are scarce those who know have apparently signed some kind of NDA. I have a sinking feeling that some changes coming to Roon may be bad news for some.

Link to comment
Today, you can only software decode MQA with the Tidal desktop app. Roon is teasing that MQA software decoding is (maybe?) coming in version 1.3 but details are scarce those who know have apparently signed some kind of NDA. I have a sinking feeling that some changes coming to Roon may be bad news for some.

 

Thanks

 

That is what I thought. By the sound of some of the posts here it appeared that they were claiming playing Tidal Masters via Roon.

Link to comment
What the software decoding appears to be bringing is the ability to stream higher-rez files. Qobuz already has this capability and has been able to stream 96/24 without any MQA. Qobuz's policy is to only allow high-res streaming of music already purchased through Qobuz and you also need a Qobuz Sublime subscription. Meaning you pay a full years sub in advance.

 

So high-res steaming itself obviously doesn't need MQA; but streaming high-res in an MQA container must be less demanding on resources on both ends and can be used to stream probably over 4g or even 3g mobile connections.

This is the part that so massively rubs me the wrong way... As Miska has verified, streaming MQA takes about 2x the bandwidth of streaming redbook. And for that cost you can stream an 18bit/96KHz stream that has functionally identical resolution and is not a proprietary format - ie anyone can decode.

 

This seems to be its number one advantage for most users.

 

If I'm understanding correctly the other part of the MQA equation is when the recording is fully MQA authenticated all the way from the studio to the MQA capable DAC. This part still requires an MQA capable DAC at the moment. It seems debatable as to how much benefit that part brings to SQ. If it's true that it allows the incoming signal to be optimised to the specific DAC chip are we ever likely to see it in the form of software decoding?

Does not require an MQA DAC - although the "MQA light" would have to me implemented in the software if it is not. Tidal can today decode MQA in software and nothing prevents it from decoding the quality flag.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment
You can't! You only see Tidal albums but don't see which albums are MQA (jet)

Can figure it out from sample rate/bit rate.

NUC10i7 + Roon ROCK > dCS Rossini APEX DAC + dCS Rossini Master Clock 

SME 20/3 + SME V + Dynavector XV-1s or ANUK IO Gold > vdH The Grail or Kondo KSL-SFz + ANK L3 Phono 

Audio Note Kondo Ongaku > Avantgarde Duo Mezzo

Signal cables: Kondo Silver, Crystal Cable phono

Power cables: Kondo, Shunyata, van den Hul

system pics

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...