The Ultimate Low-Latency Audio Middleware for osu!
Experience audio latency as low as 0.6ms.
"I was hearing clicks before I even tapped." — Top Player Feedback
While osu!'s audio system suffers from a typical latency of 30~40ms, KeyASIO bypasses the Windows mixer entirely using an external ASIO / WASAPI Exclusive backend.
- ⚡ Extreme Performance: Achieves ~0.6ms latency on high-end hardware (Verified by EmertxE). Even on generic hardware, expect 8-15ms.
- 🎮 True Game Integration: Uses ReadProcessMemory to read memory safely. It's not just "pressing a key makes a sound" — it's real-time game state synchronization.
- 🎧 Rich Audio Support: Fully supports custom hitsounds, storyboard samples, dynamic volume, and skin overrides.
- 🎹 Mania Optimization: Per-key sound processing, identical to native game behavior.
KeyASIO offers two main modes. Choose the one that fits your hardware.
- I have a dedicated Soundcard (Audio Interface) / Mixer: 👉 Hardware Mix (Recommended). Lowest latency, requires hardware setup.
- I use a Laptop / Integrated Audio / No Mixer: 👉 Software Mix (FullMode). Easier setup, requires VB-CABLE.
Target: Users with >1 audio outputs (e.g., PC Line-out + dedicated soundcard) AND a physical mixer.
- Prerequisites:
- Install your Soundcard's ASIO driver or ASIO4ALL.
- A physical mixer to combine audio from osu! (Music) and KeyASIO (Hitsounds).
- Setup:
- Route osu! music to
Device A(e.g., Motherboard Line-out). - Route KeyASIO hitsounds to
Device B(e.g., External Soundcard). - Combine A and B into your mixer, then to your headphones.
- Route osu! music to
- In KeyASIO:
- Select your ASIO device in the GUI.
- Set Realtime Mode to
TRUE. - Set FullMode (EnableMusicFunctions) to
FALSE.
- In osu!:
- Set
Effect Volumeto 0. - Adjust your audio offset (likely below -40ms) to sync the audio.
- Set
Target: Users with a single soundcard (Laptops/Desktops without mixer).
- Prerequisites:
- Install VB-CABLE.
- Setup:
- Set osu! output device to
VB-Cable Input. - (Optional) If you stream, capture
VB-Cable Outputin OBS.
- Set osu! output device to
- In KeyASIO:
- Select your actual output device (Headphones/Speakers) in the GUI.
- Set FullMode (EnableMusicFunctions) to
TRUE. - Note: This mode completely replaces osu!'s audio engine.
Full options in appsettings.yaml: (Modify after program closed)
| Item | Description |
|---|---|
| Debugging | Show debug logs. |
| Device | Device configuration (Recommend to configure in GUI). |
| HitsoundPath | Default hitsound path (relative or absolute) for playing. |
| Keys | Triggering keys. See https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.keys?view=windowsdesktop-6.0 for more inforamtion. |
| RealtimeMode | If true, the software will enable memory scanning and play the right hitsounds of beatmaps. |
| RealtimeMode.AudioOffset | The offset when RealtimeMode is true (allow adjusting in GUI). |
| RealtimeMode.BalanceFactor | Balance factor. |
| RealtimeMode.IgnoreBeatmapHitsound | Ignore beatmap's hitsound and force using user skin instead. |
| RealtimeMode.IgnoreComboBreak | Ignore combo break sound. |
| RealtimeMode.IgnoreSliderTicksAndSlides | Ignore slider's ticks and slides. |
| RealtimeMode.IgnoreStoryboardSamples | Ignore beatmap's storyboard samples. |
| RealtimeMode.SliderTailPlaybackBehavior | Slider tail's playback behavior. Normal: Force to play slider tail's sounds; KeepReverse: Play only if a slider with multiple reverses; Ignore: Ignore slider tail's sounds. |
| SampleRate | Device's sample rate (allow adjusting in GUI). |
| SkinFolder | The skin folder when RealtimeMode is true. |
| VolumeEnabled | Software volume control. Disable for extremely low latency when RealtimeMode is false |
| Volume | Configured device volume. |
Is this safe for my osu! account?
KeyASIO uses a passive memory reader (similar to StreamCompanion or Gosumemory) which is generally considered safe and approved by peppy for other tools. However, use at your own risk.Why do I hear no sound in Auto mod?
If you are using Exclusive Mode, osu!'s internal clock might desync because it loses control of the audio device. This is normal behavior when bypassing the Windows Mixer. So you need to select another audio device in osu!We are currently working on a complete rewrite (KeyASIO v4).
Made with ❤️ for the osu! community.

