by R101 » 30 Nov 2019, 21:21
It depends.
Using I2S is OK if the DAC is sending the serial clocks to the computer. Using clocks synthesized by the computer is unlikely to give the best audio results. A compromise is to use asynchronous sample-rate conversion in the DAC, where a clock in the DAC is used for the processing and audio output, and samples are lost or repeated depending on the difference between the source and DAC clocks.
USB is as good as it gets, as you can have a very high quality clock in the DAC and no loss of data. Also, you can use the DAC with any computer.
In either case, the DAC should be electrically isolated from the computer. In the case of USB, the interface and one side of the isolator will be powered from the port, but the clock and the audio chips will be on the other side of the isolator, and powered from an isolated supply.
(Pi 3B, rAudio-1, JLS I2S over USB)