USB audio vs. analog vs. spdif = confusion

Hi,

I have HiFi DAC (Cambridge Audio) and when I connect it over the USB to my PI3 with OSCM on board I get two additional outputs to choose:
-Cambridge Audio Digital Output (SPDIF)
-Cambridge Audio Analog Output

And here is where I’m getting lost. How is it possible that OSCM reports the Analog Output and SPDIF? Shouldn’t it report “USB audio” device?

The signal goes over the USB Audio protocol, not SPDIF and it is obviously digital.

1 Like

Well my assumption is the Cambridge DAC announces two audio sinks. One analog and one digital (spdif). Surely for both audio sinks the data will be digitally been send to the device

OK.

What about the Bit Perfect? Does it send the bits untouched to the DAC or does the PI do some resampling?

It’s not only OSMC that reports 2 devices. I also use DACs with Fedora on my laptop and the very same thing happens. I guess that’s how Linux (the usb-audio driver) “sees” those devices. BTW, it happens with both DACs I own: a DACMagic Plus and an Audioquest Dragonfly 1.2. I always select the S/PDIF sink and it works flawlessly. Not sure about resampling and bit-perfect audio, though.

What do you mean by Bit Perfect? Google says it’s a Mac thing, so wouldn’t be on your Pi.

Bit-perfect audio is not a Mac thing (quite the contrary, in fact, but Windows without WASAPI is no better). It is achieved when the media player (OSMC in our case) is capable of converting the source format (MP3, FLAC, etc.) into PCM (the format recognized by DACs and CD players) without applying any changes (e.g. resampling, equalizing, mixing, etc). See, for instance, here

You are referring to the Passthrough setting, where Kodi sends the audio untouched.

@giulix
Thanks for your answers.
In my case, it is working no matter which output do I choose. Strange.

@bmillham
Will try it. Thanks.

Thanks for the links. AFAIK if the sound goes through USB there is no reason why it can’t be bit perfect as long as the DAC can handle the source bit rate and bit depth. But if the Pi is doing any processing, even just a soft volume level change, there is potential for corruption. It depends on the software. Kodi does have volume settings, even if you avoid dsp plugins.

Having read this https://techsupport.cambridgeaudio.com/hc/en-us/article_attachments/201787081/Audiophile_s_Guide_To_Bit_Perfect_USB_Audio.pdf, there’s a question of whether the linux drivers support asynchronous transfer. They do support USB 2 audio AFAICT.

Beg to differ. Passthrough could be used if the USB DAC had hardware de-compression of mp3, AAC, etc. Most (or all?) don’t - they need to be fed PCM.

The linux drivers just identify the underlying chip in the device. If it’s a chip that could also drive S/PDIF linux will find it even if there is no S/PDIF out socket. If you are curious, alsamixer might tell you more about what linux sees. It may also give you access to a hardware volume control on the analogue side of the DAC which should preserve the signal better than a poorly-designed software volume.

That. Even the player I use on my Fedora laptop (gmusicbrowser) applies changes to the USB output stream, for example when I fiddle with the volume controls. Same for OSMC. So the question is, IMO: is perfect-bit audio attainable at all? If not, what music player is best at applying the smallest changes? Does it even make sense? I am perfectly happy with the analog quality I get from my digital sources but, still, this is something that’s been baking my noodles for quite a while, now… Hopefully someone will chime in to clarify this.

This is probably the wrong forum for such a request, but my noodles are under the same pressure. It has interested me ever since I noticed a clearly audible difference between VLC and Kodi on Win10. (Kodi is better).

If you are only interested in audio than maybe volumio is a better choice

What would be the advantages of it in comparison to OSMC?

Well because they have what you ask OSMC for directly on their start page https://volumio.org/

Volumio is a true HI-FI Digital Music player: an audiophile sound system tailored to offer Bit-perfect playback and uncompromised Audio Quality.

Interesting. From a quick look, I can’t see why it should be any more ‘bit-perfect’ than OSMC. Seems to be mostly a javascript front-end to stock hardware kernels and alsa. All admirable, though, and worth a closer look and listening tests.

Well I doubt that it is more bit-perfect but at least they say it on their webpage and if you don’t do the video stuff and only audio it might be a better fit.

Thank you, fzinken. I’ll give it a spin.

Update: I gave Volumio a spin and I must say that it is pretty good, although my 50+ yo ears (despite the help of a pair of Sennheiser HD650) have noticed no difference in sound quality with OSMC. Volumio is indeed more audiophile-friendly and keeps its promise of bit-perfect audio: the audio device selection is easy and unambiguous


No action applied to the volume knob produces any effect, the volume staying at 100% all the time; it cannot even be muted, only paused, and it correctly reports sampling frequence and bit depth (confirmed by the DAC), as you can see from the picture below

Also, Volumio grabs exclusive access of the selected audio device, allowing no other app to interfere. Of course, it only plays audio files so it really cannot be compared with OSMC in terms of overall functionality.
I’ll stop here, as I agree this is material for some forum specialized on HD audio.
Once again, many thanks to all who posted.

I just stumbled on this thread (new user of Vero4k/OSMC).

I think you will find that the ‘analog’ USB output is clamped at 48 kHz regardless of the sample rate of the source whereas the ‘SPDIF’ variant will send the audio untouched up to 24bit/192 kHz. I’m not sure why USB outputs are named like this since the analog output is obviously just as digital as the SPDIF output but Kodi has named them like this at least since the big audio engine rewrite a few years ago.

If ‘bit-perfect’ audio is important to you, make sure to choose the SPDIF USB output and set the Limit sampling rate to 192 kHz (it defaults to 48), Output config to best match and volume to 100 %. That’s not to say you (or anyone else) will be able to hear the difference – I certainly can’t. Any claimed difference between good old 16/44.1 and 24/192 is almost certainly due to different masters or just wishful thinking. But that’s a whole 'nother can of worms …

It’s still nice, though, to discover the Vero4k/OSMC does decent USB-audio. None of the other little black boxes I’ve come across – at least those using Amlogic SOCs – have been able to do it without pops and clicks and much stuttering. Well done!

Obviously all this is only important for stereo music output – all the toytown multichannel movie audio formats will get downmixed accordingly to 24/48 kHz stereo. But you probably wouldn’t be using a nice stereo DAC if multichannel audio was important to you … :wink:

Cheers
Ian

1 Like

To have passthrough capabilities, the sink needs to be opened in a specific way. So it is taggged as IEC958 so Kodi knows how to handle it; and as such, appears as a separate device.

Sam