Raspberry Pi Codec Zero / IQaudio Codec Zero working well

This time something about this strange but very interesting audio card.
It has the Renesas DA7212 Codec onboard that gives a pletora of functionality and input, output, advanced DSP functions such as AGC, noise gate, wind noise filter, voice filter, 5-band-EQ, two input and output mixers with direct monitoring path (!) at a very reasonable price.
The sound is much better than one might think, and the DAC EQ turns out to be quite good and useful as well. The DA7212 Datasheet shows what is in this game.
To make that work in my next Zynthian, I’ve put into webconf->Hardware->Audio:

Soundcard: Custom device
Driver Config: dtoverlay=rpi-codeczero
Soundcard Device: Zero
Mixer Controls: «empty»
(the rest left at their defaults)

Then comes the strange thing:
To make this card work, I had to make this extra configuration via SSH:

git clone https://github.com/raspberrypi/Pi-Codec.git

Add into the file this line behind the first group of comments:

alsactl restore -f /root/Pi-Codec/Codec_Zero_AUXIN_record_and_HP_playback.state

Save (ctrl-s) exit (ctrl-x).

sync
reboot

Without the addition to rc.local, Zynthian will not get past the Audio error screen.
It will show the Audio error screen for a brief time on the reboot, but will then start normally and get to GUI.
The second strange thing now:
To make the entire thing work, I had to call up webconf->Hardware->Audio again,
check the settings and eventually redo them, but this time clicked on Mixer Controls .... and be overwhelmed with all those functions.
Clicked save and watched the Mixer Controls field being filled up.
Clicked Save and reboot.
Recording and routing signals, EQ, and so on, everything works. The only thing is, sometimes a setting has to be switched off on the Zynthian GUI to be enabled on the audio card, which complicates logic a bit
In the Audio Levels list is then a senseless chaos, because of the automatic sorting shuffels everything up and puts ADC AGC into output levels and so on.

Then, after the first time making any changes in the Alsa mixer, and rebooting Zynthian, I did remove the line from rc.local, because it would overwrite all settings made in this menu. Zynthian then has its own Alsa state initialisied and the hack at rc.local is no longer needed to enjoy the sound.

Did anyone else try this Codec Zero?

What settings did you put up?

Is it possible to disable the automatic sorting of controls in the Alsa Mixer and just list them in the order they are ut into the Mixer Controls field in webconf?
It has been so in the past, but there has been a disimprovement since then.

I can’t say It’s sold me on getting a Codec Zero in the future.

Some more Information:
The rc.local trick is no longer necessary after the Zynthian has once booted through to the main screen and then the Alsa mixer / Levels screen has been at opened once and one of the parameters modified. Zynthian then stores its own Alsa state and the one in rc.local is then causing a mismatch of what is set in Alsa mixer and the real restored settings of Alsa. So after the first tweaking of a parameter, tis line in rc.local is better deleted. I’ve amended the prior writing to reflect this finding.

1 Like

No, no one needs to get a Codec Zero. It is just a collection of information, Justin Case one might consider getting one to build a really compact and economic Zynthian.
For me, this is the best card for the purpose, because of the direct monitoring path (!) and because it has the DSP, which is ultra useful with recording voice or guitar, to make some basic signal conditioning without using Zynthian’s own ressources.

1 Like