Microphone noise, outgoing sound embeded in microphone sound

JulienCC

Active Member
Hello everyone !

I've been working on an audio problem for days and I would welcome some help on the matter.

First, here is the involved hardware : Gigabyte Aorus B450 Pro (so AMD motherboard with ACL1220 codec, labeled ALC1220-VB on the manufacturer's website)

Here is my OS : Linux censored_host_name 5.2.0-3-amd64 #1 SMP Debian 5.2.17-1 (2019-09-26) x86_64 GNU/Linux (I'm on Debian Unstable, aka Sid)

Here is the first problem I encountered : when using Discord to talk with friends, I have been told that they could hear sound coming from my games or videos watched on youtube through Firefox. I have also been told that the sound of my microphone was noisy.

Since then I did a lot of investigations. I spent days reading documentation about pulseaudio and alsa and trying to mess with their configuration.
I won't bother you with all my experiments since none improved the situation. So here is where I am :

I disabled pulseaudio because I suspect the problem is driver related, so I wanted to perform some tests directly on the alsa layer. Here is what I do to disable it (have to perform theses steps at startup) :
Code:
$ systemctl --user disable pulseaudio.socket
$ systemctl --user stop pulseaudio.socket
$ systemctl --user disable pulseaudio.service
$ systemctl --user stop pulseaudio.service
And I performed some tests with aplay and arecord :
Code:
$ arecord -D hw:1,0 -f S32_LE -r192000 -c 2 -d 10 -v ~/test.wav
$ aplay -D hw:1,0 -f S32_LE -r 192000 -c 2 -v ~/test.wav
By doing this I can record myself, the sound is pretty clear. So no problem on this part.

I also tried to simultaneously play and record sound with :
Code:
$ arecord -D hw:1,0 -f S32_LE -r192000 -c 2 -d 10 -v ~/test.wav & aplay -D hw:1,0 -f S32_LE -r 192000 -c 2 -v ~/last_test.wav
Where last_test.wav is the previously recorded file. Again it works perfectly.

Then I tried to use alsaloop to hear myself :
Code:
$ alsaloop -C hw:1,0 -P hw:1,0 --channels=2 -f S32_LE -r 192000 --buffer=12000 --period=24000 -S 1 -l 1920 -v -U -b
...
New pitch for playback hw:1,0/capture hw:1,0: 1.00000260 (min/max samples = 0/19)
With this command I have a lot of noise (kind of white noise) and I have to speak really loud to hear my voice. It looks like the problem I'm facing when using Discord.
This is not a big surprise since Discord uses libasound2. Since I directly use audio devices there is no risk of another applications pushing audio into my microphone but I think this is the exact same thing happening with alsaloop as with Discord.

I tried to play with alsamixer while alsaloop was running (changed all settings, played with levels, mute...) but nothing helped.

I filled a bug report on the debian pulseaudio package (even though I tend to think its driver or driver configuration related now). You can find logs and information about the detected hardware here : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941170. Attached files at the bottom of the page contain what might be useful information.

If you have any idea, I'll take them !
 


JulienCC

Active Member
I tested few things a little bit more. The noise get back to a reasonable level when I reduce the microphone volume. With a microphone amplification set to 3 (maximum), I get a lot of noise when setting the microphone volume above 30 (the maximum is 63). If I set the amplification to 1, I can increase the volume to 40.

It doesn't explain anything but a least the problem is less dramatic. I still have a strange delayed feedback : everything that goes out of the audio card gets back in through the microphone with arround 500ms delay and at a lower volume.

I'm starting to suspect that there's a problem with the jack audio splitter I use.
 

Condobloke

Well-Known Member
I cant say I am envious of all the help you are receiving, Julien....(none !)

Know that I am at least following and reading.......so I am here in spirit !
 

JasKinasis

Well-Known Member
It's not the mic picking up the output from the speakers and feeding back is it?

I had similar problems and the best solution for me was to plug in headphones whilst using my microphone.
As soon as I plugged in headphones - the mic no longer picked up the output from the speakers.
 

JulienCC

Active Member
It's not the mic picking up the output from the speakers and feeding back is it?
Probably not :/ There is a hardware switch on the microphone. Even when the microphone is shorted I can still hear feedback from everything that is being played on le computer.

But there's a chance that there is some grounding problem with my splitter that make the output signal goes to the microphone pin. I'm going to try few things to test this theory.
 

atanere

Well-Known Member
Know that I am at least following and reading.......so I am here in spirit !
Me too. It's either a software problem or hardware, but you're looking at both already. A ground problem came to mind pretty quickly to me, and your use of an audio splitter (which most folks would not typically use).

Good luck with this. If I can think of anything that might help, I'll chime in again.

Cheers
 

Members online


Latest posts

Top