forum

External tool for low latency hitsounds?

posted
Total Posts
5
Topic Starter
Shizai
In the past this required Peppy to implement WASAPI/ASIO himself (or use something like https://www.reddit.com/r/osugame/comments/4ed0s3/guide_low_latency_asio_hitsounds_for_osu/ which isn't really the same) but now that there are programs that can read from the game itself it would be sick if someone could try to do something like this.

The relatively high latency of keystroke>hitsound in osu! is something that has annoyed me for a long time, and it is due to the fact that osu! uses windows "direct sound" which inherently has a large delay. Because of this delay it makes other game modes (mania, mainly) nearly unplayable with hitsounds enabled. The majority of players play with hitsounds disabled because the APM of mania is so high and the notes are so densely packed that sometimes the latency is more than an entire note's distance making it very disorienting. It's possible to compensate but that requires a lot more work.

For osu!standard (what most people reading this play, click the circles) the impact of this is much less pronounced because the APM is much lower and as such its much easier to compensate. I'm sure, however, that many of you have noticed that its considerably harder to play without headphones because of the conflicting sound of the keyboard and hitsounds, which are out of sync. This is very noticeable in many streams and youtube videos, if you're listening for it (this is NOT a recording issue, it's a game issue). The discrepancy between the keyboard press and the hitsound makes it harder to learn to stream fast because at 240BPM you're tapping every 62.5ms (I could be mistaken if so correct me, I assumed 240x4 = 960 hits/minute = 16/second = 1000/16 = 62.5ms) and the delay between keypress and hitsound is around 40ms under perfect conditions (see 2 paragraphs down)( https://osu.ppy.sh/community/forums/topics/428222 ) meaning that, like with mania, you're hitting almost an entire beat ahead of where your eyes are telling you that you're hitting, or as much as 2 beats BEHIND if your latency is bad. When you're a very experienced player you automatically compensate for this but when you're new it is very off putting. NOTE: I'm not a new player and I can stream fine and I've become used to the delay when playing standard but that doesnt change the fact that it doesnt make sense for a rhythm game to have any delay, especially as huge as it is in osu!.

I believe that many players would benefit - especially new ones - from having lower latency hitsounds. A lot of games choose not to implement hitsounds because its hard to do well but the ones that do typically offer WASAPI or ASIO support for the exact reason I've discussed, however osu! does not.

And yes, playing with your game and PC settings (like this https://www.reddit.com/r/osugame/comments/6wurk1/the_real_0ms_latency_settings_in_osu_what_they/) can reduce the delay, but the 40 I stated earlier is AFTER that. For an unoptimised system the delay is even larger. In this thread he likely reduced the latency from around 120ms to around 50ms - a hugely noticeable improvement but still not quite there.

I am a coder myself but I don't have any idea how the tools available work, and I don't know any C variants (likely the language its coded in). I'd love to be of assistance to anyone who does, though, or if anyone has any documentation on how they work that would be cool - not that I'd be able to do much with it, as I mentioned I don't know the language they use.

Players have shown that they are very willing to run and install finely tuned custom drivers to get the absolute most out of their tablets, but nobody is talking about the effective 40ms input lag of the keyboard.

Example video: https://youtu.be/bklahes1Fbs EDIT: Apologies for low volume.... With a typical Cherry MX red keyboard this delay is perceived as very slightly shorter than it is because the actuation point is before bottoming out.

TL;DR - osu! hitsounds come about 40ms after the key is pressed (after optimisation) making it harder for new players and especially hurting osu!mania (most mania players play without hitsounds because of this) so if someone can do something using the same concept as live pp trackers to play hitsounds with ASIO or WASAPI that would be sweet.
abraker
Just mute hitsounds lol. Most mania players do this. Problem solved!
Topic Starter
Shizai

abraker wrote:

Just mute hitsounds lol. Most mania players do this. Problem solved!


Did you even read the post?
FreezyLemon
Check this out (from the first link in your post).

This is a more recent example of what peppy's opinion on this is, from a discussion on whether it should be added into lazer (you should really read the whole thing).

TL;DR (see links above for source):
It probably won't change a lot about audio latency (personal experience from peppy/Tom94 suggests it does not), but it might.
It can also introduce new problems to the codebase because there can be compatibility issues and is often not implemented 100% correctly.
abraker

Shizai wrote:

abraker wrote:

Just mute hitsounds lol. Most mania players do this. Problem solved!
Did you even read the post?
Yes I did. Hitsounds in osu! have latency due to the "direct sound" audio communication interface it uses. You want the hitsounds be processed using ASIO or WASAPI because those methods have lower latency. That is nice and all, but I won't expect the change anytime soon as players have been trying to convince peppy to do this with no success. Telling someone to do it is not going to make someone do it either. Better solution is to just mute the hitsounds altogether if the patterns are so fast that the latency becomes an issue.
Please sign in to reply.

New reply