I've narrowed the buzzing down to being reproduced whenever the USB powered Speakers and the Rasberry Pi share a common DC power source. Eg. from the same USB hub, or even with the speakers being powered from the Pi's own USB port.
This problem doesn't occur when using headphones, or speakers that have a separate AC power supply (USB powered speakers running off their own USB wall power adaptor also qualifies as a separate AC power supply and avoids the buzzing too).
I've tested with a variety of
- stereo male-to-male audio cables
- USB powered speakers
- and USB hubs
I recorded a video demonstrating the problem
and another demonstrating the interesting variety of noises you get with the change in screen activity
As you can see, the solution is to have two separate AC power supplies, but this is incredibly clunky.
In fact, you can reproduce the buzzing even with two separate AC power supplies - by connecting a wire between the housing of the two USB plugs of the Pi and the Speakers. So it's something to do with them sharing a common ground on a DC power supply.
I reported this back to the supplier (Little Bird Electronics, Australia) and they promised me that this product, the Pimoroni Phat DAC https://www.littlebirdelectronics.com.a ... ry-pi-zero will solve the issue. Before I throw down more money on this solution, what do you guys think? Will that Phat DAC clean up the sound? How is it different than the sound hardware on the Pi 3?
Also someone in another thread suggested it may have something to do with the composite video output on the 3.5mm jack in the Pi, but apparently having "hdmi_force_hotplug=1" in my config.txt should disable the video on that jack, and I have this line (uncommented) in my config.txt already. But perhaps I need a special kind of 3.5mm Audio/Video plug that correctly grounds out the video signal?