We are using Colibri iMX6 DualLite 512MB IT for an application that audio is needed.
Unfortunatelly the audio quality is very poor, with lots of noise. Currently it is unacceptable for our application, and I am looking for any solution that can imrpove this situation.
We face this issue on 3 boards of our own design. The problem is also reproduced on Toradex Iris board.
Audio output.
The audio output of the Colibri contains some noise. It is not very loud (marginally acceptable), but it is there.
I tried to disable some PSUs of the board, and other “noisy” parts, but it didn’t help. What it is interesting is that the noise seems to be affected by the operation of the CPU itself (changing the CPU load, running a software etc has affect on the noise that it is heard).
Audio input.
We are using the mic input of the Colibri module. Here the noise is very excesive. See the attached recording (recorded on an Iris board).
What can we do to improve this situation?
Is this an issue with the Colibri module itself?
Thank you. Out of the commit f054506d I can see that you are using 2.7b5.
Could you please specify how you are playing the sounds you need, are you using aplay, gst-play or a different method? Are you able to play normal sound files like following
You can also post a code-snippet if you play the sound out of code. Did you try different modules of the Colibri iMX6DL or do you have this problem on just one exemplar?
I am using aplay to play sounds, and arecord to record from the microphone.
Sounds are played correctly, but there is noise in the background. The noise persists even when there is no audio playing. I.e. by just connecting a pair of speakers on the board, I can hear noise.
The output noise is not very loud. But in our application, we connect the board to an external amplifier which makes it much worse (because of amplification, the amplifier does not introduce any distortion).
However the input (microphone) noise, is excessive, and it is what is of more importance for us now.
I don’t have any issues on my side yet, so I am not able to reproduce the described situation. Are you able to play the file I mentioned before with the commands I wrote? How does this sound, fully the same? What kind of microphone are you using and how did you connect this to the carrier board? We once had a problem that there was a cross-talk between the headphone output and input, maybe have a look to the community article here.
This does not look like a cross-talk issue, as the noise in the mic does not seem related to the noise in the output. Also the recordings take place when there is no output connected, or audio playback.
On the Iris board I am using the X9 connector, pins 2 and 5 to connect my microphone.
The Colibri iMX6 does not have the best SNR, but it should be on an acceptable level. It is very hard to judge whether the noise level on the recording you have sent is normal or there is another problem. Can you give us more information on the gain and audio muxer settings that have been used for this recording? This would allow us to do the same recordings and compare them with your results. Interesting would also be to get a recording without a microphone plugged in.
Amongst other Colibri modules, the SNR of the iMX6 is slightly worse that others. The main reason is that the layout of the Colibri iMX6 is quite dense. We had to place the the codec very close to the RAM.
On your recording (especially on the first one), there seems to be a mains hum (probably 100Hz from the 50Hz mains). This can caused by ground loops or bad power supplies. Are your audio channels also grounded? This can happen for example if they are connected to another audio system wich has ground. Can you try to use another power supply? Try to avoid having two ground connections to the system. Maybe you can test it with adding galvanic isolator. Maybe also remove other cables that have ground connections (USB, VGA, RS232, etc).
Another thing that popped into my mind: Which version of the Iris carrier board and what kind of microphone do you use? The Iris V1.1 does not have a bias supply for the microphone. If you are using a microphone which requires a bias (for example an electret microphone), you will not get any usable signal to the module. In this case, please use an external bias supply or a microphone that does not require a bias supply (for example a dynamic microphone). The new Iris V2.0 is adding a bias supply similar to the evaluation board.