I have an Nvidia graphics card (GeForce GTX 745) with the recommended driver (version 460.39-0ubuntu0.20.04.1), a monitor connected via DisplayPort and headphones connected to that monitor. When I play videos on YouTube, I sometimes hear popping/crackling noises, on average once per minute, though they can also occur within less than a second of each other. Between the noises I lose none of the important audio, i.e. I can still understand all the spoken words. Just the noises are annoying. When no audio/video is playing, there's also no noises.
The most salient characteristic of these noises is that they happen around visual cuts in the video, which first led me to believe that HDMI bandwidth might be the issue. But it doesn't happen on every cut, and sometimes it also happens in the middle of a scene without a cut. Now I'm thinking that video creators probably often cut the audio around scene cuts too, and sometimes they cut it off early, also maybe sometimes they mess with the audio in the middle of a scene to patch some background noise they accidentally recorded. My hypothesis is that this always happens when there's zero audio (as opposed to nobody talking, but the camera/microphone still recording some background noise level) in the stream and then the audio resumes, leading to a crack. Two experiments confirm that hypothesis so far:
- The cracks are always at (roughly) the same positions in the video. In fact I have a test video which crackles unusually much (and reproducibly) around minute 6:14.
- But when I have some background audio running (e.g. some music from Rhythmbox), there are no cracks at all.
- Firefox instead of Chrome.
- Other drivers for the graphics card (older versions 340 and 450 as well as Nouveau -- they have quite some issues with the display colors and fan control, but they also exhibit this audio issue).
- load-module module-udev-detect tsched=0 (https://askubuntu.com/questions/405071/ ... dio#444559)
- Commenting out load-module module-suspend-on-idle (https://ask.fedoraproject.org/t/my-audi ... -do/174/13)
- putting 10000000 or 0 into /sys/module/snd_hda_intel/parameters/power_save (and/or N into power_save_controller)
Things that work without any cracking noises:
- The same hardware and same YouTube video with Windows.
- Onboard audio instead of using audio over HDMI.
Thanks!
Philipp
Code: Select all
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC891 Analog [ALC891 Analog] <--- works fine
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2] <--- that's the one used for DisplayPort output and it produces the crackling noises
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ aplay -L
default
Playback/recording through the PulseAudio sound server
surround21
2.1 Surround output to Front and Subwoofer speakers
surround40
4.0 Surround output to Front and Rear speakers
surround41
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50
5.0 Surround output to Front, Center and Rear speakers
surround51
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
null
Discard all samples (playback) or generate zero samples (capture)
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pulse
PulseAudio Sound Server
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
sysdefault:CARD=PCH
HDA Intel PCH, ALC891 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
Front speakers
surround21:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
Direct sample snooping device
hw:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
HDA Intel PCH, ALC891 Analog
Hardware device with all software conversions
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 2
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 3
HDMI Audio Output
hdmi:CARD=NVidia,DEV=4
HDA NVidia, HDMI 4
HDMI Audio Output
dmix:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample mixing device
dmix:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample mixing device
dmix:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample mixing device
dmix:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample mixing device
dmix:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct sample snooping device
dsnoop:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct sample snooping device
hw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Direct hardware device without any conversions
hw:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=7
HDA NVidia, HDMI 1
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=8
HDA NVidia, HDMI 2
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=9
HDA NVidia, HDMI 3
Hardware device with all software conversions
plughw:CARD=NVidia,DEV=10
HDA NVidia, HDMI 4
Hardware device with all software conversions
usbstream:CARD=NVidia
HDA NVidia
USB Stream Output