IQaudio configuration

I didn’t find any SPDIF setting in my sound card settings, but there is a “digital” volume + mute (which actually control the analog output level under stock raspbian…), I tried to mute it but no difference.
In the meantime I figured out why the Alsa Mixer panel in Zynthian GUI (renamed “Audio Levels” in latest update) was empty: you have to add manually what controls it must show in webconf, which I did (I added Analog -which is just on/off as I said earlier-, Digital Left and Digital Right), and they now appear in zynthian GUI… but have no effect.

BTW, while Zynthian boots up I hear two clicks a few seconds apart in the IQaudio output, which tends to show it does something with the board at initialization, but unfortunately this is all I hear.

I also tried hw:3 instead of hw:IQaudIODAC, but no difference either

Also tried a couple of things I found in another forum thread about AudioInjector board where the guy fixed his problem by changing jackd options: -d => -Rd and 256 => 512 but didn’t help either

I tend to go back to a Raspbian ssd and get things working in there first. It does at least prove the components.

A card set to Mute appears just as dead as one that’s not even alive…

The hardware works fine when using a standard raspbian SD card instead of Zynthian OS, though the behaviour of the controls is a little surprising, as stated in previous posts:

Trying to think into designers mind as to quite what was originally intended on a card as far as available controls goes is a bit of a pain.

I find I have to clear out the layer and reload it to get an AudioInjector to spring into life on occasion. clearing down the number of LV2 effects in the useful interface made that process considerably easier, as I didn’t have as many audio effects to scroll thro’
Once it’s there it’ seems fine and even survives resets but I do get locked layers when I try to delete them, particularly if they are attached to an audio input.

Hi @pat,
I do not remember if your card is the same as mine: IQaudIO+Pro. Mine works well, at least the headphone output because I’ve not yet tested the RCA and balanced outputs.
Anyway below is a dump of my alsa settings command to get this:

alsactl --file ~/asound.state store

state.fmidi {
control {
}
}
state.b1 {
control.1 {
iface MIXER
name ‘HDMI Playback Volume’
value 0
comment {
access ‘read write’
type INTEGER
count 1
range ‘-10239 - 400’
dbmin -9999999
dbmax 400
dbvalue.0 0
}
}
control.2 {
iface MIXER
name ‘HDMI Playback Switch’
value true
comment {
access ‘read write’
type BOOLEAN
count 1
}
}
}
state.Headphones {
control.1 {
iface MIXER
name ‘Headphone Playback Volume’
value -931
comment {
access ‘read write’
type INTEGER
count 1
range ‘-10239 - 400’
dbmin -9999999
dbmax 400
dbvalue.0 -931
}
}
control.2 {
iface MIXER
name ‘Headphone Playback Switch’
value true
comment {
access ‘read write’
type BOOLEAN
count 1
}
}
}
state.IQaudIODAC {
control.1 {
iface MIXER
name ‘Digital Playback Volume’
value.0 207
value.1 207
comment {
access ‘read write’
type INTEGER
count 2
range ‘0 - 207’
dbmin -9999999
dbmax 0
dbvalue.0 0
dbvalue.1 0
}
}
control.2 {
iface MIXER
name ‘Analogue Playback Volume’
value.0 1
value.1 1
comment {
access ‘read write’
type INTEGER
count 2
range ‘0 - 1’
dbmin -600
dbmax 0
dbvalue.0 0
dbvalue.1 0
}
}
control.3 {
iface MIXER
name ‘Analogue Playback Boost Volume’
value.0 0
value.1 0
comment {
access ‘read write’
type INTEGER
count 2
range ‘0 - 1’
dbmin 0
dbmax 80
dbvalue.0 0
dbvalue.1 0
}
}
control.4 {
iface MIXER
name ‘Digital Playback Switch’
value.0 true
value.1 true
comment {
access ‘read write’
type BOOLEAN
count 2
}
}
control.5 {
iface MIXER
name ‘Deemphasis Switch’
value true
comment {
access ‘read write’
type BOOLEAN
count 1
}
}
control.6 {
iface MIXER
name ‘DSP Program’
value ‘FIR interpolation with de-emphasis’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘FIR interpolation with de-emphasis’
item.1 ‘Low latency IIR with de-emphasis’
item.2 ‘High attenuation with de-emphasis’
item.3 ‘Fixed process flow’
item.4 ‘Ringing-less low latency FIR’
}
}
control.7 {
iface MIXER
name ‘Clock Missing Period’
value ‘1s’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘1s’
item.1 ‘2s’
item.2 ‘3s’
item.3 ‘4s’
item.4 ‘5s’
item.5 ‘6s’
item.6 ‘7s’
item.7 ‘8s’
}
}
control.8 {
iface MIXER
name ‘Auto Mute Time Left’
value ‘21ms’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘21ms’
item.1 ‘106ms’
item.2 ‘213ms’
item.3 ‘533ms’
item.4 ‘1.07s’
item.5 ‘2.13s’
item.6 ‘5.33s’
item.7 ‘10.66s’
}
}
control.9 {
iface MIXER
name ‘Auto Mute Time Right’
value ‘21ms’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘21ms’
item.1 ‘106ms’
item.2 ‘213ms’
item.3 ‘533ms’
item.4 ‘1.07s’
item.5 ‘2.13s’
item.6 ‘5.33s’
item.7 ‘10.66s’
}
}
control.10 {
iface MIXER
name ‘Auto Mute Mono Switch’
value true
comment {
access ‘read write’
type BOOLEAN
count 1
}
}
control.11 {
iface MIXER
name ‘Auto Mute Switch’
value.0 true
value.1 true
comment {
access ‘read write’
type BOOLEAN
count 2
}
}
control.12 {
iface MIXER
name ‘Volume Ramp Down Rate’
value ‘1 sample/update’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘1 sample/update’
item.1 ‘2 samples/update’
item.2 ‘4 samples/update’
item.3 Immediate
}
}
control.13 {
iface MIXER
name ‘Volume Ramp Down Step’
value ‘1dB/step’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘4dB/step’
item.1 ‘2dB/step’
item.2 ‘1dB/step’
item.3 ‘0.5dB/step’
}
}
control.14 {
iface MIXER
name ‘Volume Ramp Up Rate’
value ‘1 sample/update’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘1 sample/update’
item.1 ‘2 samples/update’
item.2 ‘4 samples/update’
item.3 Immediate
}
}
control.15 {
iface MIXER
name ‘Volume Ramp Up Step’
value ‘1dB/step’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘4dB/step’
item.1 ‘2dB/step’
item.2 ‘1dB/step’
item.3 ‘0.5dB/step’
}
}
control.16 {
iface MIXER
name ‘Volume Ramp Down Emergency Rate’
value ‘1 sample/update’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘1 sample/update’
item.1 ‘2 samples/update’
item.2 ‘4 samples/update’
item.3 Immediate
}
}
control.17 {
iface MIXER
name ‘Volume Ramp Down Emergency Step’
value ‘4dB/step’
comment {
access ‘read write’
type ENUMERATED
count 1
item.0 ‘4dB/step’
item.1 ‘2dB/step’
item.2 ‘1dB/step’
item.3 ‘0.5dB/step’
}
}
control.18 {
iface MIXER
name ‘Max Overclock PLL’
value 0
comment {
access ‘read write’
type INTEGER
count 1
range ‘0 - 20’
}
}
control.19 {
iface MIXER
name ‘Max Overclock DSP’
value 0
comment {
access ‘read write’
type INTEGER
count 1
range ‘0 - 40’
}
}
control.20 {
iface MIXER
name ‘Max Overclock DAC’
value 0
comment {
access ‘read write’
type INTEGER
count 1
range ‘0 - 40’
}
}
}

Well that’s a bunch :woozy_face:

you can compare yours with mine, or load mine using command:

alsactl --file ~/le51-asound.state restore

assuming that you save the content in a file called le51-asound.state

1 Like

Hi,

No, it isn’t exactly the same, I have the DAC+, but they seem quite similar. I dumped my alsa settings and compared them to yours: they are very similar.
Differences are:

  • Formatting differences: different indentation and different simple quote characters used
  • You have one more “device” than I do: the first one, called “b1” (HDMI)
    Besides this, it seems pretty much all the same… You can check for yourself, mine is attached
    asound.state (9.9 KB)

After weeks of investigations… I finally figured it out myself: a GPIO conflict between the IQaudio board and the knobs. I had disconnected the knobs for a while in order to rule out such an issue, but the wiring settings in the webconf (which I had found on the forum, but probably from a project using another audio board) were still there and it was apparently enough to interfere with the DAC+. I reset the wiring settings, booted up with the screen disconnected as well to make sure nothing could interfere with the DAC+ which supposedly works fine with Zynthian and I got sound! Then I rebooted with the screen connected and still got some sound, then started adding my wiring settings and it stopped working at some point. So I got the DAC+ GPIO usage info from Raspberry Pi website and figured out my own knob wiring, and I still get some sound after having entered it in the webconf. Last step will be to actually connect the encoders (I had successfully hooked one up in the past, back in the days I had no sound). Hopefully it will still work…
Thanks again @le51 , @riban, @wyleu, @dhrupadiya and all for your help. I’ll be back soon with a couple of questions regarding SFZ support on zynthian :wink:

2 Likes

Hurrah !

Yes! I just built a 7" touchscreen custom zynthian with an IqaudioDACPro and this configuration did the trick for me as well. Thank you for sharing!