USB DAC produces a buzzing noise when connected to HassOS

Hello!

I would like to use Home Assistant to stream music to our audio setup using Airplay and Spotify Connect. To do this, we have a USB DAC connected to an Odroid running HassOS.

The DAC is recognised as a sound output device, but whenever I set it as the default audio output, there’s a terrible buzzing noise coming from the speakers. Playing music does work, but it stutters quite badly and the noise is still there as well.

Interestingly, whenever we change the volume in HassOS, the volume of the noise also changes. So it appears the noise is produced by HassOS.

I haven’t found much information about using a USB DAC with HassOS. I feel like a setting may be wrong somewhere but I have no idea where.
I did find this thread, but that’s about using the 3.5mm output on the device itself
Does anyone have a possible solution?

The DAC is a Creative Technology USB Sound Blaster HD. We’re running Home Assistant OS, version 5.7.19 on an Odroid C2.

As you have probably guessed, two main groups of causes come to mind…

Hardware

You mention a buzzing sound appears when the USB DAC is enabled - this suggests power supply noise or overloading. I use RPi, but have also seen horrible RF noise coming from HDMI audio adapters caused by poor quality LCD monitor power supplies, particularly when at the limits of their current capacity. I’d check the power rails with a multi-meter (rated voltage or drooping down with load?), or simply try a few different supplies.
PSU noise used to be limited to your mains supply frequency as hum (50/60Hz), but modern switchmode PSU use lots of different frequencies all with harmonics. Odd things can happen with capacitively referenced ground loops.

  • If the noise is constant in frequency regardless of what the Odroid is doing, I’d suspect the PSU.
  • If the noise changes frequency or rhythm with CPU use, then RF noise from the processor is more likely (or software…).

A different USB port, or even a powered hub might be worth a test to attempt to separate hardware.
Does the noise happen with the USB DAC running from a different host (try to change only the host - keep the same cables, amp, etc.) ?

Software

Does the stuttering (e.g. a gap in the music) change when you interact with HASS as music plays?
Is HASS competing with the streaming audio for system resources (likely interrupts or i/o), and simply failing to keep up creating gaps in the sound?
What does HASS -> Supervisor -> System Metrics say? (unsure if non-HASS CPU load is shown)
Does a local WAV, MP3 or FLAC play from the HASS media player?
I mention different formats other than remote streaming as each will use different amounts of CPU and i/o.

I don’t use Airplay/ Spotify connect so could be very wrong, but wonder what the Odroid is adding here - could the control be separated from the audio by using different physical devices?