Skip to content

Audio is crackling or skipping.

bearoso edited this page Sep 18, 2025 · 3 revisions

A SNES naturally runs at 60.09881 frames per second. Unfortunately, most modern displays run at fewer than 60 frames per second, usually something matching the North American color TV standard, 59.94. For accurate emulation, the audio has to be in synchronization video. In order to keep the video smooth in this situation, we can't skip any frames, slowing the emulation. This results in there not being enough audio data and creates gaps when it runs out, causing crackling.

Fortunately, we can stretch the audio to fill in the gaps. The sound setting "Input Rate" can be set to whatever Snes9x is actually outputting in terms of audio on your system. So if you have vsync turned on and your monitor runs at 59.94Hz, you can set the input rate to 31955Hz, and there will be no gaps.

To make this easier, the Windows and GTK ports have an option called "Automatic Input Rate" that asks your monitor what the refresh rate is and adjusts it for you. To further improve this, you can set the "Dynamic Rate Control" option, which will try to control the audio output in real time so it doesn't crackle.

Further things you can try are:

  • On Windows or PulseAudio outputs, match the Playback Rate with whatever your sound server is running. With Windows, this is usually 48000Hz. PulseAudio accepts both 48000Hz and 44100Hz.
  • Otherwise, use the highest playback rate available. This is 48000Hz with Snes9x.
  • Switch the sound driver. On Windows, WaveOut or XAudio2 may work better on your system. With the GTK port, ALSA and OSS are preferred, followed by PulseAudio--SDL should never be used except as a last resort.

Clone this wiki locally