What do you mean ? In regards of jacks (having two mono instead of one stereo) or something else ?
Just generally, avoid grouping pairs of inputs/outputs. The may transport pair up the streams but we treat them as individual audio that can be used as mono or part of a larger group.
This is all very, very cool
I wonder, would this also work as a 1 in/1 out for older Pis too? Maybe with a jumper to disable the second input?
Codec and overlay will need to be slightly changed for rpi4 but not much.
Once we get it working on rpi4 it can be merger into single codec and overlay - there are ways to do that.
Excellent, thank you.
Messing around with all the different sound boards is the thing I dislike most about Pi based audio projects.
Enabling i2s_clk_consumer seems to be sufficient to enable all the GPIO pins too so the first fragment of the dts is not required.
I have not yet found a way to limit the quantity of I2S ports enabled so, using i2s_clk_consumer will always expose 8 audio inputs and outputs which is misleading to the user if they fewer I2S devices connected. Zynthian shows 8 ins and 8 outs but I only have 4 of each.
I think that jackd -i and -o option can configure that. Users should be advised to use these options and set them accordingly.
Yes, we can certainly use that in jack config to limit the quantity of i/o. It would be nicer if the alsa driver worked nicely though - being able to define which ports are in use rather than just truncating it in jack.
Some updates here.
I have added an external pcm5012a and tied the noisy ring input to RBPi GND, I’ve got the codec loaded, Zynthian runs, but I still have noise.
If you have the PCM1808 connected without fixing the PCB problem then it will be noisy.
Ok
since yesterday, I’m searching for my scalpel
I saw the same behaviour on Hifiberry dac adac pro on rpi5. Their codec also show 8 ports even though they have only 2.
The difference is that for their card you have to set jackd -o option to 2 otherwise it will not work no matter what of 8 input ports you try to use.
Yeah, I suspect that this is now the default RBPi behavior whenever you choose I2S0/clock producer or I2S1/clock consumer.
I still have to investigate further, because things are moving really quickly in the audio subsystem these day and it’s hard to follow (for me at least).
Anyway, showing 8 channels while there’s only 2/4/6 available, is not such a big issue IMO …
Yeah you’re right. For new comers, it could strange, I agree. But, as it looks like a choice from RaspberryPi in their own internal I2S implementation, I think that’s not a lot we can do to change this except finding some “Zynthian specific” workarounds.
I have pushed a change to the codec driver that allows max channels for each of capture and playback to beset via device overlay. I need to work on getting this configured from a setting in config.txt. There is simple conditional stuff in dts so I hope to be able to do this later.
this is what I call a “Zynthian specific workaround”
Okay - the latest version now accepts options to set the quantity of inputs and outputs. The README is updated but basically the config.txt syntax is:
dtoverlay=zynaudio8x,inputs=4,outputs=2
inputs
and outputs
are optional parameters that limit the quantity of input (capture) and output (playback) ports. Range 0…8 and must be even. Invalid values will default to 8.
What else is there???
A snappy christmas hit with a catchy sing along chorus…?
Would it be possible to request zynaudio8x codec and overlay to be included to raspberry kernel source? Does anyone know what the process?