by R101 » 16 Mar 2018, 15:06
Hi Janui, and thanks for your interest.
There is no problem with mpd itself, or the driver. I have checked, and 24 bit sources output a 32 bit word with 24 active data bits. Likewise, 16 bit sources output a 32 bit word with 16 active data bits.
I think there might be some confusion about word length and bit depth going on. Most DACs expect a 32 bit input per channel with the data either left-justified or I2S format, which means the driver does not care about bit depth, but needs to know the sample rate. The HAT drivers look like they use 24 bit words, though.
It seems in my case that Rune ignores what I am putting in the mpd.conf file. If I modify the file and go to the mpd settings in the Rune menu, I get a warning that the file has been modified and an invitation to manually modify it or reset it to default. Neither option seems to do anything.
All my efforts to find out more about SoX have come to nothing, as the documentation is aimed at those who already know what they are doing. I have tried removing the resampler section from the conf file and leaving the format line, as mpd is supposed to have a crude internal resampler, but this did not work either.
The SoX resampler works with the Audacious player via ALSA, so I think my problem must be something to do with the way Rune-mpd interacts with SoX, or perhaps another setting has disabled all software processing?
(Pi 3B, rAudio-1, JLS I2S over USB)