I have been looking into using RPi as a hifi music player, using an i2s DAC.
But after reading a little more into the subject, I had some worries which were confirmed by a fellow Volumio user (Ralph); namely that the potential for sound quality using RPi + i2s seems to be limited. The mentioned limitations are: 24 bit does NOT work over RPi i2s, 24-bit music will be truncated to 16bit due to DMA limitations, making 24 bit audio sound slightly worse than a CD (which is downmixed to 16bit instead of just truncated). Another issue mentioned is that these I2S dacs are tied to the internal clock and therefore have a lot of jitter, especially at 44.1khz (which happens to be the most commonly used frequency).
These seem like some pretty disqualifying findings for trying anything truely hifi with RPi+i2s dacs, assuming they are true. Yet this seems to be largely ignored on this and other forums, with people considering the combination of RPi+i2s dac to give ‘audiophile grade’ results. For me, 24bit being truncated to 16, and 44.1k sources facing excessive jitter, means that the result does not qualify as truely hifi.
I wonder if anyone else can verify these statements and if any solutions have been found for them. Or are people happily (unknowingly?) accepting excessive jitter and truncated hi-res?
Apart from the 24-bit issue, the other main thing is ofcourse the clock. I am not entirely sure how this works, the i2s connector consists of 2 clock pins and 1 data pin, so the Pi sends a clock signal to the DAC, does this mean the (probably not very accurate) Pi clock is always being used? What happens for boards that have 50mhz on-board clocks like the Sellarz 9023 (DAC-24192-ABR) board for example? Or boards with BurrBrown dacs that have builtin clocks? Does it still use the master clock from the Pi or will the clock from the DAC automatically take over (which would be asynchronous mode, I think?)
I would love to get ‘real hifi’ out of my raspberry B+ but am unsure how to proceed at this point. I currently have a pretty good USB dac connected to it, but I would like to go the i2s route, IF I can get hifi performance that way (meaning accurate timing with low jitter and true 24bit). But it worries me a little to see these issues raised but not addressed.
Can anyone shed light on this? Can these issues be overcome or is the RaspPi just not the platform for low-jitter 24bit audio?