Hello there. We are trying to use the tinkerboard as an ADC connected via Ethernet. We are using tinker os (debian). Аn electrodynamic microphone is connected to jack 3.5 . The sound card driver successfully detects the microphone and allows audio recording from it. The problem is that the amplitude of the input signal is too high and distorsion is observed. As you can see in the picture below.
Usually this problem is solved by reducing the gain of the analog amplifier of the sound card.
However, if you adjust the microphone gain via "pulse audio" or "alsa", the amplitude is reduced, but the distortion remains.
This means that the gain control is done digitally. Those. the resulting amplitude is simply divided by some coefficient
But this behavior is wrong. All sound cards have a controllable amplifier before of the ADC. OS gain control should use it to control input gain.
I'm not very good at Linux programming, but it seems to me that this is a bug in the sound card driver. Or it is necessary to use some other library to access the gain. Or it is necessary to adjust something in the OS itself so that the gain works correctly.
The question is what needs to be done to use the analog preamplifier of the sound card?
Thanks for attention