Audio Latency & Sound Crackle Fix Guide
Why buffer underruns cause ugly speaker buzz when games drop frames, how AAudio and ALSA eliminate button-to-sound lag, and the exact Dynamic Rate Control settings to fix stutter forever.
Audio Buffer & Latency Tuning Calculator
Calculate total button-to-speaker response delay and find the sweet spot between zero crackle and instant audio response.
Handheld Audio API Benchmarks
Tested hardware response latency and driver CPU overhead across Android and Linux.
| Audio API Driver | Hardware Latency | Target Operating System | CPU Overhead | Verdict |
|---|---|---|---|---|
| AAudio (Android 8.1+) | 12ms - 18ms | Android (RP5, Odin 2, RG406H) | Ultra Low | Best modern choice for Android handhelds. Provides near-instant sound response on button presses. |
| OpenSL ES (Android) | 35ms - 50ms | Android (Legacy & Android 11) | Low | Reliable fallback if AAudio experiences device-specific driver clicks on older Unisoc builds. |
| ALSA Direct (Linux CFW) | 6ms - 12ms | Linux (muOS, Knulli, ArkOS) | Minimal | The gold standard for low latency. Direct kernel hardware access with zero desktop sound server lag. |
| TinyALSA (Linux) | 10ms - 15ms | Miyoo Mini (OnionOS) / TrimUI | Microscopic | Designed for low-RAM embedded handhelds. Extremely light CPU footprint. |
| AudioTrack (Java Legacy) | 95ms - 150ms | Android Fallback | Medium | Avoid! Massive perceptible lag between pressing the jump button and hearing the sound effect. |
Switch to AAudio or ALSA
In RetroArch on Android: Open Settings → Driver → Audio Driver and switch from opensles to aaudio. Cuts button-to-sound lag by over 50%.
Enable Dynamic Rate Control
In RetroArch: Settings → Audio → Synchronization → Dynamic Rate Control: ON. Sets maximum rate control delta to 0.005 to silently resample audio during minor frame pacing hitches.
NetherSX2 SPU2 Async Mix
In NetherSX2 (PS2): Set Audio Settings → Synchronization Mode to Async Mix instead of Timestretch. Eliminates the high-pitched robot buzzing when heavy PS2 games drop below 60 FPS.