Crackling when using software

I have a weird crack/pop problem. Receiving a notification from Telegram, changing the system volume level or opening Kdenlive and keeping it in the background causes crackling.

inxi

System:
  Host:  Kernel: 6.6.10-1-MANJARO arch: x86_64 bits: 64
  Desktop: KDE Plasma v: 5.27.10 Distro: Manjaro Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: G31M-S2L serial: <superuser required>
    BIOS: Award v: F10f date: 06/01/2009
CPU:
  Info: quad core model: Intel Xeon E5450 bits: 64 type: MCP cache: L2: 12 MiB
  Speed (MHz): avg: 2400 min/max: 2400/3600 cores: 1: 2400 2: 2400 3: 2400
    4: 2400
Graphics:
  Device-1: Intel 82G33/G31 Express Integrated Graphics driver: i915 v: kernel
  Display: x11 server: X.Org v: 21.1.10 driver: X: loaded: intel
    unloaded: modesetting dri: i915 gpu: i915 resolution: 1920x1080~60Hz
  API: EGL v: 1.4,1.5 drivers: i915,swrast platforms: x11,surfaceless,device
  API: OpenGL v: 4.5 compat-v: 2.1 vendor: mesa v: 23.3.3-manjaro1.1
    renderer: i915 (: G33)
  API: Vulkan Message: No Vulkan data available.
Audio:
  Device-1: Intel NM10/ICH7 Family High Definition Audio driver: snd_hda_intel
  API: ALSA v: k6.6.10-1-MANJARO status: kernel-api
  Server-1: PipeWire v: 1.0.0 status: active

aplay -L

null
    Discard all samples (playback) or generate zero samples (capture)
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=Intel
    HDA Intel, ALC662 rev1 Analog
    Default Audio Device
front:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    Front output / input
surround21:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Digital
    IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Intel
    HDA Intel
    USB Stream Output

Hi @obdegirmenci, and welcome!

Perhaps this helps:

https://wiki.archlinux.org/title/PipeWire#Noticeable_audio_delay_or_audible_pop/crack_when_starting_playback

I’ve noticed that I don’t have media-session.d folder. Therefore, I’ve applied wireplumber method, then restarted the services. The problem still continues. Playing an audio file alone with smplayer does not trigger this.

I’ve found a partial solution. I’ve changed CPU governor to performance from ondemand and the crack has gone.

/etc/default/cpupower

# Define CPUs governor
# valid governors: ondemand, performance, powersave, conservative, userspace.
governor='performance'

My service had disabled.

systemctl enable cpupower.service --now

I restarted the service every time I changed the setting.

systemctl restart cpupower.service

I also tried powersave and the others. The problem only occuring in ondemand. But this time I have to choose between slowest or fastest speed. That would be nice if we could configure custom speed. I couldn’t do it successfully.

1 Like

Have a look in /etc/default/cpupower , you should be able to define the range under:

# Limit frequency range