[Solved] pops using RPI B+ with XMOS I2S and AK4399 DAC

Hi all,
I’m experiencing some pops when playing music over volumio 1.41 on my Raspberry B+ model.
I first bought an AK4399 based DAC :
After I figured out that the AK4399 needs a MCKL (RPI doesn’t get one), I bought this USB to I2S interface:
My PI get the music from my NAS over the LAN.
Everything works fine except some pops at regular intervals.
I’ve noticed that pops show up when some additional processes are ran (using “top” command through SSH). However the CPU idle is still 75% when pops appear, instead of 90% and more most of the time…

It works fine with a PC using foobar and Xmos driver!

Is my problem related to the Raspberry performance limitation?
Can I go through this problem by optimizing the kernel or volumio parameters?
Thanks for your help!

Below is a picture of my setup:
RPIB+ —> USB to I2S board —> AKM4399 DAC

A screenshot of “top” result when pops appear:

Hi Gui31,

I have been using a very similar hardware setup, with the difference of the USB–>I2S card. Mine is from diyinhk.com. I curretly use RPi Model B but will try B+ soon.

However, I use a regular wheezy build (January 2014) combined with mpd and the java ohMediaPlayer implementation. You could perhaops try this and see if there is any difference.

I don’t get any pops or clicks with CD quality music but I do have them with 24/96 files. The RPi still has quite a lot of CPU headroom when playing these files. I am currently running the setup in experimental mode, with quite long I2S cables, so this may be the reason for the pops. I will try with shorter cables soon.

I am using the Burr Brown OPA2132P and get very satisfactory results sound wise. The quality is really way above the ES9023 and PCM5102A boards I have also tested.

Hi Guussie,
Thanks for your answer. I’ll try your sw config.
My i2s wires were quite long (20cm) in my very firt setup so I shortened them as short as possible, but no sound improvement. Anyway It was working fine with the long wires and the PC feeding the usb interface. The trouble really comes from the RPI.
However the sound is clear of pops with the webradios.
I also mounted a burrbrown OPA2134PA, that sounds amazing! Between two pops…
Still looking forward some help. Any pop killer down there?

Hi Gui31,

I saw your post on the audiophonics.fr forum regarding the wires. My wires are currently also 20cm but I had to fiddle around with them in order not to have any distortion.

If you need help with the other sw setup, let me know.

By the way, your kworker and ksoftirqd seem to use much more resources in your case than in mine. I don’t know what these services are used for but they seem to be more important in Volumio. As the CPU is well below 100%, the problem does not seem to be related to CPU resources. I have also experimented with IR and I get important distortion when IR command are being executed while music is playing, so it may have something to do with interrupts creating a problem.

Perhaps Michelangelo can share his opinion on this.

you may be right.
According to some threads, ksoftirqd process shows up when the CPU is overflood by interrupt requests. In some cases, that can freeze other running processes (like sending an audio file over usb???).
How to know which component sends that much IRQs?
Maybe something goes wrong into my RPI.

for french readers who are interrested by the setup:
the original idea was to use the Raspberry I2S, but not so easy with the AK4399 DAC I bought…

Hi Gui31,

I saw your message on the other Forum. In my sw setup I also use uPnP, so that may explain the difference.

Great to hear your problem is solved! Enjoy the DAC, it’s really good!

As Guussie said, it looks like my pops are gone! I deleted the NFS NAS mount and now use my NAS through UPNP.
I’m going to test this solution for a couples days after what i’ll close this topic.
That DAC is really good I can tell!

Hi Gui31,

Have a look at this:


They pack it with a high quality OPA.

According to the Datasheet for the AK4399, the DAC has a built-in 255 step attenuation. Do you have any idea how to program this?

I have tried to change the mpd settings to “hardware”, but this does not seem to work. I have tried the “software” but I still need to do a careful listening session to assess the impact on sound quality.

An interesting package could be this:


It includes the XMOS USB–>I2S section.

Yes the xmos/ak4399 board is exactly the merge of my two hw. Except 2 mono opa instead of 1 dual, the components are the same.
For the ak4399 built-in attenuation, I guess it has to be controlled by an external hardware, using special wires but not i2s bus. On my dac board, there are some unused pads, close to the white i2s connector. Need to get more data about that.

I’ve changed the title into [Solved] as the pops are gone using UPNP instead of NAS mounting.

I’ve tried to optimize my NAS mount following these advices:
No amelioration in my case… :neutral_face:
I noticed the pops are synchronous with high activity of the RJ45 connectector led… After the pop happened the led blinks normally (around 1 per second).

I switched back to UPNP, tested successfully with 24/192 audio files.

Just a quick feedback, I’ve changed my setup and everything works fine so far.
I’m using DS audio (Synology) and Volumio as a DLNA player. No pops up to 24/192 files.
Satisfying enough for me, I can enjoy my music with the wonderful AK4399 DAC.
Thanks Volumio!