Lossless playing from Tidal Masters not working on Linux using KingRex UC384

@support

Can’t get lossless playing from Tidal Masters to work. No sound. I have limited the max sample rate to 192kHz and max bits per sample to 24 bit in device setup, but Roon seems to output 32 bit.
$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 882
buffer_size: 1764

Limiting max mits per sample to 16 bit works (sound in speakers):
$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 882
buffer_size: 1764

Playing high resolution sound using aplay works:
$ aplay -Dhw:1 /var/tmp/wav/bella.wav
Playing WAVE ‘/var/tmp/wav/bella.wav’ : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo

Setup:
Ubuntu 16.04.3 LTS
Roon Version 1.4 (build 294) stable (64bit)
KingRex UC384 async-USB converting to SPDIF

Regards,
Runar

I think the problem is that KingRex UC384 USB DDC (http://www.kingrex.com/products.php?c=2) only supports 32bit through its IIS output. The SPDIF output is muted when the UC384 is feed 32bit data. The problem seems to be that Roon outputs S32_LE even if max bit depth is set to 24bit in the device setup.

Thanks for the report and sharing your feedback with us @Runar_Sorasen, the insight is appreciated.

Can you please share a screenshot of the signal path leaving Roon when you make the following observation:

“The SPDIF output is muted when the UC384 is feed 32bit data. The problem seems to be that Roon outputs S32_LE even if max bit depth is set to 24bit in the device setup.”

-Eric


$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 960
buffer_size: 1920
htpc@kvitfjell:~
$

Hi @Runar_Sorasen ----- Thank you for your patience here and my apologies for the slow response.

Continuing forward, I got some feedback from our tech team today on this behavior you have noted while using the KingRex UC384 and as per the teams request they would like to have you run the following command (see below) and share the print out with us.

cat /proc/asound/card1/stream0

-Eric

Thank you for the response. Unfortunately I had to cancel my trial membership since Roon didn’t work as expected for me. In any case here is the output:
$ cat /proc/asound/card0/stream0
KingRex technology co.,ltd KingRex UC384 async-USB DDC at usb-0000:00:14.0-3, h : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 250 us
Interface 1
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 250 us
Interface 1
Altset 3
Format: S32_LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 125 us
htpc@kvitfjell:~

Hi @eric,

I have now updated Roon to 1.4 (build 300). Still the same issue.

Trying to play Tidal Masters gives complete silence.
$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 960
buffer_size: 1920

Even if max bit depth is set to 24bit in the device setup (inside Roon)

$ cat /proc/asound/card0/stream0
KingRex technology co.,ltd KingRex UC384 async-USB DDC at usb-0000:00:14.0-3, h : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 250 us
Interface 1
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 250 us
Interface 1
Altset 3
Format: S32_LE
Channels: 2
Endpoint: 4 OUT (ASYNC)
Rates: 44100, 88200, 176400, 48000, 96000, 192000, 352800, 384000
Data packet interval: 125 us

Hi @Runar_Sorasen ----- Thank you for touching base and sharing your observations after updating to build 300, very appreciated!

Continuing forward, our tech team is going to try to trigger this same behavior in our QA lab using another piece of gear but before the team does so I would like to enable diagnostics on your account so we can have a closer look into this behavior with the Uc384. However, before I enable this feature may I very kindly ask you to perform the following:

  • Please reproduce the issue and…
    • Note the time when it was observed.
    • Note the track that was being played at the time.

-Eric

Hi @eric,

I am now at build 306. Still only silence. Playing
track: Family
album: Ravensburg
artist: Mathias Eick
Source is: Tidal FLAC 48kHz 24bit 2ch, MQA 96kHz
Currently playing (March 9th 2018, 19:41 CET)

Thank you for the providing the requested feedback @Runar_Sorasen!

Now that I have a sense as to when the error occurred I am going to be enabling the mentioned diagnostics on your account. What this action will do is the next time the application is launched on the core machine a diagnostics report containing a set of your Roon logs will automatically be generated/uploaded directly to our servers for review. I will confirm when the report comes in so you know we have it.

-Eric

Do I need to manually relaunch anything?

Just checked our servers @Runar_Sorasen, looks like the report has been received. No need to restart, thanks for the follow up.

-Eric