Thank you for your donation!


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


Official moOde 6.5.2 support thread
#96
(05-27-2020, 03:46 PM)TheOldPresbyope Wrote: @JonPike 

I'm not sure I followed your dissection of the Schiit Modi 3, but moOde can only work with the capabilities of DACs as reported through ALSA.

Tim has included in moOde the command-line utility alsacap which can tell you what ALSA believes to be true about yours.

Ah, thanks for that.  The article especially, that will help a lot with me understanding ALSA better.

I was using the Modi 3 on my 6.5.2 player.   Here's what I see in the Audio Info:

Audio Device
Device:      USB audio device
Chip:      
Interface:      USB
Formats:      S16_LE, S32_LE, S24_3LE
Platform:      Pi-3B 1GB v1.2


And what I see with alsacap:  (not showing the Pi's audio jack and two HDMI devices)

Card 1, ID `S3', name `Schiit Modi 3'
  Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
    2 channels, sampling rate 44100..192000 Hz
    Sample formats: S16_LE, S32_LE, S24_3LE
    Buffer size range from 16 to 262144
    Period size range from 8 to 131072

So, it seems that the Modi 3 is recognized as handling 32b data,  and rates up to 192k.  This follows with what the Cmedia USB interface chip can do, (and not what the Schiit website says, which is 24b).  And, probably everything setup wise is OK in that regard.

The weird thing, is when you resample higher than that.  So, if I sample to a higher rate than 192k,  I'd expect no sound and a error message.  What happens is this, from the Audio Info window:

Resampling to 32/384, no cross

Input / Output
Source:      http://stream-tx3.radioparadise.com/aac-320
Encoded at:      VBR compression
Decoded to:      16 bit, 44.1 kHz, Stereo, 320 kbps
Destination:      Local
Output rate:      32 bit, 192 kHz, Stereo, 12.288 Mbps
DSP operations
Volume ctl:      Software (MPD 32-bit float with dither)
Resampling:      32 bit, 384 kHz, Stereo (SoX very high quality)
Polarity inv:      off
Crossfade:      off
Crossfeed:      off

Notice that I've set it to resample to 32/384,  but the output ends up 32/192.   And it plays, since the Modi can handle that.  Not sure what's exactly happening here, but it looks like some resampling or altering of the commanded setting to a different (the max valid?) rate. 

Now, if I turn on the Crossfeed, or select an EQ, this breaks,  and I get no decode or output, looking like this, along with the ALSA no device msg like Morias saw:

Input / Output
Source:      http://stream-tx3.radioparadise.com/aac-320
Encoded at:      VBR compression
Decoded to:      0 bps
Destination:      Local
Output rate:      0 bps
DSP operations
Volume ctl:      Software (MPD 32-bit float with dither)
Resampling:      32 bit, 384 kHz, Stereo (SoX very high quality)
Polarity inv:      off
Crossfade:      off
Crossfeed:      700 Hz 4.5 dB

If I lower the resampling rate to 32/192,  it works with the crossfeed on.

So, it looks like the system will "protect" you from setting beyond the rate of your DAC,  but if you enable a feature it will not.  Maybe that's not what's happening, but that's the result.  It's perhaps a low level bug,  but if it would be possible to maintain the "protecting" behavior with the crossfeed/EQ on, it would keep people from stumbling into a confusing non playing situation.  I have no idea if the stuff doing this is near the surface in Moode land,  or deep under the hood of ALSA....

A possible clue is that if you don't do any resampling, and you turn on the crossfeed/EQ you get the same data rate as you had on the input, but the reported depth on output changes to 32b.  As Tim explained, that's something ALSA will do, but in this case only when those features are on.
Reply


Messages In This Thread
RE: Official moOde 6.5.2 support thread - by JonPike - 05-29-2020, 12:22 AM

Forum Jump: