Crackling microphone

Hello to all good people on the forum in my first post.
Can somebody, please, advise how to fix a crackling microphone? The mic itself is OK and works well with Ubuntu on the same machine.
I tried putting this
options snd-hda-intel model=auto position_fix=3
in /etc/modeprobe.d/, as suggested here, but it doesn’t seem to be doing anything, even with arecord.
It may be causing issues with the sound server, but I have no clue how to set about PipeWire. I have a default freshly installed XFCE system.
Have a great evening, everyone,
Jakub

[root@oldblackbox jakub]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC888 Analog [ALC888 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC888 Digital [ALC888 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
+++++
[root@oldblackbox jakub]# cat /proc/asound/cards
0 [SB ]: HDA-Intel - HDA ATI SB
HDA ATI SB at 0xfe024000 irq 16
+++++
[root@oldblackbox jakub]# lspci | grep Audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)

Did you also do this listed below?

This option will fix crackling on pure ALSA, but will cause issues to pulseaudio. To let Pulse use these settings effectively, edit /etc/pulse/default.pa and find this line:

load-module module-udev-detect

And change it to this:

load-module module-udev-detect tsched=0

Welcome to the forum @James_Krak :enos: :enos_flag: :tada:

1 Like

Thank you, but I don’t have this file. I’m on a default install with PipeWire rather than Pulse audio. Do you think I should install Pulse?

It may be worth installing Pulseaudio to test the above fix. You can always revert back later.

Well, I might, but isn’t it like installing Windows for the privilege of using a service pack?

Do you know who is responsible for the sound stack at EndeavourOS?
The situation probably needs some deeper analysis, but I don’t know much about how the sound system works in Linux. It looks like there is an automated process which tries to keep sound input at a certain level and amplifies whatever is delivered (mainly noise), which in turn excites the system into resonance resulting in crackles and periods of noise lasting for some seconds after the original sound which provoked it. There should be a way to adjust this process. It doesn’t look it can be achieved by manipulating ALSA settings. I spent loads of time trying. When I set the Microphone to 100%, Mic Boost to 53% and Capture to about 30%, crackling stops but the setting is crazy, resulting in (moderately) distorted sound and picking up every slightest sound in the background.

If you’re using pipewire-media-session you may want to replace it with wireplumber. Even the pipewire devs suggest this:

PipeWire Media Session

PipeWire Media Session is an example session manager for PipeWire.

Note that we recommend the use of WirePlumber instead.

Installing the wireplumber package will automatically remove pipewire-media-session (answer Y when prompted if you want to remove it).

No guarantees that it will fix your problem, but it’s probably a good thing to do anyway. You can simply reinstall pipewire-media-session if it doesn’t work out.

Thank you @Stagger_Lee . Changing over to wireplumber doesn’t seem to have changed anything. Also, I couldn’t find config files for either pipewire or wireplumber.
On the positive side, the sound sliders now stay where I last put them.

1 Like

Pipewire (links at bottom of page for wiki and documentation):

Wireplumber:

https://pipewire.pages.freedesktop.org/wireplumber/

I’m not sure if anything will be of use to you, but this at least provides a starting point.

Before becoming disheartened by going through tons of documentation I would need to focus on the part that might be relevant to the problem.
As far as I understand the Linux sound system, ALSA is the most low-level part, therefore it would naturally follow that we should get something working in pure ALSA first before going up further. But maybe I’m wrong and things are intermixed nowadays (pipewire-alsa). I simply don’t understand the system well enough to start tinkering effectively.

https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture/Troubleshooting#Crackling_microphone

I have installed Pulseaudio to check if it helps. No, no change, still a trashy microphone. Fix no. 3 is loaded, but not working. I’d say the sound is even worse now.

Honestly I’ve never had an sound issue ever.

I think you probably have better hardware. Linux is less and less a good choice for those with older comps. I resorted to Endeavour, because it still supports nvidia340xx (and I had used Arch before). Anyway, I’ll play around with the fixes or maybe install a discrete sound sound card.
I was wondering why Ubuntu works so much better with my sound chip? It must be more felicitous presets.

What are you running on

inxi -A

Sound crackling in my experience can often be eliminated with changes in sampling rates and/or buffer size changes.

The PipeWire configuration template file is located in /usr/share/pipewire/pipewire.conf. You can copy and edit the file to /etc/pipewire/ for a global config change or to ~/.config/pipewire/pipewire.conf user profile specific config change.

Maybe try changing these one at a time or combination of:

link.max-buffers             = 64 # from 16
default.clock.rate           = 44100 #from 48000
default.clock.quantum        = 2048 # from 1024
default.clock.min-quantum    = 1024 # from 32
default.clock.max-quantum    = 4096 # from 8192

For more info on the config file check here:

It’s my son’s machine – will post tomorrow when he goes to school. Sound is important for his remote sessions,

I will definitely try these after reverting to Pipewire. My foray into Pulseaudio did not change anything.