Aduio Quality: DAC vs HDMI

If I connect my Pi to a home A/V receiver via HDMI, how would audio quality compare to coming out of a DAC?

Came to look for the same answer, would a dac with a usb input or a dac with a hdmi input or a plug in dac like hifiberry sound best? I mainly listen to CD’s and flacs copied to a HD and use volumio on a Pi2. Also I have a higher end system.

Cheers

Usb DAC makes the cpu load higher and takes up a USB port. But they are commonly available in a wide price range. From cheap with low quality and with very high quality for an incredible amount of money.

I2C DAC doesn’t use a USB port, are more and more available. Fit perfectly on your device if when there made for it.is compact. And don’t stress the cpu as usb. Price quality level is good on basically all the version’s I’ve seen on this forum.

HDMI, doesn’t use a USB port and doesn’t do the CPU load like usb does. You would use the DAC in your amplifier. The sound should be rather the same as your other devices connected.
Amp’s like that dont come cheap but you would probably already have one that you want to use.

HDMI would have my preference if you already have the HDMI amplifier and want to connect to it. You don’t have to buy anything more and the sound should have the same characteristics as your other devices.

But I don’t have such an amplifier so I use a I2C DAC. Specifically the Iqaudio pidac+ that hit the price quality sweetspot for me. That is on paper, haven’t compared the audio my self. Taking in mind the Ir and potentiometer headers and more premium look of the pcb :nerd:

Tl;Dr;
It all comes down to the quality you want and the money you got. (or had after purchase :smiley:)

1 Like

I’m building a system (receiver and speakers, anyway) from scratch. I’m not concerned about surround sound since I don’t watch many movies, but I am very concerned about quality of music. So I am considering a stereo receiver rather than an A/V receiver. (Don’t need the extra channels.) I currently use my TV to switch between Chromecast and BluRay; I would continue to do that if I get a stereo receiver. The audio is output on the TV’s RCA line out jacks. Would The same not be the case if I used an HDMI input on the TV for the Raspberry Pi? If I did get an A/V receiver that has HDMI inputs, would HDMI on the receiver only handle video if the receiver doesn’t have a DAC?

I would not use my TV to switch audio, use a dac or receiver. I am actually considering this http://www.essenceelectrostatic.com/product/hdacc/ as my pre-amp/dac, right now I use an Emotiva UMC-1 for the switching and dac duties. I just don’t find it up to par with newer dacs.

TV, although it may do the job of switching, it wasn’t meant and it’s probably pretty noisy. I would get either a good dac/pre-amp combo like the one I’m considering or a good 2-channel receiver with an external dac.

1 Like

It is a bit odd phrased question because you are mixing signal transport and Digital/Analog Conversion in one question.

But I understand your goal :slight_smile:

When looking at both parts (DAC and transport), the quality of the DAC is the most important one and then the way you transport which type of signal.

Looking for the best audio quality is finding the best part in the chain to do your D/A Conversion.

If you have an A/V receiver, it most likely has an onboard DAC. You could use that one and use a good signal transport mechanism to transport the digital signal. HDMI could be an option (but there are still some limitations like max 48khz, 2 channels. Look for more info on HDMI and the work in progress to update HDMI to 192khz, 8 channels).

Also a good alternative to transport a digital signal from the Pi to an A/V Receiver (or independant DAC) is using something like the Hifiberry Digi+ which creates an SPDIF signal from the I2S GPIO and outputs to COAX or TOSLINK (Optical) depending on the available input of the receiving device. COAX is prefered over TOSLINK as TOSLINK has also some limitations (more info can be found also on this forum).

The alternative is to use one of the many I2S DAC’s that are available and transport the analog signals to the amplifier (use good cables as analog signal are more sensative to ‘radation’ from surrounding cables and devices).

My personal pref in your case? Get something like the Hifiberry Digi+ and feed the A/V receiver that way. This leaves you with the option to improve the quality later on if you want by putting a better (independant) DAC between the Pi+Hifiberry and the Receiver.

As I understand it, each transport has their limitations/tradeoffs (I’m open to feedback on this list. I’m still learning here):

HDMI:
Pros:

  • Doesn’t take much CPU time (handled by VideoCore GPU)
  • Lots of used HDMI receivers on the market that can handle multichannel DAC/AMP duties for less than $100 total

Cons:

USB
Pros:

  • Only option for multichannel output right now
  • Asynchronous USB DACs can ensure low jitter
  • Wide range of price, functionality and availability

Cons:

  • USB output eats CPU. RPI1 can run out of CPU headroom for hi-res multichannel output
  • USB shares resources with ethernet, so if you’re running heavy network operations, they’ll run out of resources

I2C
Pros:

Cons:

  • High jitter (due to cheap RPi clock), unless you can run RPI DAC clock as master
  • Output limited to only 2 channels PCM

Myself, I’m waiting for the multichannel HDMI to come through. I’m not too worried about jitter at my level, and I like keeping DAC/AMP costs down by using an older high-quality HDMI receiver, since I need 4-6 channels of amplification for my active speaker work.

For what it’s worth, I have two Pi B streamers, one running Volumio out to the stereo and one running OSMC for video streaming. Both use HiFiBerry Digi cards to provide output , OSMC via optical and Volumio via coax. The audio side runs stereo because that’s pretty much all there is out there in terms of recordings, and so the coax feeds out to a Musical Fidelity V-DAC II/V-PSU II combo, thence to the AV receiver. The video Pi throws multi-channel sound out to the AV side of the receiver, again via a Digi and an optical link, albeit an original Digi running on a Pi B. Still amazing to test it with Star Wars and get the blue light come on the receiver for 5.1 sound and hear the Star Destroyer go overhead.

This way, the Pi only has to arrange for the file (video or audio) to be presented to the I2S interface as I desire it, it doesn’t have to do anything more and so doesn’t expose the file to any Pi-created glitches. Equally, it means that each bit of the transmission path from file to eye/ear can be optimised according to my resources or what I feel like doing. An all-in-one solution has its pluses, that’s for sure but I felt that this way I wouldn’t be hitting the things that you’re asking about.