Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


USB SPDIF Configuration?
#1
I have been up and running for 2 days, now.  Very happy with the sound and interfacing with an old iPad.  Smile The case gets warm, but not hot and no fan noise.  Nice and compact.  

I had been running with a Peachtree X1 converter.  This is an older converter, but the software identified it and works nicely.   Today, I tried switching to a Douk Audio U2 Pro.  It auto configures it to HIFI DSD, and does not provide an other option outside of the headphone and HDMI.  This converter does support DSD and PCM.  It starts out at PCM, but Moode switches it to DSD.  FWIW, I run the converters on the USB 2.0 ports, and the memory stick on the USB 3.0 ones. 

I didn't find anything in the documentation or searches on the forum.  Douk says it is compatable with Native Linux with UAC2 (no driver needed).  I'm not sure what that all means.  If this is not configurable, is there a list of the USB to SPDIF converters that are supported?
Reply
#2
What happens when you play a PCM file?
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#3
(01-03-2024, 11:08 PM)Tim Curtis Wrote: What happens when you play a PCM file?

The indicator on the converter stays on DSD and no sound comes out.  When it was on the laptop (W10), it ran fine and indicater was on PCM.
Reply
#4
It's not obvious to me what might be happening with this particular device.

moOde uses the stock Linux kernel USB audio driver.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#5
I see that the manufacturers site has this to say...

"Please set the volume of operation system to maximum(100) if you want to listen to DSD music."

Not sure what that entails but assume they expect MoOde to be set at 100% output and you have a downstream control for system volume.

https://doukaudio.com/products/douk-audi...ace-dsd256
Reply
#6
(01-04-2024, 06:39 AM)DRONE7 Wrote: I see that the manufacturers site has this to say...

"Please set the volume of operation system to maximum(100) if you want to listen to DSD music."

Not sure what that entails but assume they expect MoOde to be set at 100% output and you have a downstream control for system volume.

https://doukaudio.com/products/douk-audi...ace-dsd256

My library is flac, so want it to output pcm. 

It does say this about Linux, but don't know linux archetecture or what specificly is used in Moode/Pi4.    an use the system's own driver. And Native Linux with UAC2 compliant kernel also can use the system's own driver.(Has tested on Ubuntu and Daphile systems, based on INTEL X86)

  • Native ac OS 10.6 and above, can use the system's own driver. And Native Linux with UAC2 compliant kernel also can use the system's own driver.(Has tested on Ubuntu and Daphile systems, based on INTEL X86)
Reply
#7
moOde uses Linux kernel 6.1.21 as shipped with Raspberry Pi OS Bulleseye. The USB audio driver in Linux has been UAC2 compliant for many years and works perfectly with most USB audio devices.

Your particular audio device may not be compatible with modern Linux kernels. Maybe ask the manufacture if they tested on Raspberry Pi OS and kernel 6.1.21.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#8
(01-04-2024, 02:57 PM)Tim Curtis Wrote: moOde uses Linux kernel 6.1.21 as shipped with Raspberry Pi OS Bulleseye. The USB audio driver in Linux has been UAC2 compliant for many years and works perfectly with most USB audio devices.

Your particular audio device may not be compatible with modern Linux kernels. Maybe ask the manufacture if they tested on Raspberry Pi OS and kernel 6.1.21.

I sent the question, but I highly doubt the answer will be yes.   I did ask if there is a way to force the PCM vs DSD output.  I highly suspect that the issue is that this device supports both.  Linux is defaulting to the USB/DSD vs USB/PCM.  

This was purchased just a year ago and is still in production, where as the Peachtree X1 has long been out of production.  

While it would drive a case change, does it support HiFiBerry DIGI2 Pro SPDIF hat?
Reply
#9
Yes, as long as there is an I2S driver for that board in the Linux kernel. The list of Hifiberry drivers currently in kernel 6.1.21 is below. I don't know which driver if any is for that particular board. You may want ask Hifiberry.

Code:
pi@moode:~ $ ls -l /boot/overlays/hifiberry*
-rwxr-xr-x 1 root root 2070 Apr  5  2023 /boot/overlays/hifiberry-amp100.dtbo
-rwxr-xr-x 1 root root 1456 Apr  5  2023 /boot/overlays/hifiberry-amp3.dtbo
-rwxr-xr-x 1 root root  779 Apr  5  2023 /boot/overlays/hifiberry-amp.dtbo
-rwxr-xr-x 1 root root  655 Apr  5  2023 /boot/overlays/hifiberry-dac.dtbo
-rwxr-xr-x 1 root root 2004 Apr  5  2023 /boot/overlays/hifiberry-dacplusadc.dtbo
-rwxr-xr-x 1 root root 2079 Apr  5  2023 /boot/overlays/hifiberry-dacplusadcpro.dtbo
-rwxr-xr-x 1 root root  699 Apr  5  2023 /boot/overlays/hifiberry-dacplusdsp.dtbo
-rwxr-xr-x 1 root root 1916 Apr  5  2023 /boot/overlays/hifiberry-dacplus.dtbo
-rwxr-xr-x 1 root root 1649 Apr  5  2023 /boot/overlays/hifiberry-dacplushd.dtbo
-rwxr-xr-x 1 root root  959 Apr  5  2023 /boot/overlays/hifiberry-digi.dtbo
-rwxr-xr-x 1 root root 1125 Apr  5  2023 /boot/overlays/hifiberry-digi-pro.dtbo
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply
#10
@SerbJ 

I'm having trouble deciding what the Douk website is saying about your device but I do see words like "XMOS XU208" (which is the microcontroller which handles the USB interface), and PCM, native DSD, and DSD over PCM (DoP).

These put it in the same class as my Khadas Tone 1 Board which also uses the XMOS XU208 microcontroller to handle the USB input and, in this case, an onboard ESS ES9038Q2M DAC chip. There's no onboard PCM/DSD indicator or bitrate display such as the Topping DACs have.

My board has no trouble playing native PCM streams, native DSD streams, and DoP streams from moOde. Like many USB DACs in its price range, it offers hardware volume control only of PCM streams  so, like your device, it requires downstream volume control for incoming DSD streams. That's not a big deal for me because I have only a smattering of DSD-encoded tracks which I use mostly for testing purposes.

Out of curiosity, what output do you get when you run the alsacap command from the moOde command line?

Here's what I get


Code:
pi@moode837:~ $ alsacap
*** Scanning for playback devices ***
Card 0, ID `b1', name `bcm2835 HDMI 1'
 Device 0, ID `bcm2835 HDMI 1', name `bcm2835 HDMI 1', 4 subdevices (4 available)
   1..8 channels, sampling rate 8000..192000 Hz
   Sample formats: U8, S16_LE
   Buffer size range from 80 to 131072
   Period size range from 80 to 131072

     Subdevice 0, name `subdevice #0'
     Subdevice 1, name `subdevice #1'
     Subdevice 2, name `subdevice #2'
     Subdevice 3, name `subdevice #3'
 Device 1, ID `bcm2835 HDMI 1', name `bcm2835 HDMI 1', 1 subdevices (1 available)
   2 channels, sampling rate 44100..48000 Hz
   Sample formats: S16_LE
   Buffer size range from 444 to 32768
   Period size range from 444 to 32768

     Subdevice 0, name `subdevice #0'
Card 1, ID `Headphones', name `bcm2835 Headphones'
 Device 0, ID `bcm2835 Headphones', name `bcm2835 Headphones', 4 subdevices (4 available)
   1..8 channels, sampling rate 8000..192000 Hz
   Sample formats: U8, S16_LE
   Buffer size range from 80 to 131072
   Period size range from 80 to 131072

     Subdevice 0, name `subdevice #0'
     Subdevice 1, name `subdevice #1'
     Subdevice 2, name `subdevice #2'
     Subdevice 3, name `subdevice #3'
Card 2, ID `Tone1', name `Tone1'
 Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
   2 channels, sampling rate 44100..768000 Hz
   Sample formats: S32_LE, SPECIAL, DSD_U32_BE
   Buffer size range from 16 to 1536000
   Period size range from 8 to 768000

     Subdevice 0, name `subdevice #0'


As you can see, the Khadas Tone 1 is ALSA Card 2. It has informed Linux that it can accept 32-bit PCM (the S32_LE format) and 32-bit DSD (the DSD_U32_BE format).

ETA - I wrote the above without thinking. DSD is a 1-bit encoding scheme. That "32-bit DSD" refers to the way the bits are packed into bytes/words.

I have no trouble playing PCM tracks (such as my extensive collection of FLAC tracks) or DSD tracks through my Khadas Tone1. The ESS 9038 chip can accept either native DSD or DoP; my preference is to stream native DSD.

Here's what the "audio info" feature of moOde returns for a FLAC track I just played using hardware volume control (software volume control would have worked as well) -


Code:
INPUT / OUTPUT
Source          NAS/omv-nfs/Mostly-Piano_Ashokan-Farewell/Mostly Piano - 10 - Ashokan Farewell - 19224-FLAC.flac
Source format   FLAC 24 bit 192 kHz, Stereo
Decoded to      PCM 24 bit 192 kHz, Stereo, 6.104 Mbps
Output format   PCM 32 bit 192 kHz, Stereo, 12.288 Mbps
ALSA mode       Default (plughw)
Audio chain     MPD -> plughw -> DeviceDSP OPERATIONS
Resample rate   Off
Quality         Off
Selective       Off
CamillaDSP      Off
Volume type     Hardware (On-chip)AUDIO DEVICE
Device          Tone1
Mixer name      Tone1
Interface       USB
Formats         S32_LE, SPECIAL, DSD_U32_BE
Platform        Pi-4B 1.1 2GB

and a DSD track playing with mooOde's volume type set to "Fixed (0dB output)"


Code:
INPUT / OUTPUT
Source          NAS/OMV-Music/DSD/NDSD012/02_Welcome-to-NativeDSD-Sampler_NativeDSD-Presents_NDSD012_2ch64.dsf
Source format   DSD 1 bit 2.822 MHz, Stereo
Decoded to      DSD 1 bit 2.822 MHz, Stereo, 5.645 Mbps
Output format   DSD 1 bit 2.822 MHz, Stereo, 5.645 Mbps
ALSA mode       Default (plughw)
Audio chain     MPD -> plughw -> DeviceDSP OPERATIONS
Resample rate   Off
Quality         Off
Selective       Off
CamillaDSP      Off
Volume type     Fixed (0dB output)AUDIO DEVICE
Device          Tone1
Mixer name      Tone1
Interface       USB
Formats         S32_LE, SPECIAL, DSD_U32_BE
Platform        Pi-4B 1.1 2GB

Regards,
Kent
Reply


Forum Jump: