Audio problem on Colibri iMX6

Hi,

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?

Here is another recording on one of our boards.

Hi @fotis

Could you please also specify the exact software version you are using, e.g. Colibri iMX6 DualLite 512MB V1.1A with Linux on BSP 2.8b4.

And could you share the schematic and the design of your own carrier board?

Thank you and best regards
Diego

Hi @diego_b.tx ,

We are using the Colibri iMX6 DualLite 512MB IT V1.1A module.

Regarding the software, we use the revisions of the Yocto layers, as they can be seen here.

alt text

Hi @fotis

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

wget http://file-examples.com/wp-content/uploads/2017/11/file_example_MP3_1MG.mp3
gst-play-1.0 file_example_MP3_1MG.mp3

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?

Best regards
Diego

Hi @diego_b.tx

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.

Hi @fotis

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.

Best regards
Diego

Hi @diego_b.tx

I just performed the following test:

  1. No audio playing. Noise from the speakers.
  2. Play the example file with gst-play. The same noise remains. The music is heard in very very low volume (almost inaudible).
  3. Play the example file with aplay. Garbage is heard (due to being mp3, I guess).

So playing the audio file does not affect the noise level. Using gst-play does not produce useful sound.

@diego_b.tx

Can you try a recording too?

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.

Hi @fotis

Ok, I see. And were you able to look through the article I sent? What version of Iris did you use?

Best regards
Diego

I am using Iris Rev1.1.

I read the article, but it seems it is not related to our issue.

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).

Hi @fotis

Please see the comment of @peter.tx, the comment was accidentally not visible first.

Best regards
Diego

Hi @fotis,

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.