Quick answer: Pygame.mixer.music playing 64kbps MP3 with intermittent crackling? Low bitrate is decoded slower than playback rate on slow CPUs - convert to OGG or raise the mixer buffer size.

Background music in a small game has audible crackle. Same file in another player is fine.

Convert to OGG

Ogg Vorbis is faster to decode at the same quality. Crackle stops.

Or raise buffer size

pygame.mixer.init(44100, -16, 2, 4096)

Larger buffer = more decoding headroom; less crackle on slow CPUs.

Pre-decode to WAV

For background music, decode once at startup. Loops play uncompressed; no decode cost.

“MP3 decoding is CPU work. Slow CPUs see the work.”

Profile audio CPU on your minimum-supported hardware. The crackle bug is invisible on dev machines.

Related reading