This has been a plaguing issue for the Raspberry Pi install of Raspbian (Debian Wheezy) since it was first built. Talking directly to the Raspberry Pi foundation and the Raspbian team has given me no luck.
The issue itself is that the DAC doesn't initialize until it starts playing a song. It then will turn itself off when done, causing another pop. When using this for a pure music player it is infuriating to say the least, especially when the pop is loud.
I have heard this on VLC, MOCP and MPD. This has been covered in the Pi forums, but no answers are found: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=38&t=8783
I turn to you at Stack Overflow to see if there is a way to solve this issue. My idea is to initialize it at start-up so the pop only happens when it boots up, though I don't know how to control the ALSA to do that.
Hopefully a solution can be found.
Thanks!
Your DAC may be plugged into a low-power USB port. Sometimes, in their infinite wisdom, both Windows and macOS can suspend operation or only allow low power from USB ports. You may be able to solve this by disabling port power management in system settings. Here are instructions for PC users and Mac users.
If you’re using an SACD player as your digital source, be aware that Sony owns the SACD format and mandated that the digital output from an SACD transport must be encrypted (as well as the audio on the disc itself). So it won’t be recognized by your DAC. Not helpful, Sony!
For desktops, it’s better to connect your DAC to USB ports in the back (directly to the motherboard). Avoid front panel USB ports on the case if possible, since these may be of low quality. Some DACs produce mechanical clicks from inside the case during normal operation.
MPD (controlled by mpc) clicks/pops once when starting to play, but then apparently "streams" continuously so changing tracks does not cause any noise. So, whatever causes the pops in the first place (hardware? driver?), some players seem to be better at avoiding that situation (opening/reconfiguring the device).
I've experienced the same crackling and popping noises on the Raspberry Pi's analog output when using mpd. The problem is also discussed here: https://github.com/raspberrypi/linux/issues/128
Your idea of configuring the audio hardware to be initialized only once at boot time is exactly what I did to solve the problem. It's possible to do this using the PulseAudio sound system, which works as a proxy between the audio hardware and programs that want to output sound. For example, audio players like mpd can be configured to use PulseAudio as audio backend.
PulseAudio has a configuration option (module-suspend-on-idle
) that configures audio hardware sleep. Disabling audio hardware sleep fixed all crackling and popping noises for me.
I've outlined the necessary steps in closer detail on my blog: http://dbader.org/blog/crackle-free-audio-on-the-raspberry-pi-with-mpd-and-pulseaudio
I have the same problem and resolution is to use either USB audio or HDMI audio output (however converting hdmi audio to analog audio is not easy, converter >40$). It is caused by broadcom firmware. They were saying on rpi forum that it is on the list, but no one knows when it will be really fixed ...
Update: I have tried Creative Play! USB audio, it is the same, however the "click" is not that loud. So it is not 100% solution, we have to wait for the fix.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With